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