public ActionResult EditStockInput(StockInputViewModel model) { try { if (ModelState.IsValid) { // get current stock input var stockInput = db.StockInputs.Where(r => r.Id == model.Id).FirstOrDefault(); if (stockInput != null) { // remove current stock input db.StockInputs.Remove(stockInput); // rollback stock input product quantity var productInStock = db.ProductInStocks.Where(r => r.ProductId == stockInput.ProductId && r.StockId == stockInput.StockId).FirstOrDefault(); if (productInStock != null) { productInStock.Quantity -= stockInput.Quantity; } db.SaveChanges(); // add new stock input var quantity = int.Parse(model.Quantity.Replace(",", "")); var importDate = DateTime.ParseExact(model.Date, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None) + new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second); var stockInput2 = new StockInput(); stockInput2.Date = importDate; stockInput2.ProductId = model.ProductId; stockInput2.StockId = model.StockId; stockInput2.Quantity = quantity; stockInput2.Note = model.Note; stockInput2.UserName = User.Identity.Name; db.StockInputs.Add(stockInput2); // update new stock input product quantity var productInStock2 = db.ProductInStocks.Where(r => r.ProductId == model.ProductId && r.StockId == model.StockId).FirstOrDefault(); if (productInStock2 != null) { productInStock2.Quantity += quantity; } else { productInStock2 = new ProductInStock(); productInStock2.ProductId = model.ProductId; productInStock2.StockId = model.StockId; productInStock2.Quantity = quantity; db.ProductInStocks.Add(productInStock2); } db.SaveChanges(); return(RedirectToAction("StockInputHistory")); } else { ModelState.AddModelError("", "Không tìm thấy thông tin nhập kho sản phẩm!!!"); } // initialize viewbag var product3 = db.Products.Where(r => r.ProductId == model.ProductId).FirstOrDefault(); var categoryId = product3 != null ? product3.CategoryId : 0; var categories = db.Categories.OrderBy(r => r.CategoryName) .AsEnumerable() .Select(r => new SelectListItem { Text = r.CategoryName, Value = r.CategoryId.ToString(), Selected = r.CategoryId == categoryId }) .ToList(); ViewBag.Categories = categories; int productId = product3 != null ? product3.ProductId : 0; var products = db.Products.Where(r => r.CategoryId == categoryId) .OrderBy(r => r.ProductName) .AsEnumerable() .Select(r => new SelectListItem { Text = r.ProductName, Value = r.ProductId.ToString(), Selected = r.ProductId == productId }) .ToList(); ViewBag.Products = products; var stocks = db.Stocks.OrderBy(r => r.StockName) .AsEnumerable() .Select(r => new SelectListItem { Text = r.StockName, Value = r.StockId.ToString(), Selected = r.StockId == model.StockId }) .ToList(); ViewBag.Stocks = stocks; } } catch (Exception ex) { ModelState.AddModelError("", ex); } if (ViewBag.Products == null) { ViewBag.Products = new List <SelectListItem>(); } if (ViewBag.Categories == null) { ViewBag.Categories = new List <SelectListItem>(); } if (ViewBag.Stocks == null) { ViewBag.Stocks = new List <SelectListItem>(); } return(View(model)); }
public ActionResult AddStockInput(StockInputViewModel model) { try { var product = db.Products.Where(r => r.ProductId == model.ProductId).FirstOrDefault(); var stock = db.Stocks.Where(r => r.StockId == model.StockId).FirstOrDefault(); if (ModelState.IsValid) { // validate date product, stock if (product != null && stock != null) { var quantity = int.Parse(model.Quantity.Replace(",", "")); var importDate = DateTime.ParseExact(model.Date, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None) + new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second); // update quantity var productInStock = db.ProductInStocks.Where(r => r.ProductId == model.ProductId && r.StockId == model.StockId).FirstOrDefault(); if (productInStock != null) { productInStock.Quantity += quantity; } else { productInStock = new ProductInStock(); productInStock.ProductId = model.ProductId; productInStock.StockId = model.StockId; productInStock.Quantity += quantity; db.ProductInStocks.Add(productInStock); } // add product stock input var stockInput = new StockInput(); stockInput.Date = importDate; stockInput.ProductId = model.ProductId; stockInput.StockId = model.StockId; stockInput.Quantity = quantity; stockInput.Note = model.Note; stockInput.UserName = User.Identity.Name; db.StockInputs.Add(stockInput); db.SaveChanges(); return(RedirectToAction("StockInputHistory")); } else { ModelState.AddModelError("", "Sản phẩm hoặc kho không tồn tại!!!"); } } // initialize viewbag var productId = product != null ? product.ProductId : 0; var categoryId = product != null ? product.CategoryId : 0; var stockId = stock != null ? stock.StockId : 0; var categories = db.Categories.OrderBy(r => r.CategoryName) .AsEnumerable() .Select(r => new SelectListItem { Text = r.CategoryName, Value = r.CategoryId.ToString(), Selected = r.CategoryId == categoryId }) .ToList(); ViewBag.Categories = categories; var products = db.Products.Where(r => r.CategoryId == categoryId) .OrderBy(r => r.ProductName) .AsEnumerable() .Select(r => new SelectListItem { Text = r.ProductName, Value = r.ProductId.ToString(), Selected = r.ProductId == productId }) .ToList(); ViewBag.Products = products; var stocks = db.Stocks.OrderBy(r => r.StockName) .AsEnumerable() .Select(r => new SelectListItem { Text = r.StockName, Value = r.StockId.ToString(), Selected = r.StockId == stockId }) .ToList(); ViewBag.Stocks = stocks; } catch (Exception ex) { ModelState.AddModelError("", ex); } if (ViewBag.Products == null) { ViewBag.Products = new List <SelectListItem>(); } if (ViewBag.Categories == null) { ViewBag.Categories = new List <SelectListItem>(); } if (ViewBag.Stocks == null) { ViewBag.Stocks = new List <SelectListItem>(); } return(View(model)); }
public ActionResult EditStockInput(int id) { StockInputViewModel model = new StockInputViewModel(); try { // get stock input var stockInput = db.StockInputs.Where(r => r.Id == id).FirstOrDefault(); if (stockInput != null) { model.Id = stockInput.Id; model.Date = stockInput.Date.ToString("dd/MM/yyyy"); model.ProductId = stockInput.ProductId; model.StockId = stockInput.StockId; model.Quantity = stockInput.Quantity.ToString("#,###"); model.Note = stockInput.Note; } else { ModelState.AddModelError("", "Không tìm thấy thông tin nhập kho!!!"); } // initalize viewbag int productId = stockInput != null ? stockInput.ProductId : 0; var product = db.Products.Where(r => r.ProductId == productId).FirstOrDefault(); var categoryId = product != null ? product.CategoryId : 0; var categories = db.Categories.OrderBy(r => r.CategoryName) .AsEnumerable() .Select(r => new SelectListItem { Text = r.CategoryName, Value = r.CategoryId.ToString(), Selected = r.CategoryId == categoryId }) .ToList(); ViewBag.Categories = categories; var products = db.Products.Where(r => r.CategoryId == categoryId) .OrderBy(r => r.ProductName) .AsEnumerable() .Select(r => new SelectListItem { Text = r.ProductName, Value = r.ProductId.ToString(), Selected = r.ProductId == productId }) .ToList(); ViewBag.Products = products; var stocks = db.Stocks.OrderBy(r => r.StockName) .AsEnumerable() .Select(r => new SelectListItem { Text = r.StockName, Value = r.StockId.ToString() }) .ToList(); ViewBag.Stocks = stocks; } catch (Exception ex) { ModelState.AddModelError("", ex); } if (ViewBag.Categories == null) { ViewBag.Categories = new List <SelectListItem>(); } if (ViewBag.Products == null) { ViewBag.Products = new List <SelectListItem>(); } if (ViewBag.Stocks == null) { ViewBag.Stocks = new List <SelectListItem>(); } return(View(model)); }
public ActionResult AddStockInput(int productId = 0) { StockInputViewModel model = new StockInputViewModel(); try { model.Date = DateTime.Now.ToString("dd/MM/yyyy"); model.Quantity = "100"; var product = db.Products.Where(r => r.ProductId == productId).FirstOrDefault(); var categoryId = product != null ? product.CategoryId : 0; // initialize viewbag // categories var categories = db.Categories.OrderBy(r => r.CategoryName) .AsEnumerable() .Select(r => new SelectListItem { Text = r.CategoryName, Value = r.CategoryId.ToString(), Selected = r.CategoryId == categoryId }) .ToList(); ViewBag.Categories = categories; // products var products = db.Products.Where(r => r.CategoryId == categoryId) .OrderBy(r => r.ProductName) .AsEnumerable() .Select(r => new SelectListItem { Text = r.ProductName, Value = r.ProductId.ToString(), Selected = r.ProductId == productId }) .ToList(); ViewBag.Products = products; // stocks var stocks = db.Stocks.OrderBy(r => r.StockName).AsEnumerable() .Select(r => new SelectListItem { Text = r.StockName, Value = r.StockId.ToString() }) .ToList(); ViewBag.Stocks = stocks; } catch (Exception ex) { ModelState.AddModelError("", ex); } if (ViewBag.Products == null) { ViewBag.Products = new List <SelectListItem>(); } if (ViewBag.Categories == null) { ViewBag.Categories = new List <SelectListItem>(); } if (ViewBag.Stocks == null) { ViewBag.Stocks = new List <SelectListItem>(); } return(View(model)); }