Beispiel #1
0
        /// <summary>
        /// 详情页面
        /// </summary>
        /// <param name="req">请求</param>
        /// <returns></returns>
        public ActionResult Detail(AllReq req)
        {
            if (req.gradeId == null)
            {
                var fatherId   = req.fatherId;
                var fatherName = req.fatherName;
                ViewBag.req   = new GradeDetailReq(fatherId, fatherName);
                ViewBag.attrs = new List <string>();
            }
            else
            {
                var gradeId   = Convert.ToInt32(req.gradeId);
                var gradeView = GradeFunc.Instance.GetGradefpById(gradeId);
                ViewBag.attrs = GradeFunc.Instance.GetAttrs(gradeId);
                ViewBag.req   = new GradeDetailReq(gradeView);
            }
            var CommdityList     = CommodityFunc.Instance.GetAllCommList();
            var thisCommdityList = new List <Commodity_Stageprice_View>();

            ViewBag.CommdityList     = CommdityList;
            ViewBag.thisCommdityList = thisCommdityList;
            ViewBag.IsScence         = req.IsScence;
            if (req.IsScence == true)
            {
                thisCommdityList = CommdityList.Where(p => p.ScenceIds != null && p.ScenceIds.Contains($",{req.gradeId}|")).ToList();
            }
            else
            {
                thisCommdityList = CommdityList.Where(p => p.GradeId != null && p.GradeId.ToString() == req.gradeId).ToList();
            }
            ViewBag.thisCommdityList = thisCommdityList;
            return(View());
        }
Beispiel #2
0
        public ResultJson Delete(AllReq req)
        {
            ResultJson r = new ResultJson();

            r.HttpCode = 200;
            var gradeId  = Convert.ToInt32(req.gradeId);
            var listImgs = GradeFunc.Instance.Update(new Grade {
                Id = gradeId, IsDelete = true
            });

            return(r);
        }
