public async Task <PagedDto <StatementDto> > GetPagesAsync(StatementPagingDto pageDto) { // pageDto.UserId = pageDto.UserId ?? CurrentUser.Id; pageDto.Sort = pageDto.Sort.IsNullOrEmpty() ? "Time DESC" : pageDto.Sort.Replace("-", " "); var statements = await _statementRepo .Select .Where(s => s.IsDeleted == false) .WhereIf(pageDto.UserId != null, s => s.CreateUserId == pageDto.UserId) .WhereIf(pageDto.Year != null, s => s.Year == pageDto.Year) .WhereIf(pageDto.Month != null, s => s.Month == pageDto.Month) .WhereIf(pageDto.Day != null, s => s.Day == pageDto.Day) .WhereIf(pageDto.Type.IsNotNullOrEmpty(), s => s.Type == pageDto.Type) .WhereIf(pageDto.CategoryId != null, s => s.CategoryId == pageDto.CategoryId) .WhereIf(pageDto.AssetId != null, s => s.AssetId == pageDto.AssetId) .OrderBy(pageDto.Sort) .ToPageListAsync(pageDto, out long totalCount); List <StatementDto> statementDtos = statements .Select(s => { var dto = MapToDto <StatementDto>(s); return(dto); }) .ToList(); return(new PagedDto <StatementDto>(statementDtos, totalCount)); }
public async Task <ServiceResult <PagedDto <StatementDto> > > GetStatementPagesAsync([FromQuery] StatementPagingDto pagingDto) { return(ServiceResult <PagedDto <StatementDto> > .Successed(await _statementService.GetPagesAsync(pagingDto))); }