Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
 public async Task <ServiceResult <PagedDto <StatementDto> > > GetStatementPagesAsync([FromQuery] StatementPagingDto pagingDto)
 {
     return(ServiceResult <PagedDto <StatementDto> > .Successed(await _statementService.GetPagesAsync(pagingDto)));
 }