예제 #1
0
        /// <summary>
        /// 获取角色所分配的用户组
        /// </summary>
        /// <param name="RoleId"></param>
        /// <returns></returns>
        public MessageModel GetRoleUserGroupList(string RoleId, string page, string limit, string searchstr)
        {
            var messageModel = new MessageModel();
            var PageModel    = new PageModel();
            var urRelateds   = sysUrRelatedDAL.SqlQuery <SysUgrRelated>($"SELECT * FROM Sys_UgrRelated WHERE RoleId='{RoleId}'").ToList();
            Expression <Func <SysUserGroup, bool> > expression = t => (string.IsNullOrEmpty(searchstr) ||
                                                                       t.UserGroupName.Contains(searchstr)) && t.DeleteSign.Equals((int)SysEnum.Enum_DeleteSign.Sing_Deleted) &&
                                                                 urRelateds.Any(x => x.UserGroupId == t.UserGroupId);

            PageModel.RowCount = sysUserGroupDAL.GetCount(expression);
            int iBeginRow = Convert.ToInt32(limit) * (Convert.ToInt32(page) - 1), iEndRow = Convert.ToInt32(page) * Convert.ToInt32(limit);
            var list = sysUserDAL.SqlQuery <SysUserGroupDto>($@"                                     
                                    SELECT T1.*
                                    FROM Sys_UserGroup T1
                                    WHERE T1.UserGroupName LIKE '%{searchstr}%'
                                        AND T1.DeleteSign = 1
                                        AND T1.UserGroupId IN('{String.Join("','", urRelateds.Count == 0 ? new List<string>() : urRelateds.Select(t => t.UserGroupId))}')
                                ORDER BY T1.CREATETIME
                                limit  {iBeginRow},{limit} ");

            PageModel.Data    = list;
            messageModel.Data = PageModel;
            return(messageModel);
        }
예제 #2
0
        /// <summary>
        /// 获取角色所分配的用户组
        /// </summary>
        /// <param name="roleId"></param>
        /// <returns></returns>
        public HandleResult <PageModel> GetRoleUserGroupList(string roleId, string page, string limit, string searchstr)
        {
            var handleResult = new HandleResult <PageModel>();
            var PageModel    = new PageModel();
            var urRelateds   = sysUgrRelatedDAL.GetModels(t => t.RoleId.Equals(roleId));
            Expression <Func <SysUserGroup, bool> > expression = t => (string.IsNullOrEmpty(searchstr) ||
                                                                       t.UserGroupName.Contains(searchstr)) && t.DeleteSign.Equals((int)DeleteSign.Sing_Deleted) &&
                                                                 urRelateds.Any(x => x.UserGroupId == t.UserGroupId);

            PageModel.RowCount = sysUserGroupDAL.GetCount(expression);
            var list = sysUserGroupDAL.GetModelsByPage(Convert.ToInt32(limit), Convert.ToInt32(page), false, t => t.CreateTime, expression);

            PageModel.Data    = Mapper.Map <List <SysUserGroupDto> >(list);
            handleResult.Data = PageModel;
            return(handleResult);
        }
예제 #3
0
        /// <summary>
        /// 获取用户组列表
        /// </summary>
        /// <param name="page">第几页</param>
        /// <param name="limit">页容量</param>
        /// <param name="searchstr">搜索内容</param>
        /// <returns></returns>
        public MessageModel GetUserGroupList(string page, string limit, string searchstr)
        {
            var messageModel = new MessageModel();
            var pageModel    = new PageModel();
            Expression <Func <SysUserGroup, bool> > expression = t => (string.IsNullOrEmpty(searchstr) || t.UserGroupName.Contains(searchstr)) && t.DeleteSign.Equals((int)SysEnum.Enum_DeleteSign.Sing_Deleted);

            pageModel.RowCount = userGroupDAL.GetCount(expression);
            int iBeginRow = Convert.ToInt32(limit) * (Convert.ToInt32(page) - 1), iEndRow = Convert.ToInt32(page) * Convert.ToInt32(limit);
            var list = userGroupDAL.SqlQuery <SysUserGroupDto>($@"SELECT T1.UserGroupId,
                             T1.UserGroupName,
                             T1.ParentUserGroupId,
                            T2.UserGroupName ParentUserGroupName, T1.CreateTime, T1.Note 
                            FROM Sys_UserGroup T1
                            LEFT JOIN Sys_UserGroup T2
                            ON T1.ParentUserGroupId=T2.UserGroupId
                            WHERE  (T1.UserGroupName LIKE '%{searchstr}%' 
                            OR T2.UserGroupName LIKE '%{searchstr}%')
                            AND T1.DeleteSign=1 order by T1.CREATETIME 
                            limit  {iBeginRow} ,  {limit} ");

            pageModel.Data    = list;
            messageModel.Data = pageModel;
            return(messageModel);
        }