public IActionResult GetRoles([FromBody] RolesQueryFilter filters)
        {
            if (!User.Identity.IsAuthenticated)
            {
                throw new AuthenticationException();
            }
            var roles    = _roleService.GetRoles(filters);
            var rolesDto = _mapper.Map <IEnumerable <RolesDto> >(roles);
            var metadata = new Metadata
            {
                TotalCount      = roles.TotalCount,
                PageSize        = roles.PageSize,
                CurrentPage     = roles.CurrentPage,
                TotalPages      = roles.TotalPages,
                HasNextPage     = roles.HasNextPage,
                HasPreviousPage = roles.HasPreviousPage,
                NextPageUrl     = _uriService.GetPostPaginationUri(filters, Url.RouteUrl(nameof(GetRoles))).ToString(),
                PreviousPageUrl = _uriService.GetPostPaginationUri(filters, Url.RouteUrl(nameof(GetRoles))).ToString()
            };
            var response = new ApiResponse <IEnumerable <RolesDto> >(rolesDto)
            {
                Meta = metadata
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));
            return(Ok(response));
        }
        public PagedList <Roles> GetRoles(RolesQueryFilter filters)
        {
            filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber;
            filters.PageSize   = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize;
            var roles = _unitOfWork.RolesRepository.GetAll();

            if (filters.filter != null)
            {
                roles = roles.Where(x => x.rolename.ToLower().Contains(filters.filter.ToLower()));
            }
            if (filters.rolename != null)
            {
                roles = roles.Where(x => x.rolename == filters.rolename);
            }
            if (filters.orderedBy != null && filters.orderedBy.Count() > 0)
            {
                foreach (var sortM in filters.orderedBy)
                {
                    roles = roles.OrderBy(sortM.PairAsSqlExpression);
                }
            }
            var pagedPosts = PagedList <Roles> .Create(roles, filters.PageNumber, filters.PageSize);

            return(pagedPosts);
        }
Пример #3
0
        /// <summary>
        /// 查询角色
        /// </summary>
        /// <param name="filter">查询条件</param>
        /// <returns></returns>
        public static QueryResult <Roles> QueryRoles(RolesQueryFilter filter)
        {
            QueryResult <Roles> result = new QueryResult <Roles>();

            result.ServicePageIndex = filter.ServicePageIndex;
            result.PageSize         = filter.PageSize;

            PagingInfoEntity  page = DataAccessUtil.ToPagingInfo(filter);
            CustomDataCommand cmd  = DataCommandManager.CreateCustomDataCommandFromConfig("QueryRoles");

            using (var sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, page, "SysNo DESC"))
            {
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Status", DbType.Int32,
                                                             "@Status1", QueryConditionOperatorType.NotEqual, CommonStatus.Deleted);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SysNo", DbType.Int32,
                                                             "@SysNo", QueryConditionOperatorType.Equal, filter.SysNo);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "RoleName", DbType.String,
                                                             "@RoleName", QueryConditionOperatorType.Like, filter.RoleName);
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Status", DbType.Int32,
                                                             "@Status", QueryConditionOperatorType.Equal, filter.Status);

                cmd.CommandText   = sqlBuilder.BuildQuerySql();
                result.ResultList = cmd.ExecuteEntityList <Roles>();
                result.TotalCount = Convert.ToInt32(cmd.GetParameterValue("@TotalCount"));

                return(result);
            }
        }
Пример #4
0
 /// <summary>
 /// 查询角色
 /// </summary>
 /// <param name="filter">查询条件</param>
 /// <returns></returns>
 public QueryResult <Roles> QueryRoles(RolesQueryFilter filter)
 {
     return(RolesMgtDA.QueryRoles(filter));
 }
Пример #5
0
        public Uri GetPostPaginationUri(RolesQueryFilter filter, string actionUrl)
        {
            string baseUrl = $"{_baseUri}{actionUrl}";

            return(new Uri(baseUrl));
        }