Ejemplo n.º 1
0
        public ActionResult PostRecommendPage()
        {
            int posId = DoRequest.GetFormInt("posid2");
            int flag  = DoRequest.GetFormInt("flag", 0);
            int plat  = DoRequest.GetFormInt("plat", 0);

            if (plat == 4)
            {
                plat = 6;
            }

            string posName = DoRequest.GetFormString("name");

            if (posName.Length < 1)
            {
                return(Json(new { error = true, message = "页面名称不能为空" }));
            }
            if (posName.Length > 50)
            {
                return(Json(new { error = true, message = "页面名称不能超过50个字符" }));
            }

            RecommendPositionInfo pos = new RecommendPositionInfo();
            var resrep = GetRecommendPositionInfo.Do(posId);

            if (resrep != null && resrep.Body != null)
            {
                pos = resrep.Body;
            }
            pos.rp_name = posName;
            if (flag == 0 && pos.rp_id > 0)
            {
                return(Json(new { error = true, message = "该位置ID已存在!" }));
            }
            if (pos.rp_id < 1)
            {
                pos.rp_id    = posId;
                pos.rp_code  = Guid.NewGuid().ToString().ToLower();
                pos.use_plat = plat;
            }
            pos.op_flag = flag;

            int rVal = -1;
            var res  = OpTopRecommendPosition.Do(pos);

            if (res != null && res.Header != null && res.Header.Result != null && res.Header.Result.Code != null)
            {
                rVal = Utils.StrToInt(res.Header.Result.Code, -1);
            }
            if (rVal == 0)
            {
                return(Json(new { error = false, message = "操作成功" }));
            }

            return(Json(new { error = true, message = "操作失败" }));
        }
Ejemplo n.º 2
0
        public ActionResult PostPosition()
        {
            int ptype = DoRequest.GetFormInt("ptype", 7);

            string parent = DoRequest.GetFormString("parent");

            string xmlString = DoRequest.GetFormString("xml", false).Replace("&lt;", "<").Replace("&gt;", ">");

            try
            {
                XmlDataDocument xmlDoc = new XmlDataDocument();
                xmlDoc.LoadXml(xmlString);
                List <RecommendPositionInfo> posList = new List <RecommendPositionInfo>();
                List <string> codeList = new List <string>();//id
                codeList.Add(parent);

                XmlNodeList nodes = xmlDoc.SelectNodes("items/item");
                //XmlNodeList nodes = xmlDoc.SelectNodes("items/item[@Type='create']");
                if (nodes != null)
                {
                    #region 新增分类
                    foreach (XmlNode item in nodes)
                    {
                        RecommendPositionInfo pos = new RecommendPositionInfo();
                        string itemType           = item.Attributes["Type"].Value.Trim();
                        string parentValue        = item.Attributes["ParentID"].Value.Trim();
                        string posValue           = item.Attributes["Code"].Value.Trim();
                        int    posId     = Utils.StrToInt(item.Attributes["PosID"].Value.Trim());
                        string sortValue = item.Attributes["SortNo"].Value.Trim();
                        int    useplat   = Utils.StrToInt(item.Attributes["UsePlat"].Value.Trim(), 7);
                        if (useplat == 4)
                        {
                            useplat = 6;
                        }
                        string flag = item.Attributes["Flag"].Value.Trim();
                        //if (string.IsNullOrEmpty(parentValue))
                        //{
                        //    sortValue = "100" + sortValue;
                        //}
                        if (flag.Equals("true"))
                        {
                            pos.op_flag = 0;
                        }
                        else
                        {
                            pos.op_flag = 1;
                        }
                        string nameValue = item.SelectSingleNode("name").InnerText.Trim();

                        if (string.IsNullOrEmpty(nameValue))
                        {
                            return(Json(new { error = true, message = "请填写分类名称,或将未填写分类名的行删除..." }));
                        }
                        if (nameValue.Length > 100)
                        {
                            return(Json(new { error = true, message = "分类名不能大于100个字符..." }));
                        }
                        pos.rp_id          = posId;
                        pos.rp_name        = nameValue;                                          //分类名
                        pos.parent_rp_code = parentValue;                                        //父类编码

                        pos.rp_code  = posValue;                                                 //Utils.IsGuid(classValue) ? classValue : Guid.NewGuid().ToString().ToLower();//分类编码
                        pos.sort_no  = Utils.IsNumber(sortValue) ? int.Parse(sortValue) : 10000; //排序
                        pos.use_plat = useplat;
                        posList.Add(pos);
                        codeList.Add(pos.rp_code);
                    }
                    #endregion
                }

                #region  除分类
                List <ShortRecommendPosition> dbList = new List <ShortRecommendPosition>();
                var ressrel = GetRecommendPositionByCode.Do(parent, ptype);//非顶级分类
                if (ressrel != null && ressrel.Body != null && ressrel.Body.recommend_list != null)
                {
                    dbList = ressrel.Body.recommend_list;
                }

                //StringBuilder sb = new StringBuilder();
                //int _deleteCount = 0;
                System.Text.StringBuilder deletePathList = new System.Text.StringBuilder();
                foreach (ShortRecommendPosition item in dbList)
                {
                    if (!codeList.Contains(item.rp_code.ToLower().Trim()))
                    {
                        deletePathList.Append(item.rp_code.Trim() + ",");
                    }
                    List <ShortRecommendPosition> dbList2 = new List <ShortRecommendPosition>();
                    var ressrel2 = GetRecommendPositionByCode.Do(item.rp_code, ptype);//非顶级分类
                    if (ressrel2 != null && ressrel2.Body != null && ressrel2.Body.recommend_list != null)
                    {
                        dbList2 = ressrel2.Body.recommend_list;
                    }
                    foreach (ShortRecommendPosition em in dbList2)
                    {
                        if (!codeList.Contains(em.rp_code.ToLower().Trim()))
                        {
                            deletePathList.Append(em.rp_code.Trim() + ",");
                        }
                    }
                }

                #endregion

                int returnVal = -1;
                var res       = OpRecommendPosition.Do(posList, deletePathList.ToString());
                if (res != null && res.Header != null && res.Header.Result != null && res.Header.Result.Code != null)
                {
                    returnVal = Utils.StrToInt(res.Header.Result.Code, -1);
                }
                if (returnVal == 6)
                {
                    return(Json(new { error = true, message = "该位置ID已存在" }));
                }
                if (returnVal == 0)
                {
                    return(Json(new { error = false, message = "保存成功 ^_^" }));
                }
            }
            catch (Exception)
            {
                return(Json(new { error = true, message = "Xml解析失败..." }));
            }

            return(Json(new { error = true, message = "保存失败" }));
        }