Esempio n. 1
0
        private IFiltrosAgendamento[] ObterFitrosAgendamento(FiltrosAgendamentos filtroAgendamento)
        {
            var filtros = new List <IFiltrosAgendamento>();

            if (!string.IsNullOrWhiteSpace(filtroAgendamento.CpfPaciente))
            {
                _filtraAgendamentoPorCpfParciente.CpfPaciente = filtroAgendamento.CpfPaciente;
                filtros.Add(_filtraAgendamentoPorCpfParciente);
            }

            if (filtroAgendamento.StatusAgendamentoId != decimal.Zero)
            {
                _filtraAgendamentoPorStatusId.StatusId = filtroAgendamento.StatusAgendamentoId;
                filtros.Add(_filtraAgendamentoPorStatusId);
            }

            if (filtroAgendamento.DataAgendamentoDe != DateTime.MinValue)
            {
                _filtraAgendamentoPorData.DataDeInicio = filtroAgendamento.DataAgendamentoDe;
            }

            if (filtroAgendamento.DataAgendamentoAte != DateTime.MinValue)
            {
                _filtraAgendamentoPorData.DataDeTermino = filtroAgendamento.DataAgendamentoAte;
            }

            if (filtroAgendamento.DataAgendamentoAte != DateTime.MinValue ||
                filtroAgendamento.DataAgendamentoDe != DateTime.MinValue)
            {
                filtros.Add(_filtraAgendamentoPorData);
            }

            if (filtroAgendamento.AgendamentoIds.Any())
            {
                _filtraAgendamentoPorIds.AgendamentoIds = filtroAgendamento.AgendamentoIds;
                filtros.Add(_filtraAgendamentoPorIds);
            }

            if (filtroAgendamento.ClinicaId != decimal.Zero)
            {
                _filtraAgendamentoPorClinicaId.ClinicaId = filtroAgendamento.ClinicaId;
                filtros.Add(_filtraAgendamentoPorClinicaId);
            }

            return(filtros.ToArray());
        }
Esempio n. 2
0
        public List <Agendamento> ObterPor(FiltrosAgendamentos filtroAgendamento)
        {
            var filtros = ObterFitrosAgendamento(filtroAgendamento);

            return(_todosOsAgendamentos.ObterPor(filtros));
        }