public async Task <IActionResult> Atualizar(AtualizarNormaRequestDTO atualizarNormaDTO)
        {
            try
            {
                var localArquivoNormas = string.Empty;
                var norma = _normaRepository.GetById(atualizarNormaDTO.Id);

                if (norma == null)
                {
                    return(new NotFoundObjectResult("Norma não localizada."));
                }

                var normaUpdate = _mapper.Map <Norma>(atualizarNormaDTO);
                normaUpdate.Externa = norma.Externa;

                if (norma.Externa == "N" && normaUpdate.LocalArquivoNormas != null)
                {
                    _normaService.ExcluiArquivoNorma(norma.LocalArquivoNormas);
                    localArquivoNormas = await _normaService.GravarArquivoNormaAsync(atualizarNormaDTO.ArquivoNorma);

                    normaUpdate.LocalArquivoNormas = localArquivoNormas;
                }
                else
                {
                    normaUpdate.LocalArquivoNormas = norma.LocalArquivoNormas;
                }

                if (norma.Externa == "S")
                {
                    normaUpdate.CodigoNorma    = norma.CodigoNorma;
                    normaUpdate.DataPublicacao = norma.DataPublicacao;
                }

                _normaRepository.Update(normaUpdate);

                var normaResponse = _mapper.Map <AtualizarNormaResponseDTO>(_normaRepository.GetById(atualizarNormaDTO.Id));

                if (norma.Externa == "N")
                {
                    normaResponse.LocalArquivoNormas = _normaService.RetornaLinkArquivoNorma(normaResponse.LocalArquivoNormas);
                }

                return(new OkObjectResult(normaResponse));
            }
            catch (Exception ex)
            {
                return(new BadRequestObjectResult(ex.Message));
            }
        }
        public async Task <IActionResult> Adicionar(AdicionarNormaRequestDTO adicionarNormaDTO)
        {
            try
            {
                var localArquivoNormas = await _normaService.GravarArquivoNormaAsync(adicionarNormaDTO.ArquivoNorma);

                var norma = _mapper.Map <Norma>(adicionarNormaDTO);

                norma.TipoDocumento      = _tipoDocumentoRepository.GetById(norma.IdTipoDocumento);
                norma.OrgaoExpedidor     = _orgaoExpedidorRepository.GetById(norma.IdOrgaoExpedidor);
                norma.LocalArquivoNormas = localArquivoNormas;

                var normaResponse = _mapper.Map <AdicionarNormaResponseDTO>(_normaRepository.Insert(norma));

                normaResponse.LocalArquivoNormas = _normaService.RetornaLinkArquivoNorma(localArquivoNormas);

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