public static string ImportMaterial(Stream stream, string InputPerson) { string text; using (SqlConnection connection = new SqlConnection(FunctionRule.GetConnectionString())) { connection.Open(); try { MaterialImport import = new MaterialImport(); import.conn = connection; text = import.Import(stream, InputPerson); } catch (SqlException exception) { throw exception; } finally { connection.Close(); } } return(text); }
public ActionResult AddImport(AddMaterialImportViewModel model) { try { if (ModelState.IsValid) { // get quantity double quantity = 0; if (!double.TryParse(model.Quantity.Replace(",", ""), out quantity)) { throw new Exception("Số lượng nhập không hợp lệ!"); } // get price decimal price = 0; if (!decimal.TryParse(model.Price.Replace(",", ""), out price)) { throw new Exception("Giá nhập không hợp lệ!"); } // get material info var material = db.Materials.Where(t => t.MaterialId == model.MaterialId).FirstOrDefault(); if (material == null) { throw new Exception("Không tìm thấy thông tin nguyên liệu"); } // update quantity var unitInStock = db.MaterialInStocks.Where(r => r.MaterialId == model.MaterialId && r.StockId == model.StockId).FirstOrDefault(); if (unitInStock != null) { unitInStock.Quantity += quantity; } else { var materialInStock = new MaterialInStock(); materialInStock.MaterialId = model.MaterialId; materialInStock.StockId = model.StockId; materialInStock.Quantity = quantity; db.MaterialInStocks.Add(materialInStock); } // insert import var import = new MaterialImport(); import.MaterialImportDate = DateTime.ParseExact(model.MaterialImportDate, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None) + new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second); import.MaterialId = model.MaterialId; import.StockId = model.StockId; import.Quantity = quantity; import.Price = price; import.Notes = model.Notes; db.MaterialImports.Add(import); db.SaveChanges(); return(RedirectToAction("ListImports")); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } try { // assign view bag values var materials = db.Materials.OrderBy(t => t.MaterialName) .AsEnumerable() .Select(t => new SelectListItem { Value = t.MaterialId.ToString(), Text = t.MaterialName }) .ToList(); var stocks = db.Stocks.OrderBy(r => r.StockName) .AsEnumerable() .Select(r => new SelectListItem { Value = r.StockId.ToString(), Text = r.StockName }) .ToList(); ViewBag.Materials = materials; ViewBag.Stocks = stocks; } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } return(View(model)); }
public static string GetImportMaterialFieldDesc() { MaterialImport import = new MaterialImport(); return(import.GetDefineFieldDesc()); }