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> Excluir(int idNorma) { try { var norma = _normaRepository.Delete(idNorma); if (norma == null) { return(new NotFoundObjectResult("Norma não localizada.")); } _normaService.ExcluiArquivoNorma(norma.LocalArquivoNormas); var normaResponse = _mapper.Map <ExcluirNormaResponseDTO>(norma); return(new OkObjectResult(normaResponse)); } catch (Exception ex) { return(new BadRequestObjectResult(ex.Message)); } }