예제 #1
0
        public CMS_ProceduresModels GetDetail(string Id)
        {
            NSLog.Logger.Info("ProcedureGetDetail", Id);
            CMS_ProceduresModels 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_ProceduresModels
                    {
                        Id = o.ID,
                        ProductTypeCode  = o.TypeCode,
                        CategoryId       = o.CategoryID,
                        ProceduresName   = o.Name,
                        ProductCode      = o.ProductCode,
                        BarCode          = o.BarCode,
                        Description      = o.Description,
                        ShortDescription = o.ShortDescription,
                        PrintOutText     = o.PrintOutText,
                        IsActive         = o.IsActive,
                        ImageUrl         = string.IsNullOrEmpty(o.ImageURL) ? "" : Commons._PublicImages + "Procedures/" + o.ImageURL,
                        Price            = o.Cost,
                        //Unit = o.Unit ?? 1,
                        //Measure = o.Measure,
                        Quantity   = o.Quantity ?? 0,
                        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,
                        Process             = o.Process,
                        Preparation         = o.Preparation,
                        SpaTreatment        = o.SpaTreatment,
                        Effect   = o.Effect,
                        Duration = o.Duration,
                    }).FirstOrDefault();


                    /* response data */
                    result = data;

                    NSLog.Logger.Info("ResponseProcedureGetDetail", result);
                }
            }
            catch (Exception ex)
            {
                NSLog.Logger.Error("ErrorProcedureGetDetail", ex);
            }
            return(result);
        }
예제 #2
0
        public ActionResult Create(CMS_ProceduresModels model)
        {
            try
            {
                byte[] photoByte = null;

                if (!ModelState.IsValid)
                {
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(PartialView("_Create", model));
                }
                if (model.PictureUpload != null && model.PictureUpload.ContentLength > 0)
                {
                    Byte[] imgByte = new Byte[model.PictureUpload.ContentLength];
                    model.PictureUpload.InputStream.Read(imgByte, 0, model.PictureUpload.ContentLength);
                    model.PictureByte   = imgByte;
                    model.ImageUrl      = Guid.NewGuid() + Path.GetExtension(model.PictureUpload.FileName);
                    model.PictureUpload = null;
                    photoByte           = imgByte;
                }
                var msg = "";
                model.CreatedBy = CurrentUser.UserId;
                model.UpdatedBy = CurrentUser.UserId;
                var result = _factory.CreateOrUpdate(model, ref msg);
                if (result)
                {
                    if (!string.IsNullOrEmpty(model.ImageUrl) && model.PictureByte != null)
                    {
                        var          path = Server.MapPath("~/Uploads/Procedures/" + model.ImageUrl);
                        MemoryStream ms   = new MemoryStream(photoByte, 0, photoByte.Length);
                        ms.Write(photoByte, 0, photoByte.Length);
                        System.Drawing.Image imageTmp = System.Drawing.Image.FromStream(ms, true);

                        ImageHelper.Me.SaveCroppedImage(imageTmp, path, model.ImageUrl, ref photoByte, Commons.WidthProcedure, Commons.WidthProcedure, Commons.HeightProcedure);
                    }
                    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));
            }
        }
예제 #3
0
        public ActionResult Delete(CMS_ProceduresModels model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(PartialView("_Delete", model));
                }
                var orgImageUrl = "";
                if (!string.IsNullOrEmpty(model.ImageUrl))
                {
                    model.ImageUrl = model.ImageUrl.Replace(Commons._PublicImages, "").Replace("Procedures/", "").Replace(Commons.Image200_100, "");
                    orgImageUrl    = model.ImageUrl;
                }

                var msg    = "";
                var result = _factory.Delete(model.Id, ref msg);
                if (result)
                {
                    if (System.IO.File.Exists(Server.MapPath("~/Uploads/Procedures/" + orgImageUrl)))
                    {
                        ImageHelper.Me.TryDeleteImageUpdated(Server.MapPath("~/Uploads/Procedures/" + orgImageUrl));
                    }

                    return(RedirectToAction("Index"));
                }
                ModelState.AddModelError("ProcedureName", msg);
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(PartialView("_Delete", model));
            }
            catch (Exception ex)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(PartialView("_Delete", model));
            }
        }
예제 #4
0
        public ActionResult Create()
        {
            CMS_ProceduresModels model = new CMS_ProceduresModels();

            return(PartialView("_Create", model));
        }
예제 #5
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);
        }