public ActionResult Index(int id = 0) { if (!this._nhanvien_permission.Contains("kichthuoc_view")) { return _fail_permission("kichthuoc_view"); } KichThuocController ctr = new KichThuocController(); KichThuoc obj = ctr.get_by_id(id); if (obj == null) { //kich thuoc khong ton tai return RedirectToAction("Index", "AdminKichThuocs"); } ViewBag.KichThuoc = obj; ViewBag.Title += " - View"; return View(); }
public ActionResult ChiTietSP_Submit() { int sanpham_id = TextLibrary.ToInt(Request["sanpham_id"]); //must use same dbcontext neu khong se bao loi (chi can thiet khi co cap nhat thao tac tren doi tuong sanpham trong session) SanPhamController ctr = new SanPhamController(this._get_current_dbcontext()); ChiTietSPController ctr_chitietsp = new ChiTietSPController(ctr._db); KichThuocController ctr_kichthuoc = new KichThuocController(ctr._db); MauSacController ctr_mausac = new MauSacController(ctr._db); SanPham sanpham_obj = ctr.get_by_id(sanpham_id); Boolean un_save_mode = false; //neu sanpham_id=0, dang o mode chua save if (sanpham_obj == null) { sanpham_obj = (SanPham)Session["sanpham_new_tmp"]; un_save_mode = true; } //create new ChiTietSP obj; int chitietsp_id = TextLibrary.ToInt(Request["chitietsp_id"]); Boolean edit_mode; if (un_save_mode) { edit_mode = sanpham_obj.ds_chitietsp.Where(x=>x.id==chitietsp_id).FirstOrDefault()!=null?true:false; if (edit_mode) { if (!this._nhanvien_permission.Contains("chitietsp_edit")) { return _fail_permission("chitietsp_edit"); } obj = sanpham_obj.ds_chitietsp.Where(x => x.id==chitietsp_id).FirstOrDefault(); } else { if (!this._nhanvien_permission.Contains("chitietsp_add")) { return _fail_permission("chitietsp_add"); } obj = new ChiTietSP(); //kiểm tra phải có ít nhất 1 kích thước if (ctr_kichthuoc.timkiem_count("", "", "", "1") <= 0) { return _show_notification("Yêu cầu phải có ít nhất 1 kích thước active mới thêm được chi tiết sản phẩm"); } //kiểm tra phải có ít nhất 1 màu sắc if (ctr_mausac.timkiem_count("", "", "", "1") <= 0) { return _show_notification("Yêu cầu phải có ít nhất 1 màu sắc active mới thêm được chi tiết sản phẩm"); } } } //chế dộ đã save rồi else { edit_mode = ctr_chitietsp.get_by_id(chitietsp_id) != null; if (edit_mode) { if (!this._nhanvien_permission.Contains("chitietsp_edit")) { return _fail_permission("chitietsp_edit"); } obj = ctr_chitietsp.get_by_id(chitietsp_id); } else { if (!this._nhanvien_permission.Contains("chitietsp_add")) { return _fail_permission("chitietsp_add"); } obj = new ChiTietSP(); //kiểm tra phải có ít nhất 1 kích thước if (ctr_kichthuoc.timkiem_count("", "", "", "1") <= 0) { return _show_notification("Yêu cầu phải có ít nhất 1 kích thước active mới thêm được chi tiết sản phẩm"); } //kiểm tra phải có ít nhất 1 màu sắc if (ctr_mausac.timkiem_count("", "", "", "1") <= 0) { return _show_notification("Yêu cầu phải có ít nhất 1 màu sắc active mới thêm được chi tiết sản phẩm"); } } } //assign data obj.soluong = TextLibrary.ToInt(Request["chitietsp_soluong"]); //ctr_kichthuoc = new KichThuocController(ctr._db); obj.kichthuoc = ctr_kichthuoc.get_by_id(TextLibrary.ToInt(Request["chitietsp_kichthuoc_id"])); //ctr_mausac = new MauSacController(ctr._db); obj.mausac = ctr_mausac.get_by_id(TextLibrary.ToInt(Request["chitietsp_mausac_id"])); obj.active = TextLibrary.ToBoolean(Request["chitietsp_active"]); if (un_save_mode) { if (edit_mode) { //do nothing } else { //add to sanpham tmp //must set id try { obj.id = sanpham_obj.ds_chitietsp.Max(x => x.id) + 1; } catch (Exception) { obj.id = 1; } sanpham_obj.ds_chitietsp.Add(obj); //re assign to session Session["sanpham_new_tmp"] = sanpham_obj; } } //chế độ đã save rồi else { if (edit_mode) { //nothing } else { sanpham_obj.ds_chitietsp.Add(obj); } //finally call update ctr._db.SaveChanges(); } return Redirect(Url.Action("Index", "AdminSanPham", new { id = sanpham_id }) + "#qd_ds_chitietsp"); //return RedirectToAction("Index", "AdminSanPham", new { id = sanpham_id }); }
public ActionResult Submit() { //get nv id first int obj_id = TextLibrary.ToInt(Request["kichthuoc_id"]); KichThuocController ctr = new KichThuocController(); KichThuoc obj; //check mode Boolean edit_mode = true; if (obj_id == 0) { //add mode if (!this._nhanvien_permission.Contains("kichthuoc_add")) { return _fail_permission("kichthuoc_add"); } obj = new KichThuoc(); edit_mode = false; } else { //edit mode if (!this._nhanvien_permission.Contains("kichthuoc_edit")) { return _fail_permission("kichthuoc_edit"); } if (ctr.is_exist(obj_id)) { //update model //get instance of record of table obj = ctr.get_by_id(obj_id); } else { //nvid khong ton tai return RedirectToAction("Index", "AdminKichThuocs"); } } //assign value obj.giatri = TextLibrary.ToString(Request["kichthuoc_giatri"]); obj.mota = TextLibrary.ToString(Request["kichthuoc_mota"]); obj.active = TextLibrary.ToBoolean(Request["kichthuoc_active"]); //validate properties List<String> validate = ctr.validate(obj); //action if (validate.Count == 0) { if (edit_mode) { //update properties first ctr._db.SaveChanges(); this._state.Add("edit_ok"); } else { //call add int maxid = ctr.add(obj); //re assign id obj.id = maxid; this._state.Add("add_ok"); } //successfull redirect return RedirectToAction("Index", "AdminKichThuocs"); } //fail redirect this._state.AddRange(validate); ViewBag.State = this._state; ViewBag.KichThuoc = obj; ViewBag.Title += " - Submit"; return View("Index"); }