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 BuscarDetalleHorario()
        {
            gestorHorario = new GestorHorario();
            horario = new Horario();
            listaDet = new List<HorarioDetalle>();
            horarioDet = null;
            gestorTurno = new GestorTurno();

            for (int i = 0; i < listaHorario.Count; i++)
            {
                horario = listaHorario.ElementAt<Horario>(i);
                listaDet = horario.Detalle;
                for (int j = 0; j < listaDet.Count; j++)
                {
                    horarioDet = new HorarioDetalle();
                    horarioDet = listaDet.ElementAt<HorarioDetalle>(j);
                    BuscarTurnos();
                }
            }
            listaTurno = listaTurno.OrderBy(t => t.Fecha).ToList();
            listaTurno = listaTurno.OrderBy(t => t.Hora.ToShortTimeString()).ToList();
        }
        public void BuscarTurnosEspecialidad()
        {
            DateTime fecha=DateTime.Parse(DateTime.Now.ToShortDateString());
            int idmatricula=0;
            gestorHorario = new GestorHorario();
            horario = new Horario();
            listaDet = new List<HorarioDetalle>();

            for (int i = 0; i < listaProfesionales.Count; i++)
            {
                Profesional profesional = listaProfesionales.ElementAt<Profesional>(i);
                IList<Matricula> listamatricula = profesional.Matriculas;

                for (int j = 0; j < listamatricula.Count; j++)
                {
                    Matricula mat = listamatricula.ElementAt<Matricula>(j);

                    if (listamatricula[j].Especialidad == (Especialidad)cmbEspecialidad.SelectedItem)
                    {
                        listaHorario = listamatricula[j].Horarios;
                        idmatricula=listamatricula[j].Id;
                        esp = listamatricula[j].Especialidad.Descripcion;
                    }

                }
                cargaGrilla(listaHorario, fecha, profesional.Apellidos + ", " + profesional.Nombres,profesional.Id,idmatricula);

            }
        }
Exemple #4
0
        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 BuscarTurnosArea()
        {
            DateTime fecha = DateTime.Parse(DateTime.Now.ToShortDateString());
            gestorHorario = new GestorHorario();
            horario = new Horario();
            listaDet = new List<HorarioDetalle>();

            for (int i = 0; i < listaHorario.Count; i++)
            {
                if (listaHorario[i].Desde <= DateTime.Parse(fecha.ToShortDateString()) && listaHorario[i].Hasta >= DateTime.Parse(fecha.ToShortDateString()))
                {
                    horario = listaHorario.ElementAt<Horario>(i);
                    listaDet = horario.Detalle;
                }
                while (fecha <= horario.Hasta && dgTurnos.RowCount < 20)
                {
                    if (listaDet.Count > 0)
                    {
                        CargarDetalle(listaDet,area.Descripcion,area.Id,0,fecha);
                    }
                    fecha = fecha.AddDays(1);
                }
            }
        }