示例#1
0
        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));
 }