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(); } })); }
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 }); }