Web Service Function Try Catch 추가

This commit is contained in:
kyh
2022-10-04 11:19:36 +09:00
parent ee6cff789e
commit 5fd41cc801

View File

@@ -70,21 +70,28 @@ namespace Million.WebServices
/// <returns></returns>
public static List<MarketData> GetUpbitMarketDatas(string resResult)
{
var objectList = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(resResult.ToString());
var marKetDataList = new List<MarketData>();
foreach (var item in objectList)
try
{
var marketData = new MarketData();
marketData.CodeFullName = item["market"].ToString();
var names = marketData.CodeFullName.Split('-');
marketData.CodeName = names[1];
marketData.KorName = item["korean_name"].ToString();
marketData.Payment = names[0];
marketData.ExchangePlace =
marketData.ExchangePlace = Enum.GetName(typeof(CommonProperty.ExchangePlace), CommonProperty.ExchangePlace.Upbit);
marKetDataList.Add(marketData);
var objectList = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(resResult.ToString());
var marKetDataList = new List<MarketData>();
foreach (var item in objectList)
{
var marketData = new MarketData();
marketData.CodeFullName = item["market"].ToString();
var names = marketData.CodeFullName.Split('-');
marketData.CodeName = names[1];
marketData.KorName = item["korean_name"].ToString();
marketData.Payment = names[0];
marketData.ExchangePlace =
marketData.ExchangePlace = Enum.GetName(typeof(CommonProperty.ExchangePlace), CommonProperty.ExchangePlace.Upbit);
marKetDataList.Add(marketData);
}
return marKetDataList;
}
catch (Exception e)
{
return new List<MarketData>();
}
return marKetDataList;
}
/// <summary>
@@ -94,62 +101,70 @@ namespace Million.WebServices
/// <returns></returns>
public static Order GetOrderInformation(string resResult)
{
var data = JsonConvert.DeserializeObject<Dictionary<string, object>>(resResult.ToString());
try
{
var data = JsonConvert.DeserializeObject<Dictionary<string, object>>(resResult.ToString());
var returnData = new Order();
var returnData = new Order();
double.TryParse(data["price"]?.ToString(), out var price);
double.TryParse(data["volume"]?.ToString(), out var volume);
double.TryParse(data["remaining_volume"]?.ToString(), out var remaining_volume);
double.TryParse(data["reserved_fee"]?.ToString(), out var reserved_fee);
double.TryParse(data["remaining_fee"]?.ToString(), out var remaining_fee);
double.TryParse(data["paid_fee"]?.ToString(), out var paid_fee);
double.TryParse(data["locked"]?.ToString(), out var lockedCost);
double.TryParse(data["executed_volume"]?.ToString(), out var executed_volume);
double.TryParse(data["price"]?.ToString(), out var price);
double.TryParse(data["volume"]?.ToString(), out var volume);
double.TryParse(data["remaining_volume"]?.ToString(), out var remaining_volume);
double.TryParse(data["reserved_fee"]?.ToString(), out var reserved_fee);
double.TryParse(data["remaining_fee"]?.ToString(), out var remaining_fee);
double.TryParse(data["paid_fee"]?.ToString(), out var paid_fee);
double.TryParse(data["locked"]?.ToString(), out var lockedCost);
double.TryParse(data["executed_volume"]?.ToString(), out var executed_volume);
int.TryParse(data["trades_count"]?.ToString(), out var trades_count);
int.TryParse(data["trades_count"]?.ToString(), out var trades_count);
returnData.Uuid = data["uuid"]?.ToString();
returnData.OrderType = data["ord_type"]?.ToString();
returnData.OrderPrice = price;
returnData.Side = data["side"]?.ToString();
returnData.State = data["state"]?.ToString();
returnData.CoinFullName = data["market"]?.ToString();
returnData.CreateOrderTime = Convert.ToDateTime(data["created_at"]?.ToString());
returnData.Volume = volume;
returnData.RemainingVolume = remaining_volume;
returnData.RemainingFee = remaining_fee;
returnData.ReservedFee = reserved_fee;
returnData.PaidFee = paid_fee;
returnData.LockedCost = lockedCost;
returnData.ExecutedVolume = executed_volume;
returnData.TradeCount = trades_count;
returnData.Uuid = data["uuid"]?.ToString();
returnData.OrderType = data["ord_type"]?.ToString();
returnData.OrderPrice = price;
returnData.Side = data["side"]?.ToString();
returnData.State = data["state"]?.ToString();
returnData.CoinFullName = data["market"]?.ToString();
returnData.CreateOrderTime = Convert.ToDateTime(data["created_at"]?.ToString());
returnData.Volume = volume;
returnData.RemainingVolume = remaining_volume;
returnData.RemainingFee = remaining_fee;
returnData.ReservedFee = reserved_fee;
returnData.PaidFee = paid_fee;
returnData.LockedCost = lockedCost;
returnData.ExecutedVolume = executed_volume;
returnData.TradeCount = trades_count;
if (data.ContainsKey("trades")){
var tradeList = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(JsonConvert.SerializeObject(data["trades"]?.ToString()));
if (data.ContainsKey("trades"))
{
var tradeList = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(JsonConvert.SerializeObject(data["trades"]?.ToString()));
//(List<Dictionary<string, object>>)data["trades"];
foreach (var item in tradeList)
{
var trade = new Trade();
trade.CoinFullName = item["market"]?.ToString();
trade.Uuid = item["uuid"]?.ToString();
trade.Side = item["side"]?.ToString();
foreach (var item in tradeList)
{
var trade = new Trade();
trade.CoinFullName = item["market"]?.ToString();
trade.Uuid = item["uuid"]?.ToString();
trade.Side = item["side"]?.ToString();
double.TryParse(item["price"]?.ToString(), out var priceData);
double.TryParse(item["volume"]?.ToString(), out var volumeData);
double.TryParse(item["funds"]?.ToString(), out var funds);
double.TryParse(item["price"]?.ToString(), out var priceData);
double.TryParse(item["volume"]?.ToString(), out var volumeData);
double.TryParse(item["funds"]?.ToString(), out var funds);
trade.Price = priceData;
trade.Volume = volumeData;
trade.TotalPrice = funds;
trade.Price = priceData;
trade.Volume = volumeData;
trade.TotalPrice = funds;
returnData.TradeList.Add(trade);
returnData.TradeList.Add(trade);
}
}
}
return returnData;
return returnData;
}
catch (Exception e)
{
return new Order();
}
}
/// <summary>
@@ -159,33 +174,40 @@ namespace Million.WebServices
/// <returns></returns>
public static List<Conclusion> GetConclusionList(string resResult)
{
var datas = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(resResult.ToString());
var returnData = new List<Conclusion>();
foreach(var item in datas)
try
{
double.TryParse(item["trade_price"]?.ToString(), out var trade_price);
double.TryParse(item["trade_volume"]?.ToString(), out var trade_volume);
double.TryParse(item["prev_closing_price"]?.ToString(), out var prev_closing_price);
double.TryParse(item["change_price"]?.ToString(), out var change_price);
long.TryParse(item["sequential_id"]?.ToString(), out var sequential_id);
var dateTimeStr = item["trade_date_utc"]?.ToString() + " " + item["trade_time_utc"]?.ToString();
var datas = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(resResult.ToString());
var data = new Conclusion();
data.CoinfullName = item["market"]?.ToString();
data.TradeTime = Convert.ToDateTime(dateTimeStr).ToUniversalTime();
data.TradePrice = trade_price;
data.TradeVolume = trade_volume;
data.BeforeDayClosePrice = prev_closing_price;
data.ChangePrice = change_price;
data.OrderType = item["ask_bid"]?.ToString();
data.SequenceId = sequential_id;
var returnData = new List<Conclusion>();
returnData.Add(data);
foreach (var item in datas)
{
double.TryParse(item["trade_price"]?.ToString(), out var trade_price);
double.TryParse(item["trade_volume"]?.ToString(), out var trade_volume);
double.TryParse(item["prev_closing_price"]?.ToString(), out var prev_closing_price);
double.TryParse(item["change_price"]?.ToString(), out var change_price);
long.TryParse(item["sequential_id"]?.ToString(), out var sequential_id);
var dateTimeStr = item["trade_date_utc"]?.ToString() + " " + item["trade_time_utc"]?.ToString();
var data = new Conclusion();
data.CoinfullName = item["market"]?.ToString();
data.TradeTime = Convert.ToDateTime(dateTimeStr).ToUniversalTime();
data.TradePrice = trade_price;
data.TradeVolume = trade_volume;
data.BeforeDayClosePrice = prev_closing_price;
data.ChangePrice = change_price;
data.OrderType = item["ask_bid"]?.ToString();
data.SequenceId = sequential_id;
returnData.Add(data);
}
return returnData;
}
catch (Exception e)
{
return new List<Conclusion>();
}
return returnData;
}
/// <summary>
@@ -197,44 +219,53 @@ namespace Million.WebServices
{
var returnData = new List<OrderBook>();
var datas = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(resResult.ToString());
foreach (var item in datas)
try
{
var data = new OrderBook();
string timestamp = item["timestamp"]?.ToString();
var dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();
var doubleData = Convert.ToDouble(timestamp);
double.TryParse(item["total_ask_size"]?.ToString(), out var total_ask_size);
double.TryParse(item["total_bid_size"]?.ToString(), out var total_bid_size);
data.CoinFullName = item["market"]?.ToString();
data.CreateOrderBookDateTime = dateTime.AddMilliseconds(doubleData);
data.TotalBuySize = total_bid_size;
data.TotalSellSize = total_ask_size;
var list = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(JsonConvert.SerializeObject(item["orderbook_units"]));
if(list != null)
var datas = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(resResult.ToString());
foreach (var item in datas)
{
foreach(var order in list)
{
double.TryParse(order["ask_price"]?.ToString(), out var ask_price);
double.TryParse(order["bid_price"]?.ToString(), out var bid_price);
double.TryParse(order["ask_size"]?.ToString(), out var ask_size);
double.TryParse(order["bid_size"]?.ToString(), out var bid_size);
var data = new OrderBook();
string timestamp = item["timestamp"]?.ToString();
var dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();
var doubleData = Convert.ToDouble(timestamp);
var unit = new Unit();
unit.BuyPrice = bid_price;
unit.BuySize = bid_size;
unit.SellPrice = ask_price;
unit.SellSize = ask_size;
data.UnitList.Add(unit);
double.TryParse(item["total_ask_size"]?.ToString(), out var total_ask_size);
double.TryParse(item["total_bid_size"]?.ToString(), out var total_bid_size);
data.CoinFullName = item["market"]?.ToString();
data.CreateOrderBookDateTime = dateTime.AddMilliseconds(doubleData);
data.TotalBuySize = total_bid_size;
data.TotalSellSize = total_ask_size;
var list = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(JsonConvert.SerializeObject(item["orderbook_units"]));
if (list != null)
{
foreach (var order in list)
{
double.TryParse(order["ask_price"]?.ToString(), out var ask_price);
double.TryParse(order["bid_price"]?.ToString(), out var bid_price);
double.TryParse(order["ask_size"]?.ToString(), out var ask_size);
double.TryParse(order["bid_size"]?.ToString(), out var bid_size);
var unit = new Unit();
unit.BuyPrice = bid_price;
unit.BuySize = bid_size;
unit.SellPrice = ask_price;
unit.SellSize = ask_size;
data.UnitList.Add(unit);
}
}
returnData.Add(data);
}
returnData.Add(data);
return returnData;
}
return returnData;
catch (Exception e)
{
return returnData;
}
}
/// <summary>
@@ -244,60 +275,64 @@ namespace Million.WebServices
/// <returns></returns>
public static List<Ticker> GetTickerList(string resResult)
{
var returnData = new List<Ticker>();
try
{
var returnData = new List<Ticker>();
var datas = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(resResult.ToString());
var dateTimeData = DateTime.Now;
foreach (var item in datas)
{
double.TryParse(item["opening_price"]?.ToString(), out var opening_price);
double.TryParse(item["high_price"]?.ToString(), out var high_price);
double.TryParse(item["low_price"]?.ToString(), out var low_price);
double.TryParse(item["trade_price"]?.ToString(), out var trade_price);
double.TryParse(item["prev_closing_price"]?.ToString(), out var prev_closing_price);
double.TryParse(item["change_price"]?.ToString(), out var change_price);
double.TryParse(item["change_rate"]?.ToString(), out var change_rate);
double.TryParse(item["signed_change_price"]?.ToString(), out var signed_change_price);
double.TryParse(item["signed_change_rate"]?.ToString(), out var signed_change_rate);
double.TryParse(item["trade_volume"]?.ToString(), out var trade_volume);
double.TryParse(item["acc_trade_price"]?.ToString(), out var acc_trade_price);
double.TryParse(item["acc_trade_price_24h"]?.ToString(), out var acc_trade_price_24h);
double.TryParse(item["acc_trade_volume"]?.ToString(), out var acc_trade_volume);
double.TryParse(item["acc_trade_volume_24h"]?.ToString(), out var acc_trade_volume_24h);
double.TryParse(item["highest_52_week_price"]?.ToString(), out var highest_52_week_price);
double.TryParse(item["lowest_52_week_price"]?.ToString(), out var lowest_52_week_price);
if (resResult.ToString().Contains("Too")) return null;
var dateStr = item["trade_date"]?.ToString() + item["trade_time"]?.ToString();
var datas = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(resResult.ToString());
var dateTimeData = DateTime.Now;
foreach (var item in datas)
{
double.TryParse(item["opening_price"]?.ToString(), out var opening_price);
double.TryParse(item["high_price"]?.ToString(), out var high_price);
double.TryParse(item["low_price"]?.ToString(), out var low_price);
double.TryParse(item["trade_price"]?.ToString(), out var trade_price);
double.TryParse(item["prev_closing_price"]?.ToString(), out var prev_closing_price);
double.TryParse(item["change_price"]?.ToString(), out var change_price);
double.TryParse(item["change_rate"]?.ToString(), out var change_rate);
double.TryParse(item["signed_change_price"]?.ToString(), out var signed_change_price);
double.TryParse(item["signed_change_rate"]?.ToString(), out var signed_change_rate);
double.TryParse(item["trade_volume"]?.ToString(), out var trade_volume);
double.TryParse(item["acc_trade_price"]?.ToString(), out var acc_trade_price);
double.TryParse(item["acc_trade_price_24h"]?.ToString(), out var acc_trade_price_24h);
double.TryParse(item["acc_trade_volume"]?.ToString(), out var acc_trade_volume);
double.TryParse(item["acc_trade_volume_24h"]?.ToString(), out var acc_trade_volume_24h);
double.TryParse(item["highest_52_week_price"]?.ToString(), out var highest_52_week_price);
double.TryParse(item["lowest_52_week_price"]?.ToString(), out var lowest_52_week_price);
var data = new Ticker();
data.CodeFullName = item["market"]?.ToString();
data.TradeDateTime = DateTime.ParseExact(dateStr, "yyyyMMddHHmmss", null);
data.OpeningPrice = opening_price;
data.HighPrice = high_price;
data.LowPrice = low_price;
data.TradePrice = trade_price;
data.BeforeDayClosePrice = prev_closing_price;
data.TrendType = item["change"]?.ToString();
data.AbsoluteChangePrice = change_price;
data.AbsoluteChangeRate = change_rate;
data.SignedChangePrice = signed_change_price;
data.SignedChangeRate = signed_change_rate;
data.TradeVolume = trade_volume;
data.AccumulateTradePrice = acc_trade_price;
data.AccumulateTradePrice24 = acc_trade_price_24h;
data.AccumulateTradeVolume = acc_trade_volume;
data.AccumulateTradeVolume24 = acc_trade_volume_24h;
data.HighstPriceOf52Week = highest_52_week_price;
data.HighstPriceDateOf52Week = Convert.ToDateTime(item["highest_52_week_date"]?.ToString()).ToUniversalTime();
data.LowstPriceOf52Week = lowest_52_week_price;
data.LowstPriceDateOf52Week = Convert.ToDateTime(item["lowest_52_week_date"]?.ToString()).ToUniversalTime();
data.DateTime = dateTimeData;
returnData.Add(data);
}
var dateStr = item["trade_date"]?.ToString() + item["trade_time"]?.ToString();
var data = new Ticker();
data.CodeFullName = item["market"]?.ToString();
data.TradeDateTime = DateTime.ParseExact(dateStr, "yyyyMMddHHmmss", null);
data.OpeningPrice = opening_price;
data.HighPrice = high_price;
data.LowPrice = low_price;
data.TradePrice = trade_price;
data.BeforeDayClosePrice = prev_closing_price;
data.TrendType = item["change"]?.ToString();
data.AbsoluteChangePrice = change_price;
data.AbsoluteChangeRate = change_rate;
data.SignedChangePrice = signed_change_price;
data.SignedChangeRate = signed_change_rate;
data.TradeVolume = trade_volume;
data.AccumulateTradePrice = acc_trade_price;
data.AccumulateTradePrice24 = acc_trade_price_24h;
data.AccumulateTradeVolume = acc_trade_volume;
data.AccumulateTradeVolume24 = acc_trade_volume_24h;
data.HighstPriceOf52Week = highest_52_week_price;
data.HighstPriceDateOf52Week = Convert.ToDateTime(item["highest_52_week_date"]?.ToString()).ToUniversalTime();
data.LowstPriceOf52Week = lowest_52_week_price;
data.LowstPriceDateOf52Week = Convert.ToDateTime(item["lowest_52_week_date"]?.ToString()).ToUniversalTime();
data.DateTime = dateTimeData;
returnData.Add(data);
return returnData;
}
catch (Exception e)
{
return new List<Ticker>();
}
return returnData;
}
/// <summary>
@@ -305,39 +340,46 @@ namespace Million.WebServices
/// </summary>
public static Order TryOrder(string resResult)
{
var returnData = new Order();
try
{
var returnData = new Order();
var data = JsonConvert.DeserializeObject<Dictionary<string, object>>(resResult.ToString());
double.TryParse(data["price"]?.ToString(), out var price);
double.TryParse(data["volume"]?.ToString(), out var volume);
double.TryParse(data["remaining_volume"]?.ToString(), out var remaining_volume);
double.TryParse(data["reserved_fee"]?.ToString(), out var reserved_fee);
double.TryParse(data["remaining_fee"]?.ToString(), out var remaining_fee);
double.TryParse(data["paid_fee"]?.ToString(), out var paid_fee);
double.TryParse(data["locked"]?.ToString(), out var lockedCost);
double.TryParse(data["executed_volume"]?.ToString(), out var executed_volume);
double.TryParse(data["avg_price"]?.ToString(), out var avg_price);
var data = JsonConvert.DeserializeObject<Dictionary<string, object>>(resResult.ToString());
double.TryParse(data["price"]?.ToString(), out var price);
double.TryParse(data["volume"]?.ToString(), out var volume);
double.TryParse(data["remaining_volume"]?.ToString(), out var remaining_volume);
double.TryParse(data["reserved_fee"]?.ToString(), out var reserved_fee);
double.TryParse(data["remaining_fee"]?.ToString(), out var remaining_fee);
double.TryParse(data["paid_fee"]?.ToString(), out var paid_fee);
double.TryParse(data["locked"]?.ToString(), out var lockedCost);
double.TryParse(data["executed_volume"]?.ToString(), out var executed_volume);
double.TryParse(data["avg_price"]?.ToString(), out var avg_price);
int.TryParse(data["trades_count"]?.ToString(), out var trades_count);
int.TryParse(data["trades_count"]?.ToString(), out var trades_count);
returnData.Uuid = data["uuid"]?.ToString();
returnData.OrderType = data["ord_type"]?.ToString();
returnData.OrderPrice = price;
returnData.AveragePrice = avg_price;
returnData.Side = data["side"]?.ToString();
returnData.State = data["state"]?.ToString();
returnData.CoinFullName = data["market"]?.ToString();
returnData.CreateOrderTime = Convert.ToDateTime(data["created_at"]?.ToString());
returnData.Volume = volume;
returnData.RemainingVolume = remaining_volume;
returnData.RemainingFee = remaining_fee;
returnData.ReservedFee = reserved_fee;
returnData.PaidFee = paid_fee;
returnData.LockedCost = lockedCost;
returnData.ExecutedVolume = executed_volume;
returnData.TradeCount = trades_count;
returnData.Uuid = data["uuid"]?.ToString();
returnData.OrderType = data["ord_type"]?.ToString();
returnData.OrderPrice = price;
returnData.AveragePrice = avg_price;
returnData.Side = data["side"]?.ToString();
returnData.State = data["state"]?.ToString();
returnData.CoinFullName = data["market"]?.ToString();
returnData.CreateOrderTime = Convert.ToDateTime(data["created_at"]?.ToString());
returnData.Volume = volume;
returnData.RemainingVolume = remaining_volume;
returnData.RemainingFee = remaining_fee;
returnData.ReservedFee = reserved_fee;
returnData.PaidFee = paid_fee;
returnData.LockedCost = lockedCost;
returnData.ExecutedVolume = executed_volume;
returnData.TradeCount = trades_count;
return returnData;
return returnData;
}
catch (Exception e)
{
return new Order();
}
}
/// <summary>
@@ -346,43 +388,50 @@ namespace Million.WebServices
/// <returns></returns>
public static List<Order> GetOrderListInformation(string resResult)
{
var returnData = new List<Order>();
var datas = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(resResult.ToString());
foreach(var item in datas)
try
{
var returnData = new List<Order>();
double.TryParse(item["price"]?.ToString(), out var price);
double.TryParse(item["volume"]?.ToString(), out var volume);
double.TryParse(item["remaining_volume"]?.ToString(), out var remaining_volume);
double.TryParse(item["reserved_fee"]?.ToString(), out var reserved_fee);
double.TryParse(item["remaining_fee"]?.ToString(), out var remaining_fee);
double.TryParse(item["paid_fee"]?.ToString(), out var paid_fee);
double.TryParse(item["locked"]?.ToString(), out var lockedCost);
double.TryParse(item["executed_volume"]?.ToString(), out var executed_volume);
int.TryParse(item["trades_count"]?.ToString(), out var trades_count);
var datas = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(resResult.ToString());
var data = new Order();
data.Uuid = item["uuid"]?.ToString();
data.Side = item["side"]?.ToString();
data.OrderType = item["ord_type"]?.ToString();
data.OrderPrice = price;
data.State = item["state"]?.ToString();
data.CoinFullName = item["market"]?.ToString();
data.CreateOrderTime = Convert.ToDateTime(item["created_at"]?.ToString());
data.Volume = volume;
data.RemainingVolume = remaining_volume;
data.RemainingFee = remaining_fee;
data.ReservedFee = reserved_fee;
data.PaidFee = paid_fee;
data.LockedCost = lockedCost;
data.ExecutedVolume = executed_volume;
data.TradeCount = trades_count;
returnData.Add(data);
foreach (var item in datas)
{
double.TryParse(item["price"]?.ToString(), out var price);
double.TryParse(item["volume"]?.ToString(), out var volume);
double.TryParse(item["remaining_volume"]?.ToString(), out var remaining_volume);
double.TryParse(item["reserved_fee"]?.ToString(), out var reserved_fee);
double.TryParse(item["remaining_fee"]?.ToString(), out var remaining_fee);
double.TryParse(item["paid_fee"]?.ToString(), out var paid_fee);
double.TryParse(item["locked"]?.ToString(), out var lockedCost);
double.TryParse(item["executed_volume"]?.ToString(), out var executed_volume);
int.TryParse(item["trades_count"]?.ToString(), out var trades_count);
var data = new Order();
data.Uuid = item["uuid"]?.ToString();
data.Side = item["side"]?.ToString();
data.OrderType = item["ord_type"]?.ToString();
data.OrderPrice = price;
data.State = item["state"]?.ToString();
data.CoinFullName = item["market"]?.ToString();
data.CreateOrderTime = Convert.ToDateTime(item["created_at"]?.ToString());
data.Volume = volume;
data.RemainingVolume = remaining_volume;
data.RemainingFee = remaining_fee;
data.ReservedFee = reserved_fee;
data.PaidFee = paid_fee;
data.LockedCost = lockedCost;
data.ExecutedVolume = executed_volume;
data.TradeCount = trades_count;
returnData.Add(data);
}
return returnData;
}
catch (Exception e)
{
return new List<Order>();
}
return returnData;
}
/// <summary>
@@ -390,73 +439,80 @@ namespace Million.WebServices
/// </summary>
/// <param name="resResult"></param>
/// <returns></returns>
public static OrderableInformation GetOrderableInformation(string resResult)
public static OrderableInformation GetOrderableInformation(string resResult)
{
var returnData = new OrderableInformation();
var data = JsonConvert.DeserializeObject<Dictionary<string, object>>(resResult.ToString());
try
{
var returnData = new OrderableInformation();
var data = JsonConvert.DeserializeObject<Dictionary<string, object>>(resResult.ToString());
double.TryParse(data["bid_fee"]?.ToString(), out var buyFeeRate);
returnData.BuyFeeRate = buyFeeRate;
double.TryParse(data["bid_fee"]?.ToString(), out var buyFeeRate);
returnData.BuyFeeRate = buyFeeRate;
double.TryParse(data["ask_fee"]?.ToString(), out var sellFeeRate);
returnData.SellFeeRate = sellFeeRate;
double.TryParse(data["ask_fee"]?.ToString(), out var sellFeeRate);
returnData.SellFeeRate = sellFeeRate;
var market = JsonConvert.DeserializeObject<Dictionary<string, object>>(JsonConvert.SerializeObject(data["market"]?.ToString()));
var buyAccount = JsonConvert.DeserializeObject<Dictionary<string, object>>(JsonConvert.SerializeObject(data["bid_account"]?.ToString()));
var sellAccount = JsonConvert.DeserializeObject<Dictionary<string, object>>(JsonConvert.SerializeObject(data["ask_account"]?.ToString()));
var market = JsonConvert.DeserializeObject<Dictionary<string, object>>(JsonConvert.SerializeObject(data["market"]?.ToString()));
var buyAccount = JsonConvert.DeserializeObject<Dictionary<string, object>>(JsonConvert.SerializeObject(data["bid_account"]?.ToString()));
var sellAccount = JsonConvert.DeserializeObject<Dictionary<string, object>>(JsonConvert.SerializeObject(data["ask_account"]?.ToString()));
//market
returnData.Market.CoinFullName = market["id"]?.ToString();
returnData.Market.Name = market["name"]?.ToString();
returnData.Market.OrderTypes = JsonConvert.DeserializeObject<List<string>>(JsonConvert.SerializeObject(market["order_types"]?.ToString()));
returnData.Market.OrderSides = JsonConvert.DeserializeObject<List<string>>(JsonConvert.SerializeObject(market["order_sides"]?.ToString()));
//market
returnData.Market.CoinFullName = market["id"]?.ToString();
returnData.Market.Name = market["name"]?.ToString();
returnData.Market.OrderTypes = JsonConvert.DeserializeObject<List<string>>(JsonConvert.SerializeObject(market["order_types"]?.ToString()));
returnData.Market.OrderSides = JsonConvert.DeserializeObject<List<string>>(JsonConvert.SerializeObject(market["order_sides"]?.ToString()));
var buyRestrictions = JsonConvert.DeserializeObject<Dictionary<string, object>>(JsonConvert.SerializeObject(market["bid"]?.ToString()));
var buyRestrictions = JsonConvert.DeserializeObject<Dictionary<string, object>>(JsonConvert.SerializeObject(market["bid"]?.ToString()));
returnData.Market.BuyRestrictions.Currency = buyRestrictions["currency"]?.ToString();
returnData.Market.BuyRestrictions.PriceUnit = buyRestrictions["price_unit"]?.ToString();
returnData.Market.BuyRestrictions.Currency = buyRestrictions["currency"]?.ToString();
returnData.Market.BuyRestrictions.PriceUnit = buyRestrictions["price_unit"]?.ToString();
double.TryParse(buyRestrictions["min_total"]?.ToString(), out var buyMintotal);
returnData.Market.BuyRestrictions.MinimumAmount = buyMintotal;
double.TryParse(buyRestrictions["min_total"]?.ToString(), out var buyMintotal);
returnData.Market.BuyRestrictions.MinimumAmount = buyMintotal;
var sellRestrictions = JsonConvert.DeserializeObject<Dictionary<string, object>>(JsonConvert.SerializeObject(market["ask"]?.ToString()));
var sellRestrictions = JsonConvert.DeserializeObject<Dictionary<string, object>>(JsonConvert.SerializeObject(market["ask"]?.ToString()));
returnData.Market.SellRestrictions.Currency = sellRestrictions["currency"]?.ToString();
returnData.Market.SellRestrictions.PriceUnit = sellRestrictions["price_unit"]?.ToString();
returnData.Market.SellRestrictions.Currency = sellRestrictions["currency"]?.ToString();
returnData.Market.SellRestrictions.PriceUnit = sellRestrictions["price_unit"]?.ToString();
double.TryParse(sellRestrictions["min_total"]?.ToString(), out var sellMintotal);
returnData.Market.SellRestrictions.MinimumAmount = sellMintotal;
returnData.Market.State = market["state"]?.ToString();
double.TryParse(sellRestrictions["min_total"]?.ToString(), out var sellMintotal);
returnData.Market.SellRestrictions.MinimumAmount = sellMintotal;
returnData.Market.State = market["state"]?.ToString();
//buy Account
returnData.BuyAccount.Currency = buyAccount["currency"]?.ToString();
returnData.BuyAccount.UnitCurrency = buyAccount["unit_currency"]?.ToString();
//buy Account
returnData.BuyAccount.Currency = buyAccount["currency"]?.ToString();
returnData.BuyAccount.UnitCurrency = buyAccount["unit_currency"]?.ToString();
double.TryParse(buyAccount["balance"]?.ToString(), out var balance);
double.TryParse(buyAccount["locked"]?.ToString(), out var locked);
double.TryParse(buyAccount["avg_buy_price"]?.ToString(), out var avgBuyPrice);
bool.TryParse(buyAccount["avg_buy_price_modified"]?.ToString(), out var avgBuyPriceFlag);
double.TryParse(buyAccount["balance"]?.ToString(), out var balance);
double.TryParse(buyAccount["locked"]?.ToString(), out var locked);
double.TryParse(buyAccount["avg_buy_price"]?.ToString(), out var avgBuyPrice);
bool.TryParse(buyAccount["avg_buy_price_modified"]?.ToString(), out var avgBuyPriceFlag);
returnData.BuyAccount.Balance = balance;
returnData.BuyAccount.LockedDuringOrder = locked;
returnData.BuyAccount.AvgBuyPrice = avgBuyPrice;
returnData.BuyAccount.AvgBuyPriceFlag = avgBuyPriceFlag;
returnData.BuyAccount.Balance = balance;
returnData.BuyAccount.LockedDuringOrder = locked;
returnData.BuyAccount.AvgBuyPrice = avgBuyPrice;
returnData.BuyAccount.AvgBuyPriceFlag = avgBuyPriceFlag;
//sell Account
returnData.SellAccount.Currency = sellAccount["currency"]?.ToString();
returnData.SellAccount.UnitCurrency = sellAccount["unit_currency"]?.ToString();
//sell Account
returnData.SellAccount.Currency = sellAccount["currency"]?.ToString();
returnData.SellAccount.UnitCurrency = sellAccount["unit_currency"]?.ToString();
double.TryParse(sellAccount["balance"]?.ToString(), out balance);
double.TryParse(sellAccount["locked"]?.ToString(), out locked);
double.TryParse(sellAccount["avg_buy_price"]?.ToString(), out avgBuyPrice);
bool.TryParse(sellAccount["avg_buy_price_modified"]?.ToString(), out avgBuyPriceFlag);
double.TryParse(sellAccount["balance"]?.ToString(), out balance);
double.TryParse(sellAccount["locked"]?.ToString(), out locked);
double.TryParse(sellAccount["avg_buy_price"]?.ToString(), out avgBuyPrice);
bool.TryParse(sellAccount["avg_buy_price_modified"]?.ToString(), out avgBuyPriceFlag);
returnData.SellAccount.Balance = balance;
returnData.SellAccount.LockedDuringOrder = locked;
returnData.SellAccount.AvgBuyPrice = avgBuyPrice;
returnData.SellAccount.AvgBuyPriceFlag = avgBuyPriceFlag;
returnData.SellAccount.Balance = balance;
returnData.SellAccount.LockedDuringOrder = locked;
returnData.SellAccount.AvgBuyPrice = avgBuyPrice;
returnData.SellAccount.AvgBuyPriceFlag = avgBuyPriceFlag;
return returnData;
return returnData;
}
catch (Exception e)
{
return new OrderableInformation();
}
}
/// <summary>
@@ -466,26 +522,33 @@ namespace Million.WebServices
/// <returns></returns>
public static List<Account> GetAccounts(string resResult)
{
var objectList = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(resResult.ToString());
var accountList = new List<Account>();
foreach(var item in objectList)
try
{
double.TryParse(item["balance"]?.ToString(), out var balance);
double.TryParse(item["locked"]?.ToString(), out var locked);
double.TryParse(item["avg_buy_price"]?.ToString(), out var avg_buy_price);
bool.TryParse(item["avg_buy_price_modified"]?.ToString(), out var avg_buy_price_modified);
var objectList = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(resResult.ToString());
var accountList = new List<Account>();
foreach (var item in objectList)
{
double.TryParse(item["balance"]?.ToString(), out var balance);
double.TryParse(item["locked"]?.ToString(), out var locked);
double.TryParse(item["avg_buy_price"]?.ToString(), out var avg_buy_price);
bool.TryParse(item["avg_buy_price_modified"]?.ToString(), out var avg_buy_price_modified);
var account = new Account();
account.Currency = item["currency"]?.ToString();
account.UnitCurrency = item["unit_currency"]?.ToString();
account.Balance = balance;
account.Locked = locked;
account.AvgBuyPrice = avg_buy_price;
account.AvgBuyPriceFlag = avg_buy_price_modified;
accountList.Add(account);
var account = new Account();
account.Currency = item["currency"]?.ToString();
account.UnitCurrency = item["unit_currency"]?.ToString();
account.Balance = balance;
account.Locked = locked;
account.AvgBuyPrice = avg_buy_price;
account.AvgBuyPriceFlag = avg_buy_price_modified;
accountList.Add(account);
}
return accountList;
}
catch (Exception e)
{
return new List<Account>();
}
return accountList;
}
/// <summary>
@@ -508,8 +571,8 @@ namespace Million.WebServices
double.TryParse(item["high_price"]?.ToString(), out var highValue);
double.TryParse(item["low_price"]?.ToString(), out var lowValue);
//이거는 확인 필요
double.TryParse(item["candle_acc_trade_price"]?.ToString(), out var moneyVolume);
double.TryParse(item["candle_acc_trade_price"]?.ToString(), out var moneyVolume);
candleList.Add(new CandleData()
{
DateTime = Convert.ToDateTime(item["candle_date_time_kst"]?.ToString()),