示例#1
0
        private void buscarHorariosAgenda(IList<Horario> listaHorario)
        {
            horarioAS = new Horario();
            listaDetHo = new List<HorarioDetalle>();
            DateTime fecha = DateTime.Parse(dpDesde.Value.ToShortDateString());

            for (int i = 0; i < listaHorario.Count; i++)
            {
                if (listaHorario[i].Desde <= fecha && listaHorario[i].Hasta >= fecha)
                {
                    horarioAS = listaHorario.ElementAt<Horario>(i);
                    listaDetHo = horarioAS.Detalle;
                }
            }

            if (listaDetHo.Count() > 0)
            {

                VerAgenda veragenda = new VerAgenda(listaDetHo);
                veragenda.ShowDialog();
            }
            else
            {
                MessageBox.Show("No hay horarios disponibles para la Agenda Seleccionada", "Informe", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
        }
示例#2
0
        private void mostrarDiasHabilitados()
        {
            horarioAS = new Horario();
            listaDetHo = new List<HorarioDetalle>();
            DateTime fecha = DateTime.Today;

            for (int i = 0; i < listaHorario.Count; i++)
            {
                if (listaHorario[i].Desde <= fecha && listaHorario[i].Hasta >= fecha)
                {
                    horarioAS = listaHorario.ElementAt<Horario>(i);
                    listaDetHo = horarioAS.Detalle;
                }
            }

            if (listaDetHo.Count() > 0)
            {
                dpDesde.seleccionarDias(horarioAS);
            }
        }
 public void cargaGrilla(IList<Horario> lista,DateTime fecha,string agenda,int idagenda,int idmatricula)
 {
     for (int j = 0; j < lista.Count; j++)
     {
         if (lista[j].Desde <= DateTime.Parse(fecha.ToShortDateString()) && lista[j].Hasta >= DateTime.Parse(fecha.ToShortDateString()))
         {
             horario = lista.ElementAt<Horario>(j);
             listaDet = horario.Detalle;
         }
         while (fecha <= horario.Hasta && dgTurnos.RowCount < 20)
         {
             if (listaDet.Count > 0)
             {
                 CargarDetalle(listaDet,agenda,idagenda,idmatricula,fecha);
             }
             fecha = fecha.AddDays(1);
         }
     }
     dgTurnos.Sort(dgTurnos.Columns["fechaTurno"],ListSortDirection.Ascending);
 }
示例#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);
                }
            }
        }
        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);

            }
        }
示例#7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ConexionBD.esSICWeb = true;
            ConexionBD.getSession();
            GestorProfesional gestorProfesional = new GestorProfesional();
            string idmatricula = Session["IDMatricula"].ToString();
            Matricula matricula = gestorProfesional.buscarMatricula(int.Parse(idmatricula));

            profesional = (Profesional)Session["Profesional"];
            lblMedico.InnerText = profesional.Apellidos + ", " + profesional.Nombres;
            lblEspecialidad.InnerHtml = matricula.Especialidad.Descripcion;
            if (!Page.IsPostBack)
            {
                listaHorario = matricula.Horarios;
                Session["listaHorario"] = listaHorario;
                horarioAS = new Horario();
                listaDetHo = new List<HorarioDetalle>();
                DateTime fecha = DateTime.Today;

                for (int i = 0; i < listaHorario.Count; i++)
                {
                    if (listaHorario[i].Desde <= fecha && listaHorario[i].Hasta >= fecha)
                    {
                        horarioAS = listaHorario.ElementAt<Horario>(i);
                        listaDetHo = horarioAS.Detalle;
                        Session["horarioAS"] = horarioAS;
                        Session["listaDetHo"] = listaDetHo;
                    }
                }

                if (listaDetHo.Count() > 0)
                {
                    //dpDesde.seleccionarDias(horarioAS);
                }
                Session["turnos"] = turnos;
            }
            else {

                horarioAS = (Horario) Session["horarioAS"];
                listaDetHo = (IList<HorarioDetalle>)Session["listaDetHo"];
                listaHorario = (IList<Horario>) Session["listaHorario"];
                turnos = (IList<Turno>) Session["turnos"];
                horario = (Horario) Session["horario"];
                listaDet = (IList<HorarioDetalle>) Session["listaDet"];
                horarioDet = (HorarioDetalle) Session["horarioDet"];

            }
            paciente = (Paciente) Session["Paciente"];
        }
