Exemplo n.º 1
0
        private void CreateOrdersIfNecessary(Account account, Instrument instrument)
        {
            if (_context.Orders.Count() < 5)
            {
                Order order = new Order
                {
                    ClientOrderId = "Test Order",
                    Quantity      = 100,
                    Symbol        = instrument.Symbol,
                    Account       = account,
                    OrderType     = OrderType.FillOrKill,
                    Side          = Side.Buy,
                    LimitPrice    = 100m
                };
                _context.Orders.Add(order);
                _context.OrderHistories.Add(OrderHistory.CreateFromOrder(order, "Order created", null));
                _context.SaveChanges();

                var response = new OrderControllerResponse
                {
                    OrderDetails = order,
                    ResponseType = OrderControllerResponseType.Accept
                };
                _context.OrderControllerResponses.Add(response);
                _context.SaveChanges();
            }
        }
        public async Task <ActionResult <OrderControllerResponse> > CreateOrder(Order order)
        {
            order.Account = _context.Accounts.FirstOrDefault(a => a.Name == order.Account.Name);
            _context.Orders.Add(order);
            _context.OrderHistories.Add(OrderHistory.CreateFromOrder(order, "Order created", null));
            var response = new OrderControllerResponse
            {
                OrderDetails = order, ResponseType = OrderControllerResponseType.Accept
            };

            _context.OrderControllerResponses.Add(response);
            _context.SaveChanges();
            await _hub.Clients.All.SendAsync("New Order", order);

            return(response);
        }
        public async Task CreateOrder(Order order)
        {
            order.Account = await _context.Accounts.FirstOrDefaultAsync(a => a.Name == order.Account.Name);
            await _context.Orders.AddAsync(order);
            _context.SaveChanges();
            await AddSystemHistory(order, "Order Created");
            var response = new OrderControllerResponse
            {
                OrderDetails = order,
                ResponseType = OrderControllerResponseType.Accept
            };
            await _context.OrderControllerResponses.AddAsync(response);
            _context.SaveChanges();
            await _hub.Clients.All.SendAsync("New Order", order);

        }