public ActionResult EditExport(int id) { var model = new EditExport(); try { var export = db.Exports.Where(im => im.ExportId == id).FirstOrDefault(); if (export != null) { model.ExportId = export.ExportId; model.ExportDate = export.ExportDate.ToString("dd/MM/yyyy"); model.ProductId = export.ProductId; model.Quantity = export.Quantity.ToString("#,##0"); model.ExportPrice = export.ExportPrice.ToString("#,##0"); model.Note = export.Note; model.ProductSelectOptions = DropDownListOption.GetProductOptions(export.ProductId); } else { ModelState.AddModelError("", "Không tìm thấy thông tin xuất kho!"); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); // Write error log var log = new Log(); log.LogDate = DateTime.Now; log.Action = "Stock - EditExport()"; log.Tags = "Error"; log.Message = ex.ToString(); db.Logs.Add(log); } return(View(model)); }
public ActionResult EditExport(EditExport model) { try { if (ModelState.IsValid) { var export = db.Exports.Where(im => im.ExportId == model.ExportId).FirstOrDefault(); if (export != null) { int quantity = 0; decimal exportPrice = 0; DateTime exportDate = DateTime.Now; // Validate user input data if (!DateTime.TryParseExact(model.ExportDate, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out exportDate)) { ModelState.AddModelError("", "Ngày xuất không hợp lệ!"); return(View(model)); } if (!int.TryParse(model.Quantity.Replace(",", ""), out quantity)) { ModelState.AddModelError("", "Số lượng xuất không hợp lệ!"); return(View(model)); } if (!decimal.TryParse(model.ExportPrice.Replace(",", ""), out exportPrice)) { ModelState.AddModelError("", "Giá xuất không hợp lệ!"); return(View(model)); } // update product unit in stock var currentProduct = db.Products.Where(p => p.ProductId == export.ProductId).FirstOrDefault(); if (currentProduct != null) { currentProduct.UnitInStock -= export.Quantity; } if (currentProduct.ProductId == model.ProductId) { currentProduct.UnitInStock += quantity; } else { var updatedProduct = db.Products.Where(p => p.ProductId == model.ProductId).FirstOrDefault(); if (updatedProduct != null) { updatedProduct.UnitInStock += quantity; } } // update import info export.ExportDate = exportDate; export.ProductId = model.ProductId; export.Quantity = quantity; export.ExportPrice = exportPrice; export.Note = model.Note; db.SaveChanges(); return(RedirectToAction("ExportHistory")); } else { ModelState.AddModelError("", "Không tìm thấy thông tin xuất kho!"); return(View(model)); } } else { ModelState.AddModelError("", "Thông tin xuất kho không hợp lệ!"); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); // Write error log var log = new Log(); log.LogDate = DateTime.Now; log.Action = "Stock - EditExport()"; log.Tags = "Error"; log.Message = ex.ToString(); db.Logs.Add(log); } finally { model.ProductSelectOptions = DropDownListOption.GetProductOptions(model.ProductId); } return(View(model)); }