Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }