public async Task <IActionResult> GetAll( [FromRoute] Guid tenantId, [FromQuery] int?contentTypeCode = null, [FromQuery] DateTime?filterDateBegin = null, [FromQuery] DateTime?filterDateEnd = null, [FromQuery] int?pageIndex = null, [FromQuery] int?pageSize = null) { RulesFilterDto rulesFilterDto = null; PaginationDto paginationDto = null; if (contentTypeCode != null || filterDateBegin != null || filterDateEnd != null) { rulesFilterDto = new RulesFilterDto { ContentTypeCode = contentTypeCode, FilterDateBegin = filterDateBegin, FilterDateEnd = filterDateEnd }; } if (pageIndex != null && pageSize != null) { paginationDto = new PaginationDto { PageIndex = pageIndex.GetValueOrDefault(), PageSize = pageSize.GetValueOrDefault() }; } IEnumerable <RuleDto> ruleDtos = await this.ruleService.GetAll(tenantId, rulesFilterDto, paginationDto); return(this.Ok(ruleDtos)); }
public async Task <IEnumerable <RuleDto> > GetAll(Guid tenantId, RulesFilterDto rulesFilterDto, PaginationDto paginationDto) { RulesFilter rulesFilter = rulesFilterDto?.ToRulesFilter(); Pagination pagination = paginationDto?.ToPagination(); return(await this.ruleRepository.GetAll(tenantId, rulesFilter, pagination) .ContinueWith(rulesTask => { IEnumerable <Rule> rules = rulesTask.GetAwaiter().GetResult(); return rules.Select(r => this.ConvertToDto(r)); })); }