Beispiel #1
0
        public OperationResult SaveNewOpenTrade(NewOpenTradesEvent openTradesEvent)
        {
            return(InvokeOperations.InvokeOperation(() =>
            {
                foreach (var openTrades in openTradesEvent.OpenTrades)
                {
                    var existsTrades = context.ManagersAccountsOpenTrades
                                       .Where(x => x.ManagerAccountId == openTrades.ManagerAccountId)
                                       .ToList();
                    context.RemoveRange(existsTrades);

                    foreach (var trades in openTrades.Trades)
                    {
                        var t = new ManagersAccountsOpenTrades
                        {
                            Id = Guid.NewGuid(),
                            DateUpdateFromTradePlatform = DateTime.UtcNow,
                            ManagerAccountId = openTrades.ManagerAccountId,

                            Ticket = trades.Ticket,
                            Symbol = trades.Symbol,
                            Profit = trades.Price,
                            Price = trades.Price,
                            Direction = trades.Direction,
                            DateOpenOrder = trades.Date,
                            Volume = trades.Volume
                        };
                        context.Add(t);
                    }
                    context.SaveChanges();
                }
            }));
        }
Beispiel #2
0
 public static OpenOrderModel ToOpenOrder(this ManagersAccountsOpenTrades trade)
 {
     return(new OpenOrderModel
     {
         Id = trade.Id,
         Date = trade.DateOpenOrder,
         Profit = trade.Profit,
         Price = trade.Price,
         Direction = trade.Direction,
         Volume = trade.Volume,
         Ticket = trade.Ticket,
         Symbol = trade.Symbol
     });
 }