/// <summary>
        /// 角色列表(分页)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ServiceResult <PagingResult <GetPagingRolesResponse> > GetPagingRoles(GetPagingRolesRequest request)
        {
            var result = new ServiceResult <PagingResult <GetPagingRolesResponse> >
            {
                ReturnCode = ReturnCodeType.Error,
                Content    = new PagingResult <GetPagingRolesResponse>()
            };

            var rs = _roleDao.GetPagingRoles(request);

            result.ReturnCode = ReturnCodeType.Success;
            result.Content    = rs;

            return(result);
        }
Exemple #2
0
        /// <summary>
        /// 角色列表(分页)
        /// </summary>
        /// <param name="request"></param>
        /// <param name="page"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
        public ActionResult GetPagingRoles(GetPagingRolesRequest request, int page, int rows)
        {
            var result = string.Empty;

            if (request == null)
            {
                request = new GetPagingRolesRequest();
            }
            request.PageIndex = page;
            request.PageSize  = rows;

            var rs = _roleService.GetPagingRoles(request);

            if (rs.ReturnCode == ReturnCodeType.Success)
            {
                result = "{\"total\": " + rs.Content.TotalCount + ",\"rows\":" + rs.Content.Entities.ToJson(dateTimeFormat: DateTimeTypeConst.DATETIME) + "}";
            }

            return(Content(result));
        }
Exemple #3
0
        /// <summary>
        /// 角色列表(分页)
        /// </summary>
        /// <param name="request"></param>
        /// <param name="page"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
        public ActionResult GetPagingRoles(GetPagingRolesRequest request, int page, int rows)
        {
            var result = string.Empty;

            if (request == null)
            {
                request = new GetPagingRolesRequest();
            }
            request.PageIndex = page;
            request.PageSize  = rows;

            using (var factory = new ChannelFactory <IRightsRoleService>("*"))
            {
                var client = factory.CreateChannel();
                var rs     = client.GetPagingRoles(request);
                if (rs.ReturnCode == ReturnCodeType.Success)
                {
                    result = "{\"total\": " + rs.Content.TotalCount + ",\"rows\":" + rs.Content.Entities.ToJson(dateTimeFormat: DateTimeTypeConst.DATETIME) + "}";
                }
            }

            return(Content(result));
        }
Exemple #4
0
        /// <summary>
        /// 角色列表(分页)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public PagingResult <GetPagingRolesResponse> GetPagingRoles(GetPagingRolesRequest request)
        {
            PagingResult <GetPagingRolesResponse> result = null;
            List <int> orgIds     = null;
            var        totalCount = 0;
            var        startIndex = (request.PageIndex - 1) * request.PageSize + 1;
            var        endIndex   = request.PageIndex * request.PageSize;

            //默认获取所有角色(不跟机构关联)
            if (request.OrgId == 0)
            {
                using (var conn = DapperHelper.CreateConnection())
                {
                    var multi  = conn.QueryMultiple(@"--获取所有角色并分页
                        SELECT  rs.*
                        FROM    ( SELECT    ROW_NUMBER() OVER ( ORDER BY r.created_time DESC ) AS RowNum ,
					                        r.id,
					                        r.name,
					                        r.description,
                                            r.organization_id AS OrgId ,
                                            r.created_by AS CreatedBy ,
                                            r.created_time AS CreatedTime ,
                                            r.last_updated_by AS LastUpdatedBy ,
                                            r.last_updated_time AS LastUpdatedTime ,
                                            org.name AS OrgName
                                  FROM      dbo.t_rights_role AS r
                                  LEFT JOIN dbo.t_rights_organization AS org ON r.organization_id= org.id
                                ) AS rs
                        WHERE   rs.RowNum BETWEEN @Start AND @End;

                        --获取所有角色total
                        SELECT COUNT(DISTINCT r.id) FROM dbo.t_rights_role AS r;", new { @Start = startIndex, @End = endIndex });
                    var query1 = multi.Read <GetPagingRolesResponse>();
                    var query2 = multi.Read <int>();
                    totalCount = query2.First();

                    result = new PagingResult <GetPagingRolesResponse>(totalCount, request.PageIndex, request.PageSize, query1);
                }
            }
            else
            {
                var childrenOrgs = new RightsOrganizationDao().GetChildrenOrgs(request.OrgId);
                if (childrenOrgs.HasValue())
                {
                    orgIds = childrenOrgs.DistinctBy(p => p.Id).OrderBy(p => p.Id).Select(p => p.Id).ToList();
                }

                using (var conn = DapperHelper.CreateConnection())
                {
                    var multi = conn.QueryMultiple(@"--获取指定机构(包括所有子机构)的角色并分页
                        SELECT  rs.*
                        FROM    ( SELECT    ROW_NUMBER() OVER ( ORDER BY r.created_time DESC ) AS RowNum ,
					                        r.id,
					                        r.name,
					                        r.description,
                                            r.organization_id AS OrgId ,
                                            r.created_by AS CreatedBy ,
                                            r.created_time AS CreatedTime ,
                                            r.last_updated_by AS LastUpdatedBy ,
                                            r.last_updated_time AS LastUpdatedTime ,
                                            org.name AS OrgName
                                  FROM      dbo.t_rights_role AS r
                                  LEFT JOIN dbo.t_rights_organization AS org ON r.organization_id= org.id
                                  WHERE r.organization_id IN @OrgIds
                                ) AS rs
                        WHERE   rs.RowNum BETWEEN @Start AND @End;

                        --获取指定机构(包括所有子机构)的角色total
                        SELECT COUNT(DISTINCT r.id) FROM dbo.t_rights_role AS r
                        WHERE r.organization_id IN @OrgIds;", new { @OrgIds = orgIds, @Start = startIndex, @End = endIndex });

                    var query1 = multi.Read <GetPagingRolesResponse>();
                    var query2 = multi.Read <int>();
                    totalCount = query2.First();

                    result = new PagingResult <GetPagingRolesResponse>(totalCount, request.PageIndex, request.PageSize, query1);
                }
            }

            return(result);
        }