public async Task <IActionResult> UpdateQuantityProduct(long warehouseId, long productId, int quantity) { var stockUpdateVm = new StockUpdateVm { WarehouseId = warehouseId, ProductId = productId, Quantity = quantity }; await _stockService.UpdateStock(stockUpdateVm); return(RedirectToAction("Stocks", "Warehouse", new { warehouseId = warehouseId })); }
public async Task UpdateStock(StockUpdateVm stockUpdateVm) { var product = _productRepository.GetAll().FirstOrDefault(x => x.Id == stockUpdateVm.ProductId); var stock = _stockRepository.GetAll().FirstOrDefault(x => x.ProductId == stockUpdateVm.ProductId && x.WarehouseId == stockUpdateVm.WarehouseId); stock.Quantity += stockUpdateVm.Quantity; if (stock.Quantity < 0) { stock.Quantity = 1; // await _stockRepository.DeleteAsync(stock); } await _stockRepository.UpdateAsync(stock); }