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); }
/// <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); } }
/// <summary> /// 查询角色 /// </summary> /// <param name="filter">查询条件</param> /// <returns></returns> public QueryResult <Roles> QueryRoles(RolesQueryFilter filter) { return(RolesMgtDA.QueryRoles(filter)); }
public Uri GetPostPaginationUri(RolesQueryFilter filter, string actionUrl) { string baseUrl = $"{_baseUri}{actionUrl}"; return(new Uri(baseUrl)); }