private void loadMoney(Trade trade) { foreach (var money in trade.TradeMoneys.ToList()) { TradeSideEnum side = trade.GetTradeSide(money.EntityID); if (side == TradeSideEnum.Destination) { DestinationItems.Add(new MoneyForTradeViewModel(money, TradeStatus)); } else { SourceItems.Add(new MoneyForTradeViewModel(money, TradeStatus)); } } }
private void loadProducts(Trade trade) { foreach (var item in trade.TradeProducts.ToList()) { TradeSideEnum side = trade.GetTradeSide(item.EntityID); if (side == TradeSideEnum.Destination) { DestinationItems.Add(new ProductForTradeViewModel(item, TradeStatus)); } else { SourceItems.Add(new ProductForTradeViewModel(item, TradeStatus)); } } }
protected override void OnSaving() { foreach (var item in Items) { var destnation = DestinationItems.FirstOrDefault(x => x.Item == item.Item); if (destnation == null) { destnation = ObjectSpace.CreateObject <InventoryTransferDestinationItem>(); destnation.InventoryTransfer = item.InventoryTransfer; destnation.Item = item.Item; DestinationItems.Add(destnation); } destnation.TransactionUnit = item.TransactionUnit; destnation.Quantity = item.Quantity; item.Price = item.Price; } base.OnSaving(); }
public TradeViewModel(Trade trade, IEnumerable <EquipmentItem> items, IEnumerable <WalletMoney> moneys, ITradeService tradeService) { ID = trade.ID; MoneyToTrade = moneys.ToList().Select(m => new MoneyTradeViewModel(m)).ToList(); ProductToTrade = items.ToList().Select(i => new ProductTradeViewModel(i)).ToList(); SourceName = trade.Source?.Name; SourceImage = new ImageViewModel(trade.Source?.ImgUrl); SourceID = trade.SourceEntityID; DestinationImage = new ImageViewModel(trade?.Destination?.ImgUrl); DestinationName = trade.Destination?.Name; DestinationID = trade.DestinationEntityID; SourceAccepted = trade.SourceAccepted; DestinationAccepted = trade.DestinationAccepted; TradeStatus = (TradeStatusEnum)trade.TradeStatusID; loadProducts(trade); loadMoney(trade); SourceItems = SourceItems.OrderBy(i => i.DateAdded).ToList(); DestinationItems = DestinationItems.OrderBy(i => i.DateAdded).ToList(); CanCancel = trade.Is(TradeStatusEnum.Ongoing); TradeSide = trade.GetTradeSide(SessionHelper.CurrentEntity); CanAccept = TradeStatus == TradeStatusEnum.Ongoing && ((trade.SourceAccepted == false && TradeSide == TradeSideEnum.Source) || (trade.DestinationAccepted == false && TradeSide == TradeSideEnum.Destination)); FuelCost = TradeSide == TradeSideEnum.Source ? trade.SourceUsedFuelAmount : trade.DestinationUsedFuelAmount; var projectedCost = tradeService.GetNeededFuel(SessionHelper.CurrentEntity, trade); if (projectedCost > 0) { FuelCost = projectedCost; } }