public void Create(DeliveryViewModel deliveryVM) { var delivery = new Delivery { DeliveryDate = deliveryVM.DeliveryDate, Status = DeliveryStatus.Planned, }; delivery.Driver = _driversService.GetEntityById(deliveryVM.Driver.Id); var deliveryPurchases = new List <DeliveryPurchase>(deliveryVM.Purchases?.Count ?? 0); foreach (var purchaseVM in deliveryVM.Purchases) { var purchase = _purchasesService.GetEntityById(purchaseVM.Id); deliveryPurchases.Add( new DeliveryPurchase { Delivery = delivery, Purchase = purchase, TimeFrom = purchaseVM.TimeFrom, TimeTo = purchaseVM.TimeTo, Notes = purchaseVM.Notes }); } delivery.DeliveryPurchases = deliveryPurchases; var purchaseUnitsVM = deliveryVM.Purchases.SelectMany(p => p.PurchaseUnits).ToArray(); var purchaseUnits = new List <PurchaseUnit>(purchaseUnitsVM.Count()); foreach (var pUnitsVM in purchaseUnitsVM) { var purchaseUnit = _purchaseUnitsService.GetEntityById(pUnitsVM.Id); purchaseUnits.Add(purchaseUnit); } delivery.PurchaseUnits = purchaseUnits; _service.CreateEntity(delivery); }
public void CreateReturnPurchase(ReturnPurchaseViewModel returnPurchaseVM) { var returnPurchase = new ReturnPurchase { Reason = returnPurchaseVM.Reason, Comment = returnPurchaseVM.Comment }; returnPurchase.Purchase = _purchasesService.GetEntityById(returnPurchaseVM.PurchaseId); var returnItems = new List <PurchaseUnit>(returnPurchaseVM.ReturnItems.Count); foreach (var pUnit in returnPurchaseVM.ReturnItems) { var purchaseUnit = _purchaseUnitsService.GetEntityById(pUnit.Id); returnItems.Add(purchaseUnit); } returnPurchase.ReturnItems = returnItems; _returnPurchasesService.CreateEntity(returnPurchase); }