public async Task <ActionResult> PesquisarTramitesPorFiltros([FromBody] TramiteFiltroDto tramiteFiltroDto) { ICollection <TramiteResultDto> listaTramiteResultDto = await _tramiteService.PesquisarTramitesPorFiltros(tramiteFiltroDto); if (listaTramiteResultDto == null || listaTramiteResultDto.Count == 0 || listaTramiteResultDto.Contains(null)) { return(NotFound(new { success = true, status = 404, mensagem = "Nenhum trâmite foi encontrado!", })); } return(Ok(listaTramiteResultDto)); }
public async Task <ICollection <TramiteResultDto> > PesquisarTramitesPorFiltros(TramiteFiltroDto tramiteFiltroDto) { if (tramiteFiltroDto.Equals(null)) { Notificar("O filtro informado é inválido!"); return(null); } return(await _tramiteRepository.PesquisarTramitesPorFiltros(tramiteFiltroDto)); }
public async Task <ICollection <TramiteResultDto> > PesquisarTramitesPorFiltros(TramiteFiltroDto tramiteFiltroDto) { try { IQueryable <Tramite> query = _context.Tramites; if (!string.IsNullOrEmpty(tramiteFiltroDto.Descricao)) { query = query.Where(tra => tra.Descricao.Contains(tramiteFiltroDto.Descricao)); } if (!string.IsNullOrEmpty(tramiteFiltroDto.DataHoraInicio) && !string.IsNullOrEmpty(tramiteFiltroDto.DataHoraFim)) { query = query.Where(tra => tra.DataHora >= DateTime.Parse(tramiteFiltroDto.DataHoraInicio) && tra.DataHora <= DateTime.Parse(tramiteFiltroDto.DataHoraFim)); } if (!string.IsNullOrEmpty(tramiteFiltroDto.Solucao)) { query = query.Where(tra => tra.Solucao.ToString().Equals(tramiteFiltroDto.Solucao)); } if (!string.IsNullOrEmpty(tramiteFiltroDto.OcorrenciaId)) { query = query.Where(tra => tra.OcorrenciaId.ToString().Equals(tramiteFiltroDto.OcorrenciaId)); } if (!string.IsNullOrEmpty(tramiteFiltroDto.UsuarioId)) { query = query.Where(tra => tra.UsuarioId.ToString().Equals(tramiteFiltroDto.UsuarioId)); } ICollection <TramiteResultDto> listaResult = await query .DefaultIfEmpty() .Select(tra => new TramiteResultDto { Id = tra.Id.ToString(), IncTramite = tra.IncTramite.ToString(), Descricao = tra.Descricao, DataHora = tra.DataHora.ToString("dd/MM/yyyy HH:mm:ss"), Solucao = tra.Solucao ? "SIM" : "NAO", OcorrenciaId = tra.OcorrenciaId.ToString(), UsuarioId = tra.UsuarioId.ToString(), DescricaoOcorrencia = tra.Ocorrencia.IncOcorrencia.ToString() + " - " + tra.Ocorrencia.Titulo, DescricaoUsuario = tra.Usuario.UserName + " - " + tra.Usuario.NomeCompleto, }).ToListAsync(); return(listaResult); } catch (Exception ex) { throw ex; } }