public void BuscarTurnosLibres() { gestorHorario = new GestorHorario(); horario = new Horario(); listaDet = new List<HorarioDetalle>(); horarioDet = null; for (int i = 0; i < listaHorario.Count; i++) { if (listaHorario[i].Desde <= DateTime.Parse(dpDesde.Value.ToShortDateString()) && listaHorario[i].Hasta >= DateTime.Parse(dpDesde.Value.ToShortDateString())) { horario = listaHorario.ElementAt<Horario>(i); listaDet = horario.Detalle; } } if (listaDet.Count > 0) { gestorHD = new GestorHorarioDetalle(); for (int i = 0; i < listaDet.Count; i++) { gestorDia = new GestorDia(); Dia dia = gestorDia.buscar(dpDesde.Value.DayOfWeek.ToString()); if (dia == listaDet[i].Dia) { if (gestorHD.buscar(listaDet.ElementAt<HorarioDetalle>(i).Id, dia) != null) { horarioDet = new HorarioDetalle(); horarioDet = gestorHD.buscar(listaDet.ElementAt<HorarioDetalle>(i).Id, dia); } } } if (horarioDet != null) { cargarHora(horarioDet); } } }
public void ValidarFechaYHora() { GestorHorario gestorHorario = new GestorHorario(); horario = new Horario(); horarioDet = new HorarioDetalle(); for (int i = 0; i < horarios.Count; i++) { if (horarios[i].Desde <= DateTime.Parse(dpFecha.Value.ToShortDateString()) && horarios[i].Hasta >= DateTime.Parse(dpFecha.Value.ToShortDateString())) { listadet = horarios[i].Detalle; } } if (listadet.Count == 0) { MessageBox.Show("No hay agendas disponibles para esa fecha","Información"); } for (int j = 0; j < listadet.Count; j++) { GestorDia gestorDia = new GestorDia(); Dia dia = gestorDia.buscar(dpFecha.Value.DayOfWeek.ToString()); if (dia == listadet[j].Dia) { horarioDet = listadet.ElementAt<HorarioDetalle>(j); } } if (horarioDet.Id != 0) { IList<Turno> listaTurno = new List<Turno>(); listaTurno = gestor.buscarTodos(horarioDet, DateTime.Parse(dpFecha.Value.ToShortDateString()), DateTime.Parse(dpFecha.Value.ToShortDateString())); if (listaTurno.Count > 0) { for (int i = 0; i < listaTurno.Count; i++) { if (listaTurno[i].Hora.ToShortTimeString() == dpHora.Value.ToShortTimeString()) { dpHora.Value = turno.Hora; MessageBox.Show("Este turno ya esta asignado", "Turno asignado"); } } } } else { MessageBox.Show("El profesional o area de servicio no atiende el día de la semana seleccionado","Día no válido"); dpFecha.Value = turno.Fecha; } }
public void CargarDetalle(IList<HorarioDetalle> lista, string agenda, int idagenda,int idmatricula,DateTime fecha) { gestorHD = new GestorHorarioDetalle(); for (int i = 0; i < lista.Count; i++) { horarioDet = null; GestorDia gestorDia = new GestorDia(); Dia dia = gestorDia.buscar(fecha.DayOfWeek.ToString()); if (dia == listaDet[i].Dia) { if (gestorHD.buscar(lista.ElementAt<HorarioDetalle>(i).Id, dia) != null) { horarioDet = new HorarioDetalle(); horarioDet = gestorHD.buscar(lista.ElementAt<HorarioDetalle>(i).Id, dia); } } if (horarioDet != null) { cargarHora(horarioDet, fecha, agenda,idagenda,idmatricula); gestorTurno = new GestorTurno(); listaTurno = gestorTurno.buscarTodos(horarioDet, fecha, fecha); if (listaTurno.Count > 0) { for (int f = 0; f < listaTurno.Count; f++) { for (int k = 0; k < dgTurnos.Rows.Count; k++) { if (dgTurnos.Rows[k].Cells[1].Value.ToString() == listaTurno[f].Hora.ToShortTimeString() && dgTurnos.Rows[k].Cells[0].Value.ToString() == listaTurno[f].Fecha.ToShortDateString()) { dgTurnos.Rows.RemoveAt(k); } } } } } } }