Exemple #1
0
        public Tuple <DateTime, Guid> ObterHorarioAtendimentoDoDia(EnumDia dia, Guid idEspecialidade)
        {
            var dataReferencia = DateTime.Now;

            dataReferencia = dataReferencia.AddDays(CalcularProximoDia((int)dataReferencia.DayOfWeek + 1, (int)dia));

            var horariosAtendimento = _horarioAtendimentoRepository.ListarComConsulta(dia, idEspecialidade);

            bool dataEncontrada       = false;
            Guid idHorarioAtendimento = new Guid();

            while (!dataEncontrada)
            {
                foreach (var horarioAtendimento in horariosAtendimento)
                {
                    var consultas = horarioAtendimento.Consultas.Where(x => x.DataConsulta == dataReferencia);
                    if (consultas.Count() < DomainStaticValues.MAXIMO_CONSULTAS_HORARIO)
                    {
                        dataEncontrada       = true;
                        idHorarioAtendimento = horarioAtendimento.Id.Value;
                        break;
                    }

                    dataReferencia = dataReferencia.AddDays(7);
                }
            }

            var resultado = new Tuple <DateTime, Guid>(dataReferencia, idHorarioAtendimento);

            return(resultado);
        }
Exemple #2
0
 public ICollection <HorarioAtendimento> ListarComConsulta(EnumDia dia, Guid idEspecialidade)
 {
     return(_context.Set <HorarioAtendimento>()
            .Include(x => x.Consultas)
            .Include(x => x.Horario)
            .Where(x => x.Horario.Dia == dia && x.Medico.IdEspecialidade == idEspecialidade)
            .ToList());
 }
        public DataHorarioAtendimentoViewModel ObterHorarioAtendimentoDoDia(EnumDia dia, Guid idEspecialidade)
        {
            var dataHorarioAtendimento = _horarioAtendimentoService.ObterHorarioAtendimentoDoDia(dia, idEspecialidade);

            var viewModel = new DataHorarioAtendimentoViewModel
            {
                IdHorarioAtendimento = dataHorarioAtendimento.Item2,
                DataConsulta         = dataHorarioAtendimento.Item1
            };

            return(viewModel);
        }
        public IActionResult ListarHorariosAtendimento(EnumDia dia, Guid idEspecialidade)
        {
            try
            {
                var result = _horarioAtendimentoAppService.ListarHorariosAtendimentos();

                return(Ok(new ResponseHelper("", true, result)));
            }
            catch (Exception e)
            {
                return(Ok(new ResponseHelper(e.Message, false, e)));
            }
        }
        public IActionResult ObterDataDisponivel(EnumDia dia, Guid idEspecialidade)
        {
            try
            {
                var result = _horarioAtendimentoAppService.ObterHorarioAtendimentoDoDia(dia, idEspecialidade);

                return(Ok(new ResponseHelper("", true, result)));
            }
            catch (Exception e)
            {
                return(Ok(new ResponseHelper(e.Message, false, e)));
            }
        }