Beispiel #3
0
        public ResultJson Add(AllReq req)
        {
            ResultJson r = new ResultJson();

            r.HttpCode = 200;
            var gradeImg   = req.gradeImg;
            var gradeName  = req.gradeName;
            var fatherName = req.fatherName;
            var fatherId   = req.fatherId;
            var gradeId    = 0;
            var imgName    = "";

            #region 添加方法
            if (!gradeImg.IsNullOrEmpty())
            {
                imgName = gradeImg.Substring(gradeImg.LastIndexOf('/') + 1);
            }
            var BigImgName = "";
            if (!req.gradeBigImg.IsNullOrEmpty())
            {
                BigImgName = req.gradeBigImg.Substring(req.gradeBigImg.LastIndexOf('/') + 1);
            }
            Grade grade = new Grade
            {
                Id       = gradeId,
                Name     = req.gradeName,
                Image    = req.gradeImg.IsNullOrEmpty() ? null : $"/current/images/grade/{imgName}",
                BigImage = req.gradeBigImg.IsNullOrEmpty() ? null : $"/current/images/grade/{BigImgName}",
            };
            if (fatherId.IsNullOrEmpty())//添加一级分类
            {
                Grade g = new Grade();
                g.Name     = gradeName;
                g.BigImage = grade.BigImage;
                g.IsScene  = req.IsScence;
                if (!gradeImg.IsNullOrEmpty())
                {
                    g.Image = $"/current/images/grade/{imgName}";
                }
                gradeId = GradeFunc.Instance.Add(g);
            }
            //有父分类的情况
            else
            {
                Grade g = new Grade();
                g.Name     = gradeName;
                g.BigImage = grade.BigImage;
                g.ParentId = Convert.ToInt32(fatherId);
                g.IsScene  = req.IsScence;
                if (!gradeImg.IsNullOrEmpty())
                {
                    g.Image = $"/current/images/grade/{imgName}";
                }
                gradeId = GradeFunc.Instance.Add(g);
            }
            #endregion
            #region 分类更新
            grade = GradeFunc.Instance.SelectById(gradeId);
            var CommdityList = CommodityFunc.Instance.GetAllCommList();
            var CommdityIds  = req.CommdityList != null?req.CommdityList.Split('|').Where(p => !string.IsNullOrEmpty(p)).Distinct().ToList() : new List <string>();

            if (grade.IsScene == true)
            {
                var thisCommdityList = CommdityList.Where(p => p.ScenceIds != null && p.ScenceIds.Contains($",{gradeId}|")).ToList();
                #region 更新商品
                foreach (var commId in CommdityIds)
                {
                    var item = CommdityList.Where(p => p.Id.ToString() == commId).FirstOrDefault();
                    if (item.ScenceIds != null && item.ScenceIds.Contains($",{gradeId}|"))
                    {
                    }
                    else
                    {
                        var ScenceIdList = item.ScenceIds != null?item.ScenceIds.Split('|').Where(p => !string.IsNullOrEmpty(p)).ToList() : new List <string>();

                        var ScenceItem = ScenceIdList.Where(p => p.Contains($",{gradeId}")).FirstOrDefault();
                        if (ScenceItem != null)
                        {
                            ScenceIdList.Remove(ScenceItem);
                        }
                        ScenceIdList.Add($"{grade.Name},{grade.Id}");
                        var ScenceIds = "|";
                        foreach (var ScenceId in ScenceIdList)
                        {
                            ScenceIds = $"{ScenceIds}{ScenceId}|";
                        }
                        CommodityFunc.Instance.Update(new Commodity {
                            Id = item.Id, ScenceIds = ScenceIds
                        });
                    }
                }
                foreach (var item in thisCommdityList)
                {
                    if (!CommdityIds.Contains(item.Id.ToString()))
                    {
                        var ScenceIdList = item.ScenceIds != null?item.ScenceIds.Split('|').Where(p => !string.IsNullOrEmpty(p)).ToList() : new List <string>();

                        var ScenceItem = ScenceIdList.Where(p => p.Contains($",{req.gradeId}")).FirstOrDefault();
                        if (ScenceItem != null)
                        {
                            ScenceIdList.Remove(ScenceItem);
                        }
                        var ScenceIds = "|";
                        foreach (var ScenceId in ScenceIdList)
                        {
                            ScenceIds = $"{ScenceIds}{ScenceId}|";
                        }
                        CommodityFunc.Instance.Update(new Commodity {
                            Id = item.Id, ScenceIds = ScenceIds
                        });
                    }
                }
                #endregion
            }
            else
            {
                var thisCommdityList = CommdityList.Where(p => p.GradeId != null && p.GradeId.ToString() == req.gradeId).ToList();
                #region 更新商品
                foreach (var commId in CommdityIds)
                {
                    var item = CommdityList.Where(p => p.Id.ToString() == commId).FirstOrDefault();
                    if (item.GradeId != grade.Id)
                    {
                        CommodityFunc.Instance.Update(new Commodity {
                            Id = item.Id, GradeId = grade.Id
                        });
                        if (item.MaterialId != null)
                        {
                            Raw_MaterialsFunc.Instance.Update(new Raw_Materials {
                                Id = item.MaterialId.Value, Genera = grade.Id.ToString()
                            });
                        }
                    }
                }
                foreach (var item in thisCommdityList)
                {
                    if (!CommdityIds.Contains(item.Id.ToString()))
                    {
                        CommodityFunc.Instance.Update(new Commodity {
                            Id = item.Id, GradeId = 0
                        });
                        if (item.MaterialId != null)
                        {
                            Raw_MaterialsFunc.Instance.Update(new Raw_Materials {
                                Id = item.MaterialId.Value, Genera = "0"
                            });
                        }
                    }
                }
                #endregion
            }
            CommodityFunc.Instance.ReGetAllCommList();
            #endregion
            #region MyRegion
            if (!req.gradeImg.IsNullOrEmpty())
            {
                CopyFile(imgName, req.gradeImg);
            }

            if (!req.gradeBigImg.IsNullOrEmpty())
            {
                var targetUrl = HttpContext.Current.Server.MapPath($"/current/images/grade/{BigImgName}");
                var sourceUrl = HttpContext.Current.Server.MapPath(req.gradeBigImg);
                if (targetUrl != sourceUrl)
                {
                    ImageUploadHelper.Instance.GetPicThumbnail(sourceUrl, targetUrl, 400, 80);
                }
            }


            #endregion

            GradeFunc.Instance.ResetCache();
            return(r);
        }
Beispiel #4
0
 public void AddNewOnlineDevice(AllReq req)
 {
 }