示例#8
0
 private void btnCancelar_Click(object sender, EventArgs e)
 {
     horario = null;
     Dispose();
 }
 public MonCal(DateTime mes,List<HighlightedDates> HighlightedDates,Horario horario)
 {
     this.horario = horario;
     this.ShowTodayCircle = false;
     this.SelectionStart = mes;
     this.highlightedDates = HighlightedDates;
     range = GetDisplayRange(false);
     SetDayBoxSize();
     SetPosition(this.highlightedDates);
 }
        public bool validarHorario()
        {
            Horario horario=new Horario();
            IList<Horario> listahorario = matricula.Horarios;
            bool v_ok = true;
            for (int i = 0; i < listahorario.Count; i++)
            {
                horario = listahorario[i];
                if (!validarRangoFecha(horario.Desde,horario.Hasta) )
                {
                    IList<HorarioDetalle> listadet = new List<HorarioDetalle>();
                    listadet = horario.Detalle;
                    for (int j = 0; j < listadet.Count; j++)
                    {
                        if (listadet[i].Dia == (Dia)cmbDia.SelectedItem)
                        {
                            if (!validarRangoHora(listadet[i].HoraDesde,listadet[i].HoraHasta))
                            {
                                MessageBox.Show("La hora de inicio y fin de atención para el día "+listadet[i].Dia.Descripcion.ToString()+" no están disponibles");
                                v_ok = false; }
                        }
                    }

                }

            }
            return v_ok;
        }
 public void seleccionarDias(Horario horario)
 {
     if (horario != null)
     {
         hlDates.Clear();
         this.horario = horario;
         DateTime diaSeleccionable = DateTime.Today;
         bool estaDentroDelPeriodo = true;
         while (estaDentroDelPeriodo)
         {
             foreach (HorarioDetalle hd in horario.Detalle)
             {
                 if (hd.Dia.DescIngles == diaSeleccionable.DayOfWeek.ToString())
                 {
                     hlDates.Add(new HighlightedDates(diaSeleccionable, Color.Green, Color.Blue, Color.FromArgb(204, 255, 153), true));
                 }
             }
             diaSeleccionable = diaSeleccionable.AddDays(1);
             if (diaSeleccionable.CompareTo(horario.Hasta) > 0)
             {
                 estaDentroDelPeriodo = false;
             }
         }
     }
 }
示例#12
0
 public ABMHorario(Horario horario, Matricula mat)
 {
     InitializeComponent();
     this.horario = horario;
     matricula = mat;
 }
示例#13
0
 public ABMHorario(Horario horario)
 {
     InitializeComponent();
     this.horario = horario;
 }
示例#14
0
        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();
        }
示例#15
0
 private void cargarGrillaHorarioDetalle()
 {
     inicializarPanelHorarios();
     if (listaHorario.Count > 0)
     {
         horario = listaHorario.ElementAt<Horario>(dgHorario.CurrentRow.Index);
         for (int i = 0; i < horario.Detalle.Count; i++)
         {
             HorarioDetalle horarioDet = horario.Detalle.ElementAt<HorarioDetalle>(i);
             horariote.agregarHorario(i, horarioDet.Dia.Id - 1, horarioDet.HoraDesde, horarioDet.HoraHasta);
         }
     }
 }
示例#16
0
        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;
            }
        }
示例#17
0
 private void cargarGrillaHorarioDetalle()
 {
     grillaHorario.Horarios.Clear();
         if (dgHorario.SelectedRows.Count > 0)
         {
             horario = listaHorario.ElementAt<Horario>(dgHorario.SelectedRows[0].Index);
             for (int i = 0; i < horario.Detalle.Count; i++)
             {
                 HorarioDetalle horarioDet = horario.Detalle.ElementAt<HorarioDetalle>(i);
                 grillaHorario.Horarios.Add(horarioDet);
             }
             grillaHorario.actualizarHorarios();
         }
 }