// GET: Category public ActionResult Index(int pageNo = 1, int accesoryid = 0, int id = 0, string searchString = "") { if (accesoryid > 0) { var accessory = db.Accessories.Find(accesoryid); ViewBag.AccessoryName = string.Format("{0} {1}", accessory.Category.Name, accessory.Name); } foreach (string key in TempData.Keys) { ModelState.AddModelError(string.Empty, TempData[key].ToString()); } var cate = from s in db.AccessoryImports where s.AccessoryId == accesoryid select s; //if (!String.IsNullOrEmpty(searchString)) //{ // cate = cate.Where(s => s.Name.Contains(searchString)); //} var model = new AccessoryImport(); if (id > 0) { model = db.AccessoryImports.Find(id); } model.AccessoryId = accesoryid; //ViewBag.Employees = new SelectList(db.Employees.ToList(), "Id", "Name", model.ImportToEmployeeId); BindList(pageNo, cate.ToList()); return(View(model)); }
// GET: Category/Create public ActionResult Create(Accessory model, int pageNo = 1) { if (ModelState.IsValid) { var UserID = "0"; var cookie = Request.Cookies["StockTool"]; if (cookie != null && cookie["Role"] != null) { UserID = cookie["UserID"].ToString(); } int userid = int.Parse(UserID); var asset = db.Accessories.Where(p => p.CategoryId == model.CategoryId && p.Name.Equals(model.Name.Trim(), StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); if (asset != null) { asset.Amount += model.Amount; asset.ImportByUserId = userid; asset.ImportOn = DateTime.Now; db.Entry(asset).State = EntityState.Modified; var acceImport = new AccessoryImport(); acceImport.AccessoryId = asset.Id; acceImport.Amount = model.Amount; acceImport.Description = model.Description; acceImport.ImportOn = DateTime.Now; acceImport.ImportByUserId = userid; acceImport.Cancel = false; db.AccessoryImports.Add(acceImport); } else { model.ImportByUserId = userid; model.ImportOn = DateTime.Now; db.Accessories.Add(model); var acceImport = new AccessoryImport(); acceImport.Accessory = model; acceImport.Description = model.Description; acceImport.Amount = model.Amount; acceImport.ImportOn = DateTime.Now; acceImport.Cancel = false; acceImport.ImportByUserId = userid; db.AccessoryImports.Add(acceImport); } db.SaveChanges(); } return(RedirectToAction("Index", new { PageNo = pageNo })); }
// GET: Category/Create public ActionResult Create(AccessoryImport model, int pageNo = 1) { var accessory = db.Accessories.Find(model.AccessoryId); //var totalAmount = accessory.Amount; //if (totalAmount < model.Amount) //{ // ModelState.AddModelError("Invalid Amount", "Invalid Amount"); // TempData["Error"] = Language.AccessoryImport.AccessoryImport.OutOfAmountError; //} //if (model.ImportToEmployeeId == null) //{ // ModelState.AddModelError("Invalid Amount", "Invalid Amount"); // TempData["Error1"] = Language.AccessoryImport.AccessoryImport.EmpError; //} if (ModelState.IsValid) { var cookie = Request.Cookies["StockTool"]; var UserID = "0"; if (cookie != null && cookie["Role"] != null) { UserID = cookie["UserID"].ToString(); } int userid = int.Parse(UserID); model.ImportOn = DateTime.Now; model.ImportByUserId = userid; model.Cancel = false; db.AccessoryImports.Add(model); //accessory.Amount = totalAmount - model.Amount; db.Entry(accessory).State = EntityState.Modified; db.SaveChanges(); } return(RedirectToAction("Index", new { PageNo = pageNo, accesoryid = model.AccessoryId })); }
public ActionResult Import(HttpPostedFileBase file) { var cookie = Request.Cookies["StockTool"]; var UserID = "0"; if (cookie != null && cookie["Role"] != null) { UserID = cookie["UserID"].ToString(); } int userid = int.Parse(UserID); DataTable dt = file.ToDataSet().Tables[0]; dt.Columns.Add("Status"); dt.Columns.Add("Note"); string _importDescription = string.Empty; if (dt != null) { //foreach (DataTable dt in ds.Tables) //{ foreach (DataRow r in dt.Rows) { try { var category = new Category(); string _categoryName = r[0].ToString(); string _name = r[1].ToString(); string _amount = r[2].ToString(); string _description = r[3].ToString(); if (_name == string.Empty) { _importDescription = "Tên không thể trống"; } if (_categoryName == string.Empty) { _importDescription = "Nhóm linh kiện không thể trống"; } var iAmount = _amount != string.Empty ? int.Parse(_amount) : 0; if (iAmount < 0 || iAmount > 100000) { _importDescription = string.Format("Số lượng phải trong khoảng 0 và 100000"); } if (_importDescription == string.Empty) { if (_categoryName != string.Empty) { category = db.Categories.Where(c => c.Name.Equals(_categoryName, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); if (category == null) { category = new Category(); category.Code = AutoNumberHelper.GenerateNumber(ObjectType.Category, db); category.Name = _categoryName; db.Categories.Add(category); db.SaveChanges(); } } Accessory item = db.Accessories.Where(p => p.Name.ToLower().Equals(_name.ToLower()) && p.CategoryId == category.Id).FirstOrDefault(); if (item != null) { item.CategoryId = category.Id; item.Name = _name; item.Amount += iAmount; item.Description = _description; db.Entry(item).State = EntityState.Modified; var acceImport = new AccessoryImport(); acceImport.AccessoryId = item.Id; acceImport.Amount = item.Amount; acceImport.Description = item.Description; acceImport.ImportOn = DateTime.Now; acceImport.ImportByUserId = userid; acceImport.Cancel = false; db.AccessoryImports.Add(acceImport); } else { item = new Accessory() { CategoryId = category.Id, Name = _name, Amount = iAmount, ImportByUserId = userid, Description = _description, ImportOn = DateTime.Now }; db.Accessories.Add(item); var acceImport = new AccessoryImport(); acceImport.Accessory = item; acceImport.Description = item.Description; acceImport.Amount = item.Amount; acceImport.ImportOn = DateTime.Now; acceImport.Cancel = false; acceImport.ImportByUserId = userid; db.AccessoryImports.Add(acceImport); } } if (_importDescription != string.Empty) { r[4] = "Không thành công"; r[5] = _importDescription; } else { r[4] = "Thành công"; } }catch (Exception ex) { r[4] = "Lỗi"; r[5] = string.Format("Message: {0} - Inner exception: {1}", ex.Message, ex.InnerException); } } //} db.SaveChanges(); } FileExcel(dt, "Accessory"); return(RedirectToAction("Index", "Accessory")); }