Esempio n. 1
0
        public void TestTrackingEdit()
        {
           
            var moduleRep = new ModuleRepository();
            //var module = moduleRep.FindSingle(u => u.Id == 14);
            //module.CascadeId = DateTime.Now.ToShortTimeString();
            //如果不加u.Id !=7 则会造成异常,可理解为数据库的默认隔离级别为“读已提交”,不允许脏读!
            //var obstruct = moduleRep.Find(u =>u.Id != 7); 
            //foreach (var module1 in obstruct)
            //{
            //    module.CascadeId += module1.CascadeId;
            //}
            //moduleRep.Update(module);

            var module2 = new Module
            {
                Id = 14,
                CascadeId = DateTime.Now.ToShortTimeString()
            };
            moduleRep.Update(module2);
        }
Esempio n. 2
0
        public void InitNav()
        {
            var root = new Module()
            {
                Name = "基础设置",
                ParentId = 0
            };
            _app.AddOrUpdate(root);

            var module = new Module
            {
                Name = "模块管理",
                Url = "ModuleManager/Index",
                ParentId = root.Id
            };
            _app.AddOrUpdate(module);
            module = new Module
            {
                Name = "用户管理",
                Url = "UserManager/Index",
                ParentId = root.Id
            };
            _app.AddOrUpdate(module);
            module = new Module
            {
                Name = "角色管理",
                Url = "RoleManager/Index",
                ParentId = root.Id
            };
            _app.AddOrUpdate(module);
            module = new Module
            {
                Name = "机构管理",
                Url = "OrgManager/Index",
                ParentId = root.Id
            };
            _app.AddOrUpdate(module);
        }
Esempio n. 3
0
 public void AddOrUpdate(Module vm)
 {
     Module model = new Module();
     vm.CopyTo(model);  //copy一次,防止成员为null的情况
     if (model.Id == 0)
     {
         ChangeModuleCascade(model);
         _repository.Add(model);
     }
     else
     {
         _repository.Update(model);
     }
 }
Esempio n. 4
0
        //修改对象的级联ID
        private void ChangeModuleCascade(Module module)
        {
            string cascadeId;
            int currentCascadeId = 1;  //当前结点的级联节点最后一位
            var sameLevels = _repository.Find(o => o.ParentId == module.ParentId && o.Id != module.Id);
            foreach (var obj in sameLevels)
            {
                int objCascadeId = int.Parse(obj.CascadeId.Split('.').Last());
                if (currentCascadeId <= objCascadeId) currentCascadeId = objCascadeId + 1;
            }

            if (module.ParentId != 0)
            {
                var parentOrg = _repository.FindSingle(o => o.Id == module.ParentId);
                if (parentOrg != null)
                {
                    cascadeId = parentOrg.CascadeId + "." + currentCascadeId;
                    module.ParentName = parentOrg.Name;
                }
                else
                {
                    throw new Exception("未能找到该组织的父节点信息");
                }
            }
            else
            {
                cascadeId = "0." + currentCascadeId;
                module.ParentName = "根节点";
            }

            module.CascadeId = cascadeId;
        }
Esempio n. 5
0
        public void TestEdit()
        {
            //var module = _app.Find(7);
            //_app.AddOrUpdate(module);

            var module1 = new Module
            {
                Id = 14,
                Name = DateTime.Now.ToString()
            };
            _app.AddOrUpdate(module1);
        }
Esempio n. 6
0
 public Module Add(int parent = 0)
 {
     var module = new Module()
     {
         Name = "test_" + _time,
         ParentId = parent,
         IconName = null,
         HotKey = null
     };
     _app.AddOrUpdate(module);
     return module;
 }
 public string Add(Module model)
 {
     try
     {
         _app.AddOrUpdate(model);
     }
     catch (Exception ex)
     {
         BjuiResponse.statusCode = "300";
         BjuiResponse.message = ex.Message;
     }
     return JsonHelper.Instance.Serialize(BjuiResponse);
 }