public async Task <IActionResult> Importar(ImportarNormaRequestDTO importarNormaDTO)
        {
            try
            {
                var normaExistente = _normaRepository.GetAll().FirstOrDefault(w => w.CodigoNorma == importarNormaDTO.CodigoNorma);

                var normaImportacao = _mapper.Map <Norma>(importarNormaDTO);

                normaImportacao.TipoDocumento  = _tipoDocumentoService.BuscarTipoDocumentoPorDescricao(importarNormaDTO.TipoDocumento);
                normaImportacao.OrgaoExpedidor = _orgaoExpedidorService.BuscarOrgaoExpedidorPorDescricao(importarNormaDTO.OrgaoExpedidor);

                normaImportacao.IdTipoDocumento  = normaImportacao.TipoDocumento == null ? 1 : normaImportacao.TipoDocumento.Id;
                normaImportacao.IdOrgaoExpedidor = normaImportacao.OrgaoExpedidor == null ? 1 : normaImportacao.OrgaoExpedidor.Id;

                if (normaExistente != null)
                {
                    normaImportacao.Id = normaExistente.Id;
                    normaImportacao    = _normaRepository.Update(normaImportacao);
                }
                else
                {
                    normaImportacao = _normaRepository.Insert(normaImportacao);
                }

                var normaResponse = _mapper.Map <ImportarNormaResponseDTO>(normaImportacao);

                return(new OkObjectResult(normaResponse));
            }
            catch (Exception ex)
            {
                return(new BadRequestObjectResult(ex.Message));
            }
        }
Esempio n. 2
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));
            }
        }
Esempio n. 3
0
        public async Task <IActionResult> Buscar()
        {
            try
            {
                var listaNormas = _normaRepository.GetAll();

                if (!listaNormas.Any())
                {
                    return(new NotFoundObjectResult("Normas não localizadas."));
                }

                var listaNormasResponse = _mapper.Map <IEnumerable <BuscarNormaResponseDTO> >(listaNormas);

                return(new OkObjectResult(listaNormasResponse));
            }
            catch (Exception ex)
            {
                return(new BadRequestObjectResult(ex.Message));
            }
        }