public ActionResult Export(AddExport model) { try { if (ModelState.IsValid) { DateTime importDate = DateTime.Now; if (DateTime.TryParseExact(model.ExportDate, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out importDate)) { bool success = true; foreach (var row in model.AddExportRows) { var exportProduct = db.Products.Where(p => p.ProductId == row.ProductId).FirstOrDefault(); if (exportProduct != null) { int quantity = 0; decimal exportPrice = 0; if (int.TryParse(row.Quantity.Replace(",", ""), out quantity) && decimal.TryParse(row.ExportPrice.Replace(",", ""), out exportPrice)) { // add new export var export = new Export(); export.ExportDate = importDate; export.ProductId = row.ProductId; export.Quantity = quantity; export.ExportPrice = exportPrice; export.Note = model.Note; export.CreationDate = DateTime.Now; export.CreationUser = GetLogonUserName(); db.Exports.Add(export); exportProduct.UnitInStock -= quantity; } else { success = false; ModelState.AddModelError("", "Số lượng hoặc giá nhập sản phẩm " + exportProduct.ProductName + " không hợp lệ!"); break; } } } if (success) { db.SaveChanges(); return(RedirectToAction("ExportHistory")); } } else { ModelState.AddModelError("", "Ngày nhập hàng 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 - Export()"; log.Tags = "Error"; log.Message = ex.ToString(); db.Logs.Add(log); } return(View(model)); }
public ActionResult Export() { var model = new AddExport(); return(View(model)); }