public async Task <ActionResult> PesquisarOcorrenciasPorFiltros([FromBody] OcorrenciaFiltroDto ocorrenciaFiltroDto) { if (!ModelState.IsValid) { return(CustomResponse(ModelState)); } ICollection <OcorrenciaResultDto> listaResult = await _ocorrenciaService.PesquisarOcorrenciasPorFiltros(ocorrenciaFiltroDto); if (listaResult == null || listaResult.Count == 0 || listaResult.Contains(null)) { return(NotFound(new { success = true, status = 404, mensagem = "Nenhuma ocorrência foi encontrada!", })); } return(Ok(listaResult)); }
public async Task <ICollection <OcorrenciaResultDto> > PesquisarOcorrenciasPorFiltros(OcorrenciaFiltroDto ocorrenciaFiltroDto) { if (ocorrenciaFiltroDto == null) { Notificar("O id informado é inválido!"); return(null); } return(await _ocorrenciaRepository.PesquisarOcorrenciasPorFiltros(ocorrenciaFiltroDto)); }
public async Task <ICollection <OcorrenciaResultDto> > PesquisarOcorrenciasPorFiltros(OcorrenciaFiltroDto ocorrenciaFiltroDto) { try { IQueryable <Ocorrencia> query = _context.Ocorrencias; if (!string.IsNullOrEmpty(ocorrenciaFiltroDto.Titulo)) { query = query.Where(oco => oco.Titulo.Contains(ocorrenciaFiltroDto.Titulo)); } if (!string.IsNullOrEmpty(ocorrenciaFiltroDto.Titulo)) { query = query.Where(oco => oco.Titulo.Contains(ocorrenciaFiltroDto.Titulo)); } if (!string.IsNullOrEmpty(ocorrenciaFiltroDto.DataHoraInicio)) { query = query.Where(oco => oco.DataHoraInicio >= DateTime.Parse(ocorrenciaFiltroDto.DataHoraInicio)); } if (!string.IsNullOrEmpty(ocorrenciaFiltroDto.DataHoraFim)) { query = query.Where(oco => oco.DataHoraFim <= DateTime.Parse(ocorrenciaFiltroDto.DataHoraFim)); } if (!string.IsNullOrEmpty(ocorrenciaFiltroDto.ChamadoTI)) { query = query.Where(oco => oco.ChamadoTI.Contains(ocorrenciaFiltroDto.ChamadoTI)); } if (!string.IsNullOrEmpty(ocorrenciaFiltroDto.ChamadoFornecedor)) { query = query.Where(oco => oco.ChamadoFornecedor.Contains(ocorrenciaFiltroDto.ChamadoFornecedor)); } if (!string.IsNullOrEmpty(ocorrenciaFiltroDto.OcorrenciaCCM)) { query = query.Where(oco => oco.OcorrenciaCCM.Contains(ocorrenciaFiltroDto.OcorrenciaCCM)); } if (!ocorrenciaFiltroDto.Acionamento.Equals(null)) { query = query.Where(oco => oco.Acionamento.Equals(ocorrenciaFiltroDto.Acionamento)); } if (!ocorrenciaFiltroDto.Impacto.Equals(null)) { query = query.Where(oco => oco.Acionamento.Equals(ocorrenciaFiltroDto.Acionamento)); } if (!string.IsNullOrEmpty(ocorrenciaFiltroDto.StatusAtualOcorrencia)) { query = query.Where(oco => oco.StatusAtualOcorrencia.ToString().Equals(ocorrenciaFiltroDto.StatusAtualOcorrencia)); } if (!ocorrenciaFiltroDto.UsuarioId.Equals(null)) { query = query.Where(oco => oco.UsuarioId.Equals(ocorrenciaFiltroDto.UsuarioId)); } ICollection <OcorrenciaResultDto> listaResult = await query .DefaultIfEmpty() .Select(oco => new OcorrenciaResultDto { Id = oco.Id.ToString(), IncOcorrecia = oco.IncOcorrencia.ToString(), Titulo = oco.Titulo, DataHoraInicio = oco.DataHoraInicio.ToString("dd/MM/yyyy HH:mm:ss"), DataHoraFim = string.IsNullOrEmpty(oco.DataHoraFim.ToString()) ? null : oco.DataHoraFim.ToString(), DataHoraUltimaAtualizacao = oco.DataHoraUltimaAtualizacao.ToString("dd/MM/yyyy HH:mm:ss"), ChamadoTI = oco.ChamadoTI, ChamadoFornecedor = oco.ChamadoFornecedor, OcorrenciaCCM = oco.OcorrenciaCCM, Acionamento = oco.Acionamento ? "SIM" : "NAO", Impacto = oco.Impacto ? "SIM" : "NAO", DescricaoImpacto = oco.DescricaoImpacto, StatusAtualOcorrencia = oco.StatusAtualOcorrencia.ToString(), UsuarioId = oco.UsuarioId.ToString(), DescricaoUsuario = oco.Usuario.UserName + " - " + oco.Usuario.NomeCompleto, }).ToListAsync(); return(listaResult); } catch (Exception ex) { throw ex; } }