示例#1
0
文件: Tb_SpflBLL.cs 项目: 17/YunPos
 private void HandleTreeNode(SpflUpdateTreeModel node, List <Tb_Spfl> spflList, List <Tb_Spfl> newList, BaseResult res)
 {
     if (node != null)
     {
         Tb_Spfl spflModel = spflList.FirstOrDefault(s => s.id == node.id);
         spflModel           = spflModel ?? new Tb_Spfl();
         spflModel.id        = node.id;
         spflModel.id_father = node.id_fahter;
         spflModel.sort_id   = node.sortNum;
         spflModel.path      = node.fartherPath + "/" + node.id;
         newList.Add(spflModel);
         if (node.children != null && node.children.Any())
         {
             for (int i = 0; i < node.children.Count; i++)
             {
                 var sn = node.children[i];
                 sn.fartherPath = spflModel.path;
                 sn.sortNum     = i + 10;
                 sn.id_fahter   = spflModel.id;
                 HandleTreeNode(sn, spflList, newList, res);
             }
             CheckName(node.children, spflList, res);
         }
     }
 }
示例#2
0
        public ActionResult Add(Tb_Spfl model)
        {
            var       oldParam = new Hashtable();
            Hashtable param    = base.GetParameters();

            param.Add("id_masteruser", id_user_master);
            Hashtable  param_model = null;
            BaseResult br          = new BaseResult();
            Tb_Spfl    model_spfl  = new Tb_Spfl();                         //新增对象

            try
            {
                ParamVessel pv = new ParamVessel();
                pv.Add("mc", string.Empty, HandleType.ReturnMsg);              //名称
                pv.Add("bm", string.Empty, HandleType.DefaultValue);           //编码
                pv.Add("id_masteruser", id_user_master, HandleType.ReturnMsg); //用户Id
                pv.Add("parent_id", string.Empty, HandleType.ReturnMsg);       //父节点Id
                param_model = param.Trim(pv);
                oldParam    = (Hashtable)param_model.Clone();
                if (TryUpdateModel(model_spfl))
                {
                    model_spfl.id_father     = param_model["parent_id"].ToString();
                    model_spfl.id_masteruser = id_user_master;
                    model_spfl.id_create     = model_spfl.id_edit = id_user;
                    br = BusinessFactory.Tb_Spfl.Add(model_spfl);
                }
                else
                {
                    br.Message.Add("参数有误!");
                }
            }
            catch (Exception ex)
            {
                br.Message.Add(ex.Message);
            }

            WriteDBLog("添加商品分类", oldParam, br);

            if (br.Success)
            {
                return(JsonString(new
                {
                    status = "success",
                    message = "执行成功,正在载入页面...",
                    spfl = br.Data
                }));
            }
            else
            {
                return(JsonString(new
                {
                    status = "error",
                    message = string.Join(";", br.Message),
                }));
            }
        }
