Example #1
0
 public IActionResult GetConsultasByFilter([FromQuery] ConsultasFilterDTO consultas, [FromQuery] int pg, [FromQuery] int itensPg, [FromQuery] string sort, [FromQuery] int sortOrder)
 {
     try
     {
         return(Ok(_consultaBusiness.GetConsultasByFilter(consultas, pg, itensPg, sort, sortOrder)));
     }
     catch (Exception ex)
     {
         return(BadRequest("Ocorreu um erro ao tentar listar as consultas!", ex));
     }
 }
Example #2
0
        public RetornoPaginacao GetConsultasByFilter(ConsultasFilterDTO consultas, int pg, int itensPg, string sort, int sortOrder)
        {
            IQueryable <RetornoConsultasDTO> resConsultas = (
                from c in _bdTesteITIX.Consulta
                where (
                    (consultas.MedicoId != null ? c.MedicoId == consultas.MedicoId : true) &&
                    (consultas.DataInicialConsulta != null ? c.DataInicialConsulta >= consultas.DataInicialConsulta : true) &&
                    (consultas.DataFinalConsulta != null ? c.DataFinalConsulta <= consultas.DataFinalConsulta : true) &&
                    (consultas.DataNascimento != null ? c.DataNascimento == consultas.DataNascimento : true) &&
                    (consultas.NomePaciente != null ? c.Observacoes.Contains(consultas.NomePaciente) : true) &&
                    (consultas.Observacoes != null ? c.Observacoes.Contains(consultas.Observacoes) : true)
                    )
                select new RetornoConsultasDTO()
            {
                Id = c.Id,
                NomePaciente = c.NomePaciente,
                Observacoes = c.Observacoes,
                DataNascimento = c.DataNascimento,
                DataInicialConsulta = c.DataInicialConsulta,
                DataFinalConsulta = c.DataFinalConsulta,
                MedicoId = c.MedicoId,
            }
                );

            if (sort != null)
            {
                switch (sort)
                {
                case "nomePaciente":
                    resConsultas = (sortOrder == 1
                          ? resConsultas.OrderBy(a => a.NomePaciente).ThenBy(a => a.NomePaciente)
                          : resConsultas.OrderByDescending(a => a.NomePaciente).ThenByDescending(a => a.NomePaciente));
                    break;

                case "observacoes":
                    resConsultas = (sortOrder == 1
                          ? resConsultas.OrderBy(a => a.Observacoes)
                          : resConsultas.OrderByDescending(a => a.Observacoes));
                    break;

                case "dataNascimento":
                    resConsultas = (sortOrder == 1
                          ? resConsultas.OrderBy(a => a.DataNascimento.Value.Date)
                          : resConsultas.OrderByDescending(a => a.DataNascimento.Value.Date));
                    break;

                case "dataInicialConsulta":
                    resConsultas = (sortOrder == 1
                          ? resConsultas.OrderBy(a => a.DataInicialConsulta.Value.Date)
                          : resConsultas.OrderByDescending(a => a.DataInicialConsulta.Value.Date));
                    break;

                case "dataFinalConsulta":
                    resConsultas = (sortOrder == 1
                          ? resConsultas.OrderBy(a => a.DataFinalConsulta.Value.Date)
                          : resConsultas.OrderByDescending(a => a.DataFinalConsulta.Value.Date));
                    break;

                case "medico":
                    resConsultas = (sortOrder == 1
                          ? resConsultas.OrderBy(a => a.MedicoId)
                          : resConsultas.OrderByDescending(a => a.MedicoId));
                    break;

                default:
                    resConsultas = resConsultas.OrderBy(r => r.DataInicialConsulta.Value.Date).OrderByDescending(r => r.DataInicialConsulta.Value.Date);
                    break;
                }
            }
            else
            {
                resConsultas = resConsultas.OrderBy(r => r.DataInicialConsulta.Value.Date).OrderByDescending(r => r.DataInicialConsulta.Value.Date);
            }

            var retorno = new RetornoPaginacao(pg, itensPg > 0 ? itensPg : _itensPorPaginaPadrao, resConsultas);

            return(retorno);
        }
Example #3
0
 public RetornoPaginacao GetConsultasByFilter(ConsultasFilterDTO consultas, int pg, int itensPg, string sort, int sortOrder)
 {
     return(_consultaData.GetConsultasByFilter(consultas, pg, itensPg, sort, sortOrder));
 }