private List <PurchaseUnit> CreatePurchaseUnits(List <PurchaseUnitViewModel> purchaseUnitsVM, Purchase purchase) { var purchaseUnits = new List <PurchaseUnit>(purchaseUnitsVM.Count); _purchaseUnitsService.DeletePurchaseUnitsByPurchaseId(purchase.Id); foreach (var purchaseUnit in purchaseUnitsVM) { var product = _productsService.GetEntityById(purchaseUnit.Product.Id); if (product != null) { purchaseUnits.Add(new PurchaseUnit { Product = product, Count = purchaseUnit.Count, CreatedDate = DateTime.Now, StorePrice = purchaseUnit.StorePrice, Status = PurchaseUnitStatuses.New, Purchase = purchase }); } else { throw new EntityNotFoundException(BaseEntityHelper.Description(typeof(PurchaseUnit)), purchaseUnit.Id.Value); } } return(purchaseUnits); }
public Purchase GetPurchaseEagerById(Guid id) { if (!_service.EntityExist(id)) { throw new EntityNotFoundException(BaseEntityHelper.Description(typeof(Purchase)), id); } return(_purchasesService.GetPurchaseEagerById(id)); }
public void Update(PurchaseViewModel purchaseViewModel) { var purchase = _service.GetEntityById(purchaseViewModel.Id); if (purchase == null) { throw new EntityNotFoundException(BaseEntityHelper.Description(typeof(Purchase)), purchaseViewModel.Id.Value); } purchase.Date = purchaseViewModel.Date; purchase.PurchaseUnits = CreatePurchaseUnits(purchaseViewModel.PurchaseUnits, purchase); purchase.DeliveryPurchases = CreateDeliveryPurchases(purchaseViewModel.Deliveries, purchase); _service.UpdateEntity(purchase); }