Пример #1
0
 private Order Convert(LiquidQuoinePlacedOrder o) //TODO: ???
 {
     return(new Order(
                o.Id.ToString(),
                o.CurrencyPairCode,
                "", //liquid doesn't supply clientOrderId field
                nameof(o.Status),
                nameof(o.OrderType),
                "", //time in force
                o.CreatedAt.ToString(),
                o.UpdatedAt.ToString(),
                o.CreatedAt.ToString(), //timestamp
                (float)o.Quantity,
                (float)o.Price
                ));
 }
 /// <summary>
 /// By default when not send user preffered fundingCurrensies, subscribes to each pair for each funding currency ("usd", "btc", "cash", "eth").
 /// </summary>
 /// <param name="onData">action on update</param>
 /// <param name="fundingCurrensies">user preffered funding currencies</param>
 public void SubscribeToUserOrdersUpdate(Action <LiquidQuoinePlacedOrder> onData, string[] fundingCurrensies = null)
 {
     if (authProvider == null)
     {
         throw new Exception("for subscribing to private channels you must provide api credentials");
     }
     if (fundingCurrensies == null || !fundingCurrensies.Any())
     {
         fundingCurrensies = new string[] { "usd", "btc", "cash", "eth" };
     }
     foreach (var fundingCurrency in fundingCurrensies)
     {
         var channel = _pusherClient.Subscribe(FillPathParameter(UserAccountOrdersEndpoint, fundingCurrency));
         channel.Bind("updated", (dynamic data) =>
         {
             string t = Convert.ToString(data);
             LiquidQuoinePlacedOrder deserialized = Deserialize <LiquidQuoinePlacedOrder>(t, false).Data;
             onData(deserialized);
         });
     }
 }