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); }
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))); } }