public async Task <IActionResult> Edit(VoucherEditViewModel model) { if (!String.IsNullOrEmpty(model.Product.Name)) { model.Product.CategoriesID = Convert.ToInt32(model.CategoriesInfo .Split(new char[] { ' ' })[0]); if (model.Photo != null) { var imageName = DateTime.Now.ToString() + model.Product.Name; var image = await _imagesDb.StoreImage(model.Photo.OpenReadStream(), imageName); model.Product.ImageId = image; } _repository.SaveProduct(model.Product); model.Voucher.TranspotId = Convert.ToInt32(model.TransportInfo .Split(new char[] { ' ' })[0]); model.Voucher.Transport = _dbTransport.Entity.FirstOrDefault(tr => tr.Id == model.Voucher.TranspotId); model.Voucher.LocationFromId = Convert.ToInt32(model.LocationFROMInfo .Split(new char[] { ' ' })[0]); model.Voucher.LocationFrom = _dbLocation.Entity.FirstOrDefault(tr => tr.Id == model.Voucher.LocationFromId); model.Voucher.ProductId = model.Product.ID; model.Voucher.Product = _repository.Products.FirstOrDefault(tr => tr.ID == model.Voucher.ProductId); _dbVoucher.SaveEntity(model.Voucher); _dbVoucher.AddVoucherLocation(model.LocationTOInfo, model.Voucher.ID); TempData["message"] = $"{model.Product.Name} сохранен"; if (_stockRepository.StockItems.FirstOrDefault(s => s.Product.ID == model.Product.ID) == null) { _stockRepository.SaveStockItem(new Stock { Product = model.Product, Quantity = 0 }); } return(RedirectToAction("Index")); } // there is something wrong with the data values model.Transports = _dbTransport.Entity; model.Categories = _dbCategories.Entity; model.LocationsTO = _dbLocation.Entity; model.LocationsFROM = _dbLocation.Entity; return(View(model)); }
public async Task <ViewResult> Edit(int productId) { var voucher = await _dbVoucher.Entity.FirstOrDefaultAsync(p => p.ProductId == productId); var model = new VoucherEditViewModel() { Voucher = voucher, Transports = _dbTransport.Entity, Product = _repository.Products.FirstOrDefault(p => p.ID == productId), Categories = _dbCategories.Entity, LocationsTO = _dbLocation.Entity, LocationsFROM = _dbLocation.Entity }; return(View(model)); }