コード例 #1
0
        private List <Tb_Spfl_Import> TurnShopSPImportList(DataTable table)
        {
            List <Tb_Spfl_Import> list = new List <Tb_Spfl_Import>();

            foreach (DataRow item in table.Rows)
            {
                Tb_Spfl_Import model = new Tb_Spfl_Import();
                model.bm     = item["编码或条码"] == null ? "" : item["编码或条码"].ToString();
                model.mc     = item["名称"] == null ? "" : item["名称"].ToString();
                model.father = item["上级名称"] == null ? "" : item["上级名称"].ToString();
                model.bz     = item["备注"] == null ? "" : item["备注"].ToString();
                list.Add(model);
            }
            return(list);
        }
コード例 #2
0
ファイル: Tb_SpflBLL.cs プロジェクト: 17/YunPos
        public BaseResult CheckImportInfo(Tb_Spfl_Import model)
        {
            BaseResult br = new BaseResult();

            if (string.IsNullOrEmpty(model.mc))
            {
                br.Success = false;
                br.Data    = "mc";
                br.Message.Add("名称不能为空");
                return(br);
            }
            //if (string.IsNullOrEmpty(model.bm))
            //{
            //    br.Success = false;
            //    br.Data = "bm";
            //    br.Message.Add("编码不能为空");
            //    return br;
            //}
            br.Success = true;
            return(br);
        }
コード例 #3
0
ファイル: Tb_SpflBLL.cs プロジェクト: 17/YunPos
        private void HandleHadNode(List <Tb_Spfl_Import> list, List <Tb_Spfl> spflList, string id_father, List <Tb_Spfl_Import> failList, string id_masteruser, string indbId_father = "0")
        {
            if (!spflList.Any() || string.IsNullOrEmpty(id_father))
            {
                return;
            }

            var nodes = spflList.Where(s => s.id_father == id_father).ToList();

            if (nodes.Any())
            {
                var       mclist = (from n in nodes select n.mc.Trim()).ToArray();
                Hashtable param  = new Hashtable();
                param.Add("id_masteruser", id_masteruser);
                param.Add("flag_delete", (int)Enums.FlagDelete.NoDelete);
                param.Add("mcList", mclist);
                if (id_father == "0")
                {
                    param.Add("path_like", "%/0/%");
                }
                else
                {
                    param.Add("path_like", string.Format("%/{0}%", indbId_father));
                }
                var hadList = DAL.QueryList <Tb_Spfl>(typeof(Tb_Spfl), param).ToList();
                if (hadList.Any())
                {
                    //遍历已存在的节点
                    hadList.ForEach(hl =>
                    {
                        //找出nodes中已存的节点,将其从spflList中移除掉,也将其从nodes移除
                        var node = nodes.FirstOrDefault(n => n.mc.Trim() == hl.mc);
                        if (node != null)
                        {
                            nodes.Remove(node);
                            spflList.Remove(node);

                            var hadModel = new Tb_Spfl_Import();
                            hadModel     = list.Where(d => d.bm.Trim() == node.bm.Trim() && d.mc.Trim() == node.mc.Trim()).FirstOrDefault();
                            hadModel.bz  = "此 名称 在数据库已经存在";
                            failList.Add(hadModel);

                            //找出此节点在spflList中的子节点,将其path与id_father变更
                            var sublist = spflList.Where(s => s.id_father == node.id).ToList();
                            //变更下一层级的id_father
                            sublist.ForEach(sl =>
                            {
                                sl.id_father = hl.id;
                            });
                            sublist = spflList.Where(s => s.path.Contains(node.path)).ToList();
                            //变更所有的path
                            sublist.ForEach(sl =>
                            {
                                sl.path = sl.path.Replace(node.path, hl.path);
                            });
                            HandleHadNode(list, spflList, hl.id, failList, id_masteruser, hl.id);
                        }
                    });
                }
            }
        }