public bool CreateOrUpdate(CMS_ProceduresModels model, ref string msg) { model.PictureUpload = null; NSLog.Logger.Info("ProcedureCreateOrUpdate", 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.ProceduresName, ProductCode = model.ProductCode, //BarCode = model.BarCode, Description = model.Description, ShortDescription = model.ShortDescription, //PrintOutText = model.PrintOutText, IsActive = model.IsActive, ImageURL = model.ImageUrl, Cost = model.Price, //Unit = model.Unit, Measure = model.Measure, //Quantity = 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, Process = model.Process, Preparation = model.Preparation, Effect = model.Effect, SpaTreatment = model.SpaTreatment, Duration = model.Duration, Status = (byte)Commons.EStatus.Actived, CreatedDate = DateTime.Now, CreatedUser = model.CreatedBy, ModifiedUser = model.CreatedBy, LastModified = DateTime.Now, }; cxt.CMS_Products.Add(e); if (cxt.SaveChanges() <= 0) { Result = false; msg = "System error!"; } } else { Result = false; msg = "Trùng mã sản phẩm/liệu trình."; } } 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.ProceduresName; proCheck.ProductCode = model.ProductCode; proCheck.TypeCode = model.ProductTypeCode; 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 = (double)model.Price; //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; //roCheck.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.Process = model.Process; proCheck.Preparation = model.Preparation; proCheck.Effect = model.Effect; proCheck.SpaTreatment = model.SpaTreatment; proCheck.Duration = model.Duration; proCheck.ModifiedUser = model.UpdatedBy; proCheck.LastModified = DateTime.Now; if (cxt.SaveChanges() <= 0) { Result = false; msg = "System error!"; } } else { Result = false; msg = "Unable to find Procedure/products."; } } else { Result = false; msg = "Trùng mã sản phẩm/liệu trình."; } } NSLog.Logger.Info("ResponseProcedureCreateOrUpdate", new { Result, msg }); } catch (Exception ex) { Result = false; msg = "System Error."; NSLog.Logger.Error("ErrorProcedureCreateOrUpdate", ex); } } return(Result); }
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 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); }