示例#1
0
        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);
        }
示例#2
0
        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());
        }