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