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)); } }