示例#3
0
文件: Tb_SpflBLL.cs 项目: 17/YunPos
        public void GetSpflImportTree(List <Tb_Spfl_Import> list, List <Tb_Spfl> spflList, List <Tb_Spfl_Import> fiallist, string id_user, string id_masteruser)
        {
            if (list.Any())
            {
                var firstList = list.Where(l => string.IsNullOrWhiteSpace(l.father)).ToList();

                firstList.ForEach(fl =>
                {
                    var res = CheckImportInfo(fl);
                    if (!res.Success)
                    {
                        fl.bz = res.Message[0] ?? "数据不合要求!";
                        fiallist.Add(fl);
                    }
                    else
                    {
                        if (firstList.Where(d => d.mc == fl.mc).Count() > 1)
                        {
                            fl.bz = "操作失败 导入数据存在同名分类!";
                            fiallist.Add(fl);
                        }
                        else
                        {
                            Tb_Spfl st       = new Tb_Spfl();
                            st.bm            = fl.bm;
                            st.mc            = fl.mc;
                            st.id            = Guid.NewGuid().ToString();
                            st.path          = "/0/" + st.id;
                            st.id_father     = "0";
                            st.flag_delete   = (byte)Enums.FlagDelete.NoDelete;
                            st.rq_edit       = st.rq_create = DateTime.Now;
                            st.id_edit       = st.id_create = id_user;
                            st.id_masteruser = id_masteruser;
                            CreatSubTree(st, list, spflList, fiallist, id_user, id_masteruser);
                            var model = spflList.FirstOrDefault(sl => sl.mc == st.mc);
                            if (model != null && model.id_father == st.id_father)
                            {
                                fl.bz = "同一级中已有同名分类";
                                fiallist.Add(fl);
                            }
                            else
                            {
                                spflList.Add(st);
                            }
                        }
                    }
                });

                foreach (var item in list.Where(d => !(from s in spflList select s.mc).Contains(d.mc) && string.IsNullOrEmpty(d.bz)))
                {
                    item.bz = "导入文件中无此 上级名称 的根目录数据 或上级名称 根目录不符合要求";
                    fiallist.Add(item);
                }
            }
        }
示例#4
0
文件: Tb_SpflBLL.cs 项目: 17/YunPos
 public void CreatSubTree(Tb_Spfl st, List <Tb_Spfl_Import> list, List <Tb_Spfl> spflList, List <Tb_Spfl_Import> fiallist, string id_user, string id_masteruser)
 {
     if (st != null)
     {
         var sublist = FindSubSpflByMC(st.mc, list);
         if (sublist.Any())
         {
             sublist.ForEach(fl =>
             {
                 var res = CheckImportInfo(fl);
                 if (!res.Success)
                 {
                     fl.bz = res.Message[0] ?? "数据不合要求!";
                     fiallist.Add(fl);
                 }
                 else
                 {
                     Tb_Spfl sub       = new Tb_Spfl();
                     sub.bm            = fl.bm;
                     sub.mc            = fl.mc;
                     sub.id            = Guid.NewGuid().ToString();
                     sub.path          = st.path + "/" + sub.id;
                     sub.id_father     = st.id;
                     sub.flag_delete   = (byte)Enums.FlagDelete.NoDelete;
                     sub.rq_edit       = st.rq_create = DateTime.Now;
                     sub.id_edit       = st.id_create = id_user;
                     sub.id_masteruser = id_masteruser;
                     CreatSubTree(sub, list, spflList, fiallist, id_user, id_masteruser);
                     var model = spflList.FirstOrDefault(sl => sl.mc == sub.mc);
                     if (model != null && model.id_father == sub.id_father)
                     {
                         fl.bz = "同一级中已有同名分类";
                         fiallist.Add(fl);
                     }
                     else
                     {
                         spflList.Add(sub);
                     }
                 }
             });
         }
     }
 }
示例#5
0
        public ActionResult Edit(Tb_Spfl model)
        {
            var        oldParam = new Hashtable();
            BaseResult br       = new BaseResult();
            Hashtable  param    = base.GetParameters();

            param.Add("id_masteruser", id_user_master);
            Hashtable   param_model = null;
            ParamVessel pv          = new ParamVessel();

            pv.Add("mc", string.Empty, HandleType.ReturnMsg);
            pv.Add("bm", string.Empty, HandleType.DefaultValue);
            pv.Add("id_masteruser", string.Empty, HandleType.ReturnMsg);
            pv.Add("category_id", string.Empty, HandleType.ReturnMsg);

            try
            {
                param_model = param.Trim(pv);
                oldParam    = (Hashtable)param_model.Clone();
                br          = BusinessFactory.Tb_Spfl.Update(new Tb_Spfl()
                {
                    id_masteruser = param_model["id_masteruser"].ToString(),
                    id            = param_model["category_id"].ToString(),
                    bm            = param_model["bm"].ToString(),
                    mc            = param_model["mc"].ToString(),
                    id_edit       = id_user
                });
            }
            catch (Exception ex)
            {
                br.Message.Add(ex.Message);
            }
            WriteDBLog("修改商品分类", oldParam, br);

            return(JsonString(br, 1));
        }
