public bool CreateOrUpdate(CMS_ProductsModels model, ref string msg) { var Result = true; using (var cxt = new CMS_Context()) { using (var trans = cxt.Database.BeginTransaction()) { try { if (string.IsNullOrEmpty(model.Id)) { var _Id = Guid.NewGuid().ToString(); var e = new CMS_Products { Id = _Id, CategoryId = model.CategoryId, CreatedBy = model.CreatedBy, CreatedDate = DateTime.Now, Description = model.Description, ProductCode = model.ProductCode, ProductName = model.ProductName, ProductPrice = model.ProductPrice, UpdatedBy = model.UpdatedBy, UpdatedDate = DateTime.Now, IsActive = model.IsActive }; cxt.CMS_Products.Add(e); if (model.ListImages != null && model.ListImages.Any()) { var _e = new List <CMS_Images>(); model.ListImages.ForEach(x => { _e.Add(new CMS_Images { Id = Guid.NewGuid().ToString(), CreatedBy = model.CreatedBy, CreatedDate = DateTime.Now, ImageURL = x.ImageURL, ProductId = _Id, UpdatedBy = model.UpdatedBy, UpdatedDate = DateTime.Now }); }); cxt.CMS_Images.AddRange(_e); } } else { var e = cxt.CMS_Products.Find(model.Id); if (e != null) { e.ProductName = model.ProductName; e.ProductCode = model.ProductCode; e.ProductPrice = model.ProductPrice; e.Description = model.Description; e.CategoryId = model.CategoryId; e.UpdatedBy = model.UpdatedBy; e.UpdatedDate = DateTime.Now; e.IsActive = model.IsActive; } if (model.ListImages != null && model.ListImages.Any()) { var _edel = cxt.CMS_Images.Where(x => x.ProductId.Equals(e.Id)); cxt.CMS_Images.RemoveRange(_edel); var _e = new List <CMS_Images>(); model.ListImages.ForEach(x => { _e.Add(new CMS_Images { Id = Guid.NewGuid().ToString(), CreatedBy = model.CreatedBy, CreatedDate = DateTime.Now, ImageURL = x.ImageURL, ProductId = e.Id, UpdatedBy = model.UpdatedBy, UpdatedDate = DateTime.Now }); }); cxt.CMS_Images.AddRange(_e); } } cxt.SaveChanges(); trans.Commit(); } catch (Exception ex) { Result = false; msg = "Vui lòng kiểm tra đường truyền"; trans.Rollback(); } finally { cxt.Dispose(); } } } return(Result); }
public ActionResult Create(CMS_ProductsModels model) { try { if (!ModelState.IsValid) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(PartialView("_Create", model)); } byte[] photoByte = null; Dictionary <int, byte[]> lstImgByte = new Dictionary <int, byte[]>(); var data = new List <CMS_ImagesModels>(); if (model.PictureUpload.Length > 0 && model.PictureUpload.Any() && model.PictureUpload[0] != null) { var _FileUpload = Session["Upload"] as SessionUpload; var tempUpload = _FileUpload.ListProduct; foreach (HttpPostedFileBase File in tempUpload) { if (model.ListImages != null && model.ListImages.Any()) { var _temp = model.ListImages.Where(x => x.ImageName.Equals(File.FileName) && !x.IsDeleted).FirstOrDefault(); if (_temp != null) { if (File != null && File.ContentLength > 0) { Byte[] imgByte = new Byte[File.ContentLength]; File.InputStream.Read(imgByte, 0, File.ContentLength); _temp.PictureByte = imgByte; _temp.TempImageURL = _temp.ImageURL; _temp.ImageURL = Guid.NewGuid() + Path.GetExtension(File.FileName); _temp.PictureUpload = null; lstImgByte.Add(_temp.OffSet, imgByte); } data.Add(new CMS_ImagesModels { ImageURL = _temp.ImageURL, TempImageURL = _temp.TempImageURL, PictureByte = _temp.PictureByte, OffSet = _temp.OffSet }); } } } } if (model.ListImages != null && model.ListImages.Any()) { model.ListImages.ForEach(x => { if (!string.IsNullOrEmpty(x.ImageURL) && x.PictureByte == null) { x.ImageURL = x.ImageURL.Replace(Commons._PublicImages + "Products/", "").Replace(Commons.Image200_100, ""); data.Add(new CMS_ImagesModels { ImageURL = x.ImageURL, PictureByte = x.PictureByte, OffSet = x.OffSet, }); } }); } var msg = ""; model.ListImages = data; model.CreatedBy = CurrentUser.UserId; var result = _factory.CreateOrUpdate(model, ref msg); if (result) { foreach (var item in data) { if (!string.IsNullOrEmpty(item.ImageURL) && item.PictureByte != null) { if (System.IO.File.Exists(Server.MapPath("~/Uploads/Products/" + item.TempImageURL))) { ImageHelper.Me.TryDeleteImageUpdated(Server.MapPath("~/Uploads/Products/" + item.TempImageURL)); } var path = Server.MapPath("~/Uploads/Products/" + item.ImageURL); MemoryStream ms = new MemoryStream(lstImgByte[item.OffSet], 0, lstImgByte[item.OffSet].Length); ms.Write(lstImgByte[item.OffSet], 0, lstImgByte[item.OffSet].Length); System.Drawing.Image imageTmp = System.Drawing.Image.FromStream(ms, true); ImageHelper.Me.SaveCroppedImage(imageTmp, path, item.ImageURL, ref photoByte, 400, Commons.WidthProduct, Commons.HeightProduct); model.PictureByte = photoByte; } } return(RedirectToAction("Index")); } ModelState.AddModelError("ProductCode", msg); Response.StatusCode = (int)HttpStatusCode.BadRequest; return(PartialView("_Create", model)); } catch (Exception ex) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(PartialView("_Create", model)); } }
// GET: Admin/CMSCategories public ActionResult Index() { CMS_ProductsModels model = new CMS_ProductsModels(); try { var _Key = Request["keywordID"] ?? ""; var _Group = Request["GroupID"] ?? ""; var FilterModel = new PinFilterDTO(); FilterModel.PageIndex = Commons.PageIndex; FilterModel.PageSize = Commons.PageSize; FilterModel.TypeTime = Commons.ESortType1.TimeCreatedAtDecrease.ToString("d"); model.TypeTime = int.Parse(Commons.ESortType1.TimeCreatedAtDecrease.ToString("d")); FilterModel.Sort1 = (byte)Commons.ESortType1.TimeCreatedAtDecrease; model.Sort1 = (byte)Commons.ESortType1.TimeCreatedAtDecrease; FilterModel.Sort2 = (byte)Commons.ESortType2.ReactionDecrease; model.Sort2 = (byte)Commons.ESortType2.ReactionDecrease; model.Index = int.Parse(Commons.EIndex.LikeReduce.ToString("d")); #region "Comment" //if (Request.Cookies["FromDate"] != null) //{ // var _FromDate = Convert.ToDateTime(Request.Cookies["FromDate"].Value); // FilterModel.CreatedAtFrom = _FromDate; //} //if(Request.Cookies["ToDate"] != null) //{ // var _ToDate = Convert.ToDateTime(Request.Cookies["ToDate"].Value); // FilterModel.CreatedAtTo = _ToDate; //} //string TypeTime = "", TypePin = ""; //if (Request.Cookies["TypeTime"] != null) //{ // TypeTime = Request.Cookies["TypeTime"].Value; // model.TypeTime = Convert.ToInt16(TypeTime); //} //if (Request.Cookies["TypePin"] != null) //{ // TypePin = Request.Cookies["TypePin"].Value; // model.TypePin = Convert.ToInt16(TypePin); //} //if (Request.Cookies["TypeQuantity"] != null) //{ // var RepinCount = Request.Cookies["TypeQuantity"].Value.ToString(); // if(RepinCount == Commons.EQuantityType.ZeroToOne.ToString("d")) // { // FilterModel.PinCountFrom = 0; // FilterModel.PinCountTo = 100; // } // if (RepinCount == Commons.EQuantityType.OneToTwo.ToString("d")) // { // FilterModel.PinCountFrom = 100; // FilterModel.PinCountTo = 200; // } // if (RepinCount == Commons.EQuantityType.TwoToThree.ToString("d")) // { // FilterModel.PinCountFrom = 200; // FilterModel.PinCountTo = 300; // } // if (RepinCount == Commons.EQuantityType.ThreeToFour.ToString("d")) // { // FilterModel.PinCountFrom = 300; // FilterModel.PinCountTo = 400; // } // if (RepinCount == Commons.EQuantityType.FourToFive.ToString("d")) // { // FilterModel.PinCountFrom = 400; // FilterModel.PinCountTo = 500; // } // if (RepinCount == Commons.EQuantityType.MoreFive.ToString("d")) // { // FilterModel.PinCountFrom = 500; // } // model.TypeQuantity = Convert.ToInt16(RepinCount); //} //if(Request.Cookies["Keywords"] != null) //{ // var Keywords = Request.Cookies["Keywords"].Value; // char[] separator = new char[] { ',' }; // var ListKeyword = CommonHelper.ParseStringToList(Keywords, separator); // FilterModel.lstKeyWordID = ListKeyword; // model.listKeywords = ListKeyword; //} #endregion model.ListTime = getListTime(); model.ListQuantity = getListQuantity(); model.ListIndex = getListIndex(); model.ListSort2 = getListSort2(); // model.ListRePin = getListRepinCount(); ViewBag.Keywords = getListKeyword(); ViewBag.ListGroupFanpage = getListGroupKeyword(); if (!string.IsNullOrEmpty(_Key)) { FilterModel.LstKeyWordID.Add(_Key); model.listKeywords.Add(_Key); } if (!string.IsNullOrEmpty(_Group)) { FilterModel.LstGroupID.Add(_Group); var _lstKeywords = getListKeyWordByGroup(_Group); model.listKeywords.AddRange(_lstKeywords); } var _pinModels = new List <PinsModels>(); var msg = ""; int totalPin = 0; var result = _fac.GetPin(ref _pinModels, ref totalPin, FilterModel, ref msg); if (result) { model.Crawler.Pins = _pinModels.OrderBy(x => x.Created_At).ToList(); #region "Comment" //if (TypeTime.Equals(Commons.ETimeType.TimeReduce.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderByDescending(x => x.Created_At).ToList(); //} //else if (TypeTime.Equals(Commons.ETimeType.TimeIncrease.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderBy(x => x.Created_At).ToList(); //} //else if (TypePin.Equals(Commons.ETimeType.PinReduce.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderByDescending(x => x.Repin_count).ToList(); //} //else if (TypePin.Equals(Commons.ETimeType.PinIncrease.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderBy(x => x.Repin_count).ToList(); //} #endregion } } catch (Exception ex) { } return(View(model)); }
public ActionResult Create() { CMS_ProductsModels model = new CMS_ProductsModels(); return(PartialView("_Create", model)); }
// GET: Admin/CMSCategories public ActionResult Index() { CMS_ProductsModels model = new CMS_ProductsModels(); try { var _Key = Request["BoardID"] ?? ""; var _Group = Request["GroupID"] ?? ""; var FilterModel = new PinFilterDTO(); FilterModel.PageIndex = Commons.PageIndex; FilterModel.PageSize = Commons.PageSize; FilterModel.TypeTime = Commons.ETimeType.TimeReduce.ToString("d"); model.ListTime = getListTime(); model.ListQuantity = getListQuantity(); // model.ListRePin = getListRepinCount(); var lstBoard = getListBoard(); ViewBag.Keywords = lstBoard; if (!string.IsNullOrEmpty(_Key)) { FilterModel.LstBoardID.Add(_Key); model.listBoards.Add(_Key); } if (!string.IsNullOrEmpty(_Group)) { FilterModel.LstGroupBoardID.Add(_Group); var _lstKeywords = getListBoardByGroud(_Group); FilterModel.LstBoardID = _lstKeywords; model.listBoards.AddRange(_lstKeywords); } if (FilterModel.LstBoardID.Count == 0) { FilterModel.LstBoardID = lstBoard.Select(o => o.Value).ToList(); } if (FilterModel.LstBoardID != null && FilterModel.LstBoardID.Count > 0) { var _pinModels = new List <PinsModels>(); var msg = ""; int totalPin = 0; var result = _fac.GetPin(ref _pinModels, ref totalPin, FilterModel, ref msg); if (result) { model.Crawler.Pins = _pinModels.OrderBy(x => x.Created_At).ToList(); #region "Comment" //if (TypeTime.Equals(Commons.ETimeType.TimeReduce.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderByDescending(x => x.Created_At).ToList(); //} //else if (TypeTime.Equals(Commons.ETimeType.TimeIncrease.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderBy(x => x.Created_At).ToList(); //} //else if (TypePin.Equals(Commons.ETimeType.PinReduce.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderByDescending(x => x.Repin_count).ToList(); //} //else if (TypePin.Equals(Commons.ETimeType.PinIncrease.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderBy(x => x.Repin_count).ToList(); //} #endregion } } } catch (Exception ex) { } return(View(model)); }
public CMS_ProductsModels GetDetail(string Id) { NSLog.Logger.Info("ProductGetDetail", Id); CMS_ProductsModels result = null; try { using (var cxt = new CMS_Context()) { var data = cxt.CMS_Products.Where(o => o.ID == Id && o.Status != (byte)Commons.EStatus.Deleted) .Select(o => new CMS_ProductsModels { Id = o.ID, ProductTypeCode = o.TypeCode, CategoryId = o.CategoryID, ProductName = o.Name, ProductCode = o.ProductCode, BarCode = o.BarCode, Description = o.Description, ShortDescription = o.ShortDescription, PrintOutText = o.PrintOutText, SpaTreatment = o.SpaTreatment, Process = o.Process, IsActive = o.IsActive, ImageURL = o.ImageURL, ProductPrice = o.Cost, Unit = o.Unit ?? 1, Measure = o.Measure, Quantity = (double)o.Quantity, Limit = o.Limit, ExtraPrice = o.ExtraPrice, IsAllowedDiscount = o.IsAllowedDiscount, IsCheckedStock = o.IsCheckedStock, IsAllowedOpenPrice = o.IsAllowedOpenPrice, IsPrintedOnCheck = o.IsPrintedOnCheck, ExpiredDate = o.ExpiredDate, IsAutoAddToOrder = o.IsAutoAddToOrder, IsComingSoon = o.IsComingSoon, IsShowInReservation = o.IsShowInReservation, IsRecommend = o.IsRecommend, StoreID = o.StoreID, }).FirstOrDefault(); data.ListImages = cxt.CMS_ImagesLink.Where(o => o.ProductId == Id).OrderBy(o => o.Offset).Select(o => new CMS_ImagesModels() { Id = o.Id, OffSet = o.Offset, ImageName = o.ImageURL, ProductId = o.ProductId, ImageURL = string.IsNullOrEmpty(o.ImageURL) ? "" : Commons._PublicImages + "Products/" + o.ImageURL, }).ToList(); /* response data */ result = data; NSLog.Logger.Info("ResponseProductGetDetail", result); } } catch (Exception ex) { NSLog.Logger.Error("ErrorProductGetDetail", ex); } return(result); }
public bool CreateOrUpdate(CMS_ProductsModels model, ref string msg) { model.PictureUpload = null; NSLog.Logger.Info("ProductCreateOrUpdate", model); var Result = true; using (var cxt = new CMS_Context()) { try { if (string.IsNullOrEmpty(model.Id)) /* insert */ { var _Id = Guid.NewGuid().ToString(); model.ProductCode = model.ProductCode.Trim(); model.BarCode = model.BarCode.Trim(); var isDupProdctCode = cxt.CMS_Products.Where(o => o.ProductCode.Contains(model.ProductCode) && o.Status == (byte)Commons.EStatus.Actived).Count() > 0; if (isDupProdctCode == false) /* don't duplicate */ { var e = new CMS_Products { ID = _Id, TypeCode = model.ProductTypeCode, CategoryID = model.CategoryId, Name = model.ProductName, ProductCode = model.ProductCode, BarCode = model.BarCode, Description = model.Description, ShortDescription = model.ShortDescription, PrintOutText = model.PrintOutText, IsActive = model.IsActive, ImageURL = model.ImageURL, Cost = model.ProductPrice, Unit = model.Unit, Measure = model.Measure, Quantity = (decimal)model.Quantity, Limit = model.Limit, ExtraPrice = model.ExtraPrice, IsAllowedDiscount = model.IsAllowedDiscount, IsCheckedStock = model.IsCheckedStock, IsAllowedOpenPrice = model.IsAllowedOpenPrice, IsPrintedOnCheck = model.IsPrintedOnCheck, ExpiredDate = model.ExpiredDate, IsAutoAddToOrder = model.IsAutoAddToOrder, IsComingSoon = model.IsComingSoon, IsShowInReservation = model.IsShowInReservation, IsRecommend = model.IsRecommend, StoreID = model.StoreID, Status = (byte)Commons.EStatus.Actived, CreatedDate = DateTime.Now, CreatedUser = model.CreatedBy, ModifiedUser = model.CreatedBy, LastModified = DateTime.Now, }; cxt.CMS_Products.Add(e); if (model.ListImages != null && model.ListImages.Any()) { var _e = new List <CMS_ImagesLink>(); model.ListImages.ForEach(x => { _e.Add(new CMS_ImagesLink { Id = Guid.NewGuid().ToString(), ImageURL = x.ImageURL, ProductId = _Id, Offset = x.OffSet, CreatedUser = model.CreatedBy, CreatedDate = DateTime.Now, ModifiedUser = model.CreatedBy, LastModified = DateTime.Now }); }); cxt.CMS_ImagesLink.AddRange(_e); } } else { Result = false; msg = "Duplicate product Code."; } } else /* updated */ { var isDupProdctCode = cxt.CMS_Products.Where(o => o.ProductCode.Contains(model.ProductCode) && o.Status == (byte)Commons.EStatus.Actived && o.ID != model.Id).Count() > 0; if (isDupProdctCode == false) /* don't duplicate */ { var proCheck = cxt.CMS_Products.Find(model.Id); if (proCheck != null) { proCheck.TypeCode = model.ProductTypeCode; proCheck.CategoryID = model.CategoryId; proCheck.Name = model.ProductName; proCheck.ProductCode = model.ProductCode; proCheck.BarCode = model.BarCode; proCheck.Description = model.Description; proCheck.ShortDescription = model.ShortDescription; proCheck.PrintOutText = model.PrintOutText; proCheck.IsActive = model.IsActive; proCheck.ImageURL = model.ImageURL; proCheck.Cost = model.ProductPrice; proCheck.Unit = model.Unit; proCheck.Measure = model.Measure; proCheck.Quantity = (decimal)model.Quantity; proCheck.Limit = model.Limit; proCheck.ExtraPrice = model.ExtraPrice; proCheck.IsAllowedDiscount = model.IsAllowedDiscount; proCheck.IsCheckedStock = model.IsCheckedStock; proCheck.IsAllowedOpenPrice = model.IsAllowedOpenPrice; proCheck.IsPrintedOnCheck = model.IsPrintedOnCheck; proCheck.ExpiredDate = model.ExpiredDate; proCheck.IsAutoAddToOrder = model.IsAutoAddToOrder; proCheck.IsComingSoon = model.IsComingSoon; proCheck.IsShowInReservation = model.IsShowInReservation; proCheck.IsRecommend = model.IsRecommend; proCheck.StoreID = model.StoreID; proCheck.ModifiedUser = model.CreatedBy; proCheck.LastModified = DateTime.Now; if (model.ListImages != null && model.ListImages.Any()) { var _edel = cxt.CMS_ImagesLink.Where(x => x.ProductId.Equals(proCheck.ID)); cxt.CMS_ImagesLink.RemoveRange(_edel); var _e = new List <CMS_ImagesLink>(); model.ListImages.ForEach(x => { _e.Add(new CMS_ImagesLink { Id = Guid.NewGuid().ToString(), ImageURL = x.ImageURL, ProductId = proCheck.ID, Offset = x.OffSet, CreatedUser = model.CreatedBy, CreatedDate = DateTime.Now, ModifiedUser = model.CreatedBy, LastModified = DateTime.Now }); }); cxt.CMS_ImagesLink.AddRange(_e); } } else { Result = false; msg = "Unable to find products."; } } else { Result = false; msg = "Duplicate product Code."; } } cxt.SaveChanges(); NSLog.Logger.Info("ResponseProductCreateOrUpdate", new { Result, msg }); } catch (Exception ex) { Result = false; msg = "System Error."; NSLog.Logger.Error("ErrorProductCreateOrUpdate", ex); } } return(Result); }