public void UpdateImport(ImportViewModel importViewModel) { var existedImport = _importService.GetImportWithProductsById(importViewModel.Id); Provider provider = null; if (_providersService.EntityExist(importViewModel.Provider)) { provider = _providersService.GetEntityById(importViewModel.Provider.Id); } List <ImportProduct> products = new List <ImportProduct>(importViewModel.Products?.Count ?? 0); foreach (var product in importViewModel.Products) { if (_productsService.EntityExist(product.ProductId.Value)) { var importProduct = new ImportProduct(); importProduct.Product = _productsService.GetEntityById(product.ProductId.Value); importProduct.Count = product.Count; products.Add(importProduct); } } existedImport.CreatedDate = importViewModel.CreatedDate; existedImport.ImportDate = importViewModel.ImportDate; existedImport.FinishDate = importViewModel.FinishDate; existedImport.Status = importViewModel.Status; existedImport.Provider = provider; _importProductsService.DeleteEntityRange(existedImport.Products); existedImport.Products = products; _service.UpdateEntity(existedImport); }
public Product GetProduct(Guid id) { if (!_productsService.EntityExist(id)) { throw new EntityNotFoundException(nameof(Product), id); } return(_productsService.Get(filter: p => p.Id == id, includeProperties: $"{nameof(Product.Category)},{nameof(Product.Provider)},{nameof(Product.Manufacture)}").SingleOrDefault()); }