public async Task <IActionResult> Buscar(BuscarNormaRequestQuery filtrosNormas) { try { var listaNormas = _normaRepository.GetAll(); if (filtrosNormas.CodigoNorma != null) { listaNormas = listaNormas.Where(w => w.CodigoNorma.Contains(filtrosNormas.CodigoNorma)); } if (filtrosNormas.DataPublicacao != null) { listaNormas = listaNormas.Where(w => w.DataPublicacao == filtrosNormas.DataPublicacao); } if (filtrosNormas.TipoDocumento != null) { listaNormas = listaNormas.Where(w => w.TipoDocumento.Id == filtrosNormas.TipoDocumento); } if (filtrosNormas.OrgaoExpedidor != null) { listaNormas = listaNormas.Where(w => w.OrgaoExpedidor.Id == filtrosNormas.OrgaoExpedidor); } if (!listaNormas.Any()) { return(new NotFoundObjectResult("Normas não localizadas.")); } var listaNormasResponse = _mapper.Map <IEnumerable <BuscarNormaResponseDTO> >(listaNormas); foreach (var norma in listaNormasResponse) { norma.LocalArquivoNormas = norma.Externa == "N" ? _normaService.RetornaLinkArquivoNorma(norma.LocalArquivoNormas) : norma.LocalArquivoNormas; } return(new OkObjectResult(listaNormasResponse)); } catch (Exception ex) { return(new BadRequestObjectResult(ex.Message)); } }
public async Task <IActionResult> GetNormas([FromServices] BuscarListaNormaUseCase _casoUso, [FromQuery] BuscarNormaRequestQuery filtrosNormas) { return(await _casoUso.Buscar(filtrosNormas)); }