示例#6
0
文件: Tb_SpflBLL.cs 项目: 17/YunPos
        /// <summary>
        /// 修改节点Path方法
        /// </summary>
        /// <param name="oldSubList">原子节点列表</param>
        /// <param name="nodeModel">节点</param>
        /// <param name="oldNodeModelPath">节点原Path</param>
        private void ChangeNodePath(IList <Tb_Spfl> oldSubList, Tb_Spfl nodeModel, string oldNodeModelPath)
        {
            var nd = DateTime.Now;

            if (oldSubList.Any())
            {
                oldSubList.ToList().ForEach(n =>
                {
                    if (n.id != nodeModel.id)
                    {
                        #region
                        n.path          = n.path.Replace(oldNodeModelPath, nodeModel.path);
                        Hashtable subHt = new Hashtable();
                        subHt.Add("id", n.id);
                        subHt.Add("id_masteruser", n.id_masteruser);
                        subHt.Add("new_path", n.path);
                        subHt.Add("new_id_edit", n.id_edit);
                        subHt.Add("new_rq_edit", nd);
                        DAL.UpdatePart(typeof(Tb_Spfl), subHt);
                        #endregion
                    }
                });
            }
        }
示例#7
0
        public override BaseResult Delete(Hashtable param)
        {
            BaseResult br       = new BaseResult();
            long       id       = Convert.ToInt64(param["id"]);
            long       backupId = Convert.ToInt64(param["backupId"]);
            long       id_gys   = Convert.ToInt64(param["id_gys"]);
            long       id_user  = Convert.ToInt64(param["id_user"]);

            param.Clear();
            param.Add("fatherId", id);
            if (DAL.QueryList <Tb_Spfl>(goodsType, param).Count > 0)
            {
                br.Success = false;
                br.Message.Add("该商品类别下有子类不可删除,请先删除子类");
                br.Level = ErrorLevel.Warning;
                return(br);
            }
            param.Clear();
            param.Add("id_spfl", id);
            if (DAL.GetCount(typeof(Tb_Gys_Sp), param) > 0)
            {
                if (backupId == -1)
                {
                    br.Success = false;
                    br.Message.Add("该类别下已有商品,请重新删除,选择商品转移的类别!");
                    br.Level = ErrorLevel.Warning;
                    return(br);
                }

                param.Clear();
                param.Add("id", backupId);
                var node = DAL.GetItem <Tb_Spfl>(typeof(Tb_Spfl), param);

                if (node == null)
                {
                    br.Success = false;
                    br.Message.Add("转移商品的类别不存在");
                    br.Level = ErrorLevel.Warning;
                    return(br);
                }

                param.Clear();
                param.Add("fatherId", backupId);
                if (DAL.QueryList <Tb_Spfl>(goodsType, param).Count > 0)
                {
                    br.Success = false;
                    br.Message.Add("转移商品的类别下还有子类,商品不能转移到该类别下,请重新选择");
                    br.Level = ErrorLevel.Warning;
                    return(br);
                }

                param.Clear();
                param.Add("id_spfl", id);
                param.Add("id_gys", id_gys);
                param.Add("new_id_spfl", backupId);
                param.Add("new_id_edit", id_user);
                param.Add("new_rq_edit", DateTime.Now);
                DAL.UpdatePart(typeof(Tb_Gys_Sp), param);
            }
            param.Clear();
            param.Add("id", id);
            Tb_Spfl model = DAL.GetItem <Tb_Spfl>(goodsType, param);

            DAL.Delete(goodsType, param);
            br.Message.Add("删除商品类别成功.");
            if (model != null)
            {
                br.Message.Clear();
                //br.Message.Add(String.Format("删除商品类别成功。编号{0},名称:{1}", model.bm, model.name));
            }
            br.Success = true;
            return(br);
        }