public override void InitializeOrdersPool(IList <Order> orders) { _list = orders; // Rerender HTML observer OrdersUpdate?.Invoke(GetAllOrders()); }
public async Task <IActionResult> PutOrders(long id, OrderDTO orderDTO) { var orderUpdate = new OrdersUpdate { Id = id, OrderDTO = orderDTO }; return(await orderUpdate.Excute()); }
/// <summary> /// Orders subscription handler /// </summary> /// <param name="jt"></param> private void ProcessOrdersMessage(JToken jt) { var payload = jt["result"]["data"]["value"]["payload"]; if (jt["result"]["data"]["value"].Value <string>("type") == "snapshot") { foreach (var item in payload.Children()) { var order = item.First(); OrdersUpdate t = new OrdersUpdate { InstrumentId = order.Value <int>("instrument"), AccountId = order.Value <long>("accountId"), OrderId = order.Value <long>("id"), Status = order.Value <string>("status"), Side = order.Value <string>("side") == "BUY" ? Side.BUY : Side.SELL, OrderType = order.Value <string>("type") == "LIMIT" ? OrderType.LIMIT : OrderType.POST_ONLY, TimeInForce = order.Value <string>("timeInForce") == "GTC" ? TimeInForce.GTC : order.Value <string>("timeInForce") == "IOC" ? TimeInForce.IOC : TimeInForce.FOK, InitialSize = order.Value <decimal>("initialSize"), RemainingSize = order.Value <decimal>("remainingSize"), Price = GetDecimal(order["price"]), CreationTime = GetTimeUTC(order["creationTime"]), UpdateTime = GetTimeUTC(order["updateTime"]), IsSnapshot = true, }; Orders?.Invoke(this, t); } } else { var order = payload; OrdersUpdate t = new OrdersUpdate { InstrumentId = order.Value <int>("instrument"), AccountId = order.Value <long>("accountId"), OrderId = order.Value <long>("id"), Status = order.Value <string>("status"), Side = order.Value <string>("side") == "BUY" ? Side.BUY : Side.SELL, OrderType = order.Value <string>("type") == "LIMIT" ? OrderType.LIMIT : OrderType.POST_ONLY, TimeInForce = order.Value <string>("timeInForce") == "GTC" ? TimeInForce.GTC : order.Value <string>("timeInForce") == "IOC" ? TimeInForce.IOC : TimeInForce.FOK, InitialSize = order.Value <decimal>("initialSize"), RemainingSize = order.Value <decimal>("remainingSize"), Price = GetDecimal(order["price"]), CreationTime = GetTimeUTC(order["creationTime"]), UpdateTime = GetTimeUTC(order["updateTime"]), IsSnapshot = false }; Orders?.Invoke(this, t); } }
public override void AddOrder(string jsonPayload) { Console.WriteLine($"OrderService -> AddOrder : {jsonPayload}"); var orderToCreate = JsonConvert.DeserializeObject <Order>(jsonPayload); // Call Data Layer and store the order into database if (!_list.Contains(orderToCreate)) { _list.Add(orderToCreate); } // Rerender HTML observer OrdersUpdate?.Invoke(GetAllOrders()); }