public ActionResult SaveEditMVKhongCoGi(MenuOption model) { MenuOption menu = _menuOptionRepository.GetById(model.id_); menu.Barcode = model.Barcode; menu.id_ = model.id_; menu.NameProduct = model.NameProduct; _menuOptionRepository.Update(menu); _unitOfWork.Commit(); return(RedirectToAction("KhongCoGi")); }
public async Task SaveMenuOption(MenuOption option) { if (string.IsNullOrEmpty(option.Id)) { await _repository.Add(option); } else { await _repository.Update(option); } }
public ActionResult Save(SaveProductFormModel model) { #region thêm sản phẩm Menu menu = new Menu() { CodeProduct = RejectMarks(model.NameProductLong), PriceOffPro = model.PriceOffPro, Content = ChangeImageSEO(model.Content, model.NameProduct, ConvertFont(model.NameProductLong)), Content1 = ChangeImageSEO1(model.Content1, model.NameProduct, ConvertFont(model.NameProductLong)), Content2 = ChangeImageSEO2(model.Content2, model.NameProduct, ConvertFont(model.NameProductLong)), Content3 = ChangeImageSEO3(model.Content3, model.NameProduct, ConvertFont(model.NameProductLong)), Content4 = ChangeImageSEO4(model.Content4, model.NameProduct, ConvertFont(model.NameProductLong)), //Content = model.Content, //Content1 = model.Content1, //Content2 = model.Content2, //Content3 = model.Content3, //Content4 = model.Content4, Img = (model.Img).Replace("/files/", ""), IdNhaCungCap = model.IdNhaCungCap, idControl = 11, Note = model.Note, ok = false,//vua them thi san pham an di Option1 = model.Option1, Option5 = model.Option5, Option6 = model.Option6, Menu2 = "", MenuAdwords = "", Link = ConvertFont(model.NameProductLong), LevelMenu = 1, LinkHttp = "https://beautygarden.vn/" + ConvertFont(model.NameProduct) + ".html", LinkHttp1 = "", Style = "san-pham", ui = "vi", ContentLabel = model.ContentLabel, Option = true, ContentLabel1 = model.ContentLabel1, ContentLabel2 = model.ContentLabel2, ContentLabel3 = model.ContentLabel3, ContentLabel4 = model.ContentLabel4, VIP = false, Option8 = true, Option9 = model.Option9, sPosition = model.sPosition, Visitor = model.Visitor, sDate = DateTime.Now, sDateOk = DateTime.Now, idUser = 18, idUserOk = 18, Option2 = true, Option3 = true, Option4 = true, SEOKeyWord = "", NumberHaveGift = 0, idMPADSys = 0, HasSale = model.HasSale, HasValue = false, NameProduct = model.NameProduct, BarCode = string.IsNullOrEmpty(model.BarCode) ? "" : model.BarCode.Trim(), //luu tam thoi ben bang menu sau do lay du lieu do qua bang menuoption HasOnHand = true, //mac dinh =1 tuc la con hang. sau khi kiem tra ma vach thi update lai onhand SapXepSanPham = model.SapXepSanPham, SapxepDanhMuc = model.SapxepDanhMuc, BarcodeType = model.BarcodeType, ContentTaiSao = model.ContentTaiSao, ContentLabelTaiSao = model.ContentLabelTaiSao, ContentTheoSp = model.ContentTheoSp, GiaHot = false, NameProductLong = model.NameProductLong, DungSai = true, SEODescription = model.SEODescription, SEOtitle = model.SEOtitle, NgayHetHang = DateTime.Now, NguoiTao = User.Identity.Name, Bestseller = false }; _menuRepository.Add(menu); _unitOfWork.Commit(); //sau khi thêm mới sp xong insert 4 sao cho phần đánh giá using (var context = new ShopDataContex()) { context.Database.ExecuteSqlCommand("INSERT INTO UserRatings (Rating, IdSanPham)VALUES (4, {0})", menu.id_); } #endregion #region hinh anh khac //luu hinh anh khac IList <MenuImageMapping.MenuImage> images = !string.IsNullOrEmpty(model.OtherImages) ? JsonConvert.DeserializeObject <IList <MenuImageMapping.MenuImage> >(model.OtherImages) : new List <MenuImageMapping.MenuImage>(); if (images.Any()) { foreach (var menuImage in images) { if (menuImage.id == 0)//them moi hinh anh { MenuImage img = new MenuImage() { idMenu = menu.id_, date = DateTime.Now, ImageName = menuImage.ImageName, }; _menuImageRepository.Add(img); _unitOfWork.Commit(); } } } #endregion #region danh muc IList <int> idDanhMucs = !string.IsNullOrEmpty(model.DanhMucIds) ? JsonConvert.DeserializeObject <IList <int> >(model.DanhMucIds) : new List <int>(); if (model.id_ != 0) { IList <MenuProAdd> menusDanhMuc = _menuProAddRepository.GetMany(o => o.idMenuProAdded == model.id_).ToList(); foreach (var menuProAdd in menusDanhMuc) { if (!idDanhMucs.Contains(menuProAdd.idMenuCatelogy)) { //delete nhung thang khong co trong danh sach idDanhMucs _menuProAddRepository.Delete(menuProAdd); _unitOfWork.Commit(); } } if (menusDanhMuc.Any()) { if (idDanhMucs.Any()) { //lay danh sach menuproadd hien tai cua product foreach (var idDanhMuc in idDanhMucs) { if (!menusDanhMuc.Any(o => o.idMenuCatelogy == idDanhMuc)) { MenuProAdd menuProAdd = new MenuProAdd() { idMenuCatelogy = idDanhMuc, idMenuProAdded = menu.id_, sDate = DateTime.Now, sDateOk = DateTime.Now, Style = "add-san-pham", idUser = 15, idUserOk = 15 }; _menuProAddRepository.Add(menuProAdd); _unitOfWork.Commit(); } } } IList <int> removeMenuProdIds = menusDanhMuc.Where(o => !idDanhMucs.Contains(o.idMenuCatelogy)).Select(o => o.id_).ToList(); if (removeMenuProdIds.Any()) { _menuProAddRepository.Delete(o => removeMenuProdIds.Contains(o.id_)); } } } else { if (idDanhMucs.Any()) { foreach (var idDanhMuc in idDanhMucs) { MenuProAdd menuProAdd = new MenuProAdd() { idMenuCatelogy = idDanhMuc, idMenuProAdded = menu.id_, sDate = DateTime.Now, sDateOk = DateTime.Now, Style = "add-san-pham", idUser = 15, idUserOk = 15 }; _menuProAddRepository.Add(menuProAdd); _unitOfWork.Commit(); } } } #endregion #region ma vach IList <MenuOptionMapping.OptionShow> maVachs = !string.IsNullOrEmpty(model.MaVachJson) ? JsonConvert.DeserializeObject <IList <MenuOptionMapping.OptionShow> >(model.MaVachJson) : new List <MenuOptionMapping.OptionShow>(); IList <MenuOption> menuOptionsCu = _menuOptionRepository.GetMany(o => o.IdMenu == model.id_).ToList(); if (maVachs.Any()) { foreach (var optionShow in maVachs) { if (optionShow.id_ == 0)//them moi ma vach { MenuOption menuOption = new MenuOption() { IdMenu = menu.id_, TenLoai = optionShow.TenLoai, Img = optionShow.Img.Replace("/files/", ""), Barcode = string.IsNullOrEmpty(optionShow.Barcode) ? "" : optionShow.Barcode.Trim(), Flag = optionShow.Flag, NameProduct = menu.NameProduct, SDate = DateTime.Now, sDateOk = DateTime.Now }; //truoc khi luu ma vach kiem tra ma vach co ton tai trong he thong hay khong int istontai = _menuRepository.ChekBarcode(string.IsNullOrEmpty(optionShow.Barcode) ? "" : optionShow.Barcode.Trim()); if (istontai > 0)//ma vach ton tai ==> them duoc { _menuOptionRepository.Add(menuOption); _unitOfWork.Commit(); //update hasvalue=1 using (var context = new ShopDataContex()) { context.Database.ExecuteSqlCommand("update Menu set HasValue='True' where id_ ={0}", menu.id_); //update barcodetype context.Database.ExecuteSqlCommand("update Menu set BarcodeType={0} where id_ ={1}", optionShow.Flag, menu.id_); } //them dl thanh cong roi thi kiem tra san pham: onhand=0 thi an di nguoc lai show ra //neu tong onhand <=0 het hang. nguoc lai con hang int isonhand = _menuRepository.CheckOnhand(optionShow.Barcode.Trim()); if (isonhand <= 0) { //update hasOnhand =0 using (var context = new ShopDataContex()) { context.Database.ExecuteSqlCommand("update Menu set HasOnHand='false' where id_ ={0}", menu.id_); } } } else { return(RedirectToAction("Index")); } } else { MenuOption sua = menuOptionsCu.FirstOrDefault(o => o.id_ == optionShow.id_);//sua ma vach if (sua != null) { sua.Img = optionShow.Img; sua.Barcode = optionShow.Barcode.Trim(); sua.TenLoai = optionShow.TenLoai; sua.Flag = optionShow.Flag; _menuOptionRepository.Update(sua); _unitOfWork.Commit(); } } } } #endregion #region ma vach khong co gi //cach 1:lay barcode cua bang menu sau do luu vao bang meuoption //truoc khi luu ma vach kiem tra ma vach co ton tai trong he thong hay khong if (model.BarcodeType == 0) { int somavach = _menuRepository.ChekBarcode(menu.BarCode.Trim()); if (somavach > 0)//ma vach ton tai ==> them duoc { //luu san pham MenuOption menuOp = new MenuOption() { IdMenu = menu.id_, TenLoai = "không có gì", Img = "images.png", Barcode = menu.BarCode, SDate = DateTime.Now, sDateOk = DateTime.Now, NameProduct = menu.NameProduct, Flag = (short)BarcodeType.KhongCoGi }; //luu ma vach _menuOptionRepository.Add(menuOp); _unitOfWork.Commit(); //update hasvalue=1 // _menuRepository.UpdateHasvalue(menu.id_, true); using (var context = new ShopDataContex()) { context.Database.ExecuteSqlCommand("update Menu set HasValue='True' where id_ ={0}", menu.id_); //update barcodetype=0 neu la san pham khong co gi context.Database.ExecuteSqlCommand("update Menu set BarcodeType=0 where id_ ={0}", menu.id_); } //them dl thanh cong roi thi kiem tra san pham: onhand=0 thi an di nguoc lai show ra //neu tong onhand <=0 het hang. nguoc lai con hang int tonkho = _menuRepository.CheckOnhand(menu.BarCode); if (tonkho <= 0) { //update hasOnhand = 0 using (var context = new ShopDataContex()) { context.Database.ExecuteSqlCommand("update Menu set HasOnHand='false' where id_ ={0}", menu.id_); } } // kiểm tra nếu mã vạch là CB hoặc cb tức là (Combo) thì update Hasonhand =1 if (menu.BarCode.IndexOf("CB") != -1 || menu.BarCode.IndexOf("cb") != -1) { using (var context = new ShopDataContex()) { context.Database.ExecuteSqlCommand("update Menu set HasOnHand='True' where id_ ={0}", menu.id_); } } } } #endregion #region thêm mới tag string[] separators = { "," }; var taglist = model.mySingleField.Split(separators, StringSplitOptions.RemoveEmptyEntries); //check null: nếu tồn tại thêm mới bình thường if (taglist.Any()) { foreach (var tag in taglist) { DanhSachTag _tag = new DanhSachTag() { NgayTao = DateTime.Now, IdMenu = menu.id_, NguoiTao = 18, TenTag = tag.Trim(), Code = RejectMarks(tag.Trim()) }; _danhSachTagRepository.Add(_tag); _unitOfWork.Commit(); } } #endregion #region thêm mới kho quà tặng if (model.IdQUaTangs != null) { KhoQuaTang khoQuaTang = new KhoQuaTang() { IdMenu = menu.id_, NgayTao = DateTime.Now, IdSanPhamTang = model.IdQUaTangs }; _khoQuaTangRepository.Add(khoQuaTang); _unitOfWork.Commit(); } #endregion _menuRepository.ClearCacheByKey(new List <string>() { Shop.Web.Core.Cache.CacheKey.AllMenu }); return(RedirectToAction("Index")); }