Beispiel #1
0
 public int Add(RoleDb model, List <RoleModuleRelationDb> roleModuleRelations)
 {
     using (var dbContextTransaction = PermissionDal.DbContext.Database.BeginTransaction()) //起一个事务
     {
         try
         {
             PermissionDal.Add(model);
             PermissionDal.DbContext.SaveChanges();
             if (roleModuleRelations != null)
             {
                 foreach (var r in roleModuleRelations)
                 {
                     r.creator_name = model.creator_name;
                     r.creator_date = model.creator_date;
                     r.role_id      = model.role_id;
                     PermissionDal.Set <RoleModuleRelationDb>().Add(r);
                 }
             }
             PermissionDal.DbContext.SaveChanges();
             dbContextTransaction.Commit();
             return(model.role_id);
         }
         catch (Exception ex)
         {
             dbContextTransaction.Rollback();
             throw ex;
         }
     }
 }
Beispiel #2
0
        /// <summary>
        /// 获取用户对应的角色列表
        /// </summary>
        /// <param name="userName">用户名</param>
        /// <returns></returns>
        public IQueryable <RoleDb> GetRoleDbList(string userName)
        {
            IQueryable <int> roleIds =
                PermissionDal.Set <AdminUserRoleRelationDb>().Where(c => c.user_name == userName).Select(c => c.role_id);

            return(PermissionDal.Where(c => roleIds.Contains(c.role_id)));
        }
Beispiel #3
0
        /// <summary>
        /// 获取用户对应的有权限的活动的模块
        /// </summary>
        /// <param name="userName">用户名</param>
        /// <returns></returns>
        public IQueryable <ModuleDb> GetModuleList(string userName)
        {
            IQueryable <int>    roleIds     = RoleBll.Instance.GetRoleDbList(userName).Select(c => c.role_id);
            IQueryable <string> moduleCodes = PermissionDal.Set <RoleModuleRelationDb>()
                                              .Where(c => roleIds.Contains(c.role_id)).Select(c => c.module_code);

            return(PermissionDal.Where(c => moduleCodes.Contains(c.module_code) && c.module_status == (int)Model.Common.GlobalCode.CommonStatus.Active)
                   .OrderBy(c => c.order_by));
        }
Beispiel #4
0
        /// <summary>
        ///获取所有的模块,以Ztree可以识别的Ztree格式返回,并且根据角色权限设置对应模块为选中状态
        /// <param name="id">角色id</param>
        /// <returns></returns>
        public string GetModuleMacheRoleTree(int id)
        {
            List <LevelModuleViewModel> moduleList    = GetLevelMudleListIsArrayAll().Where(c => c.module_status == 1).ToList();
            List <JsonZtree>            jsonZtreeList = ZtreeManage.IniJsonZtreeList(moduleList, moduleList);

            if (id > 0)
            {
                List <RoleModuleRelationDb> list = PermissionDal.Set <RoleModuleRelationDb>()
                                                   .Where(c => c.role_id == id).ToList();
                foreach (var m in jsonZtreeList)
                {
                    if (list.FirstOrDefault(c => c.module_code == m.id) != null)
                    {
                        m.Checked = "true";
                        m.open    = "true";
                    }
                }
            }
            return(ZtreeManage.GetZtreeJson(jsonZtreeList));
        }
 /// <summary>
 /// 分页方法
 /// </summary>
 /// <param name="m">搜索模型</param>
 /// <returns></returns>
 public PagedList <DictionaryTypeTableDb> GetPageList(SearchModel m)
 {
     return(PermissionDal.Set <DictionaryTypeTableDb>().Where(m).Pager(m));
 }
Beispiel #6
0
 /// <summary>
 /// 获取所有的模块
 /// </summary>
 /// <returns></returns>
 public IQueryable <ModuleDb> GetMouduleListAll()
 {
     return(PermissionDal.Set <ModuleDb>().OrderBy(c => c.order_by));
 }
Beispiel #7
0
 /// <summary>
 /// 分页方法
 /// </summary>
 /// <param name="m">搜索模型</param>
 /// <returns></returns>
 public PagedList <RoleDb> GetRoleDbPageList(SearchModel m)
 {
     return(PermissionDal.Set <RoleDb>().Where(m).Pager(m));
 }
Beispiel #8
0
 /// <summary>
 /// 分页方法
 /// </summary>
 /// <param name="m">搜索模型</param>
 /// <returns></returns>
 public PagedList <AdminUserDb> GetPageList(SearchModel m)
 {
     return(PermissionDal.Set <AdminUserDb>().Where(m).Pager(m));
 }