예제 #1
0
        public void mostrarTodosLosHorariosDisponibles()
        {
            grillaProfesional.Columns["Seleccionar"].Visible = false;
            listaDeTurnos = null;
            listaDeTurnos = new List <Turno>();

            ConnectorClass con = ConnectorClass.Instance;

            DataTable horario = con.executeQuery("select AGD_HORA_INICIO, AGD_HORA_FIN, DIA_NOMBRE from BUGDEVELOPING.AGENDA_DIA inner join BUGDEVELOPING.AGENDA_PERSONAL on (AGD_AG_CODIGO = AG_CODIGO) inner join BUGDVELOPING.DIA on (DIA_ID = AGD_DIA_ID) where AG_MEDICO =" + idProfesional);

            int cantDiasAtencion = horario.Rows.Count;

            //Hace esto por cada dia
            for (int k = 0; k < cantDiasAtencion; k++)
            {
                TimeSpan f         = (TimeSpan)horario.Rows[k].ItemArray[1];
                TimeSpan i         = (TimeSpan)horario.Rows[k].ItemArray[0];
                String   nombreDia = horario.Rows[k].ItemArray[2].ToString();

                TimeSpan diferencia = i - f;
                TimeSpan mediaHora  = new TimeSpan(0, 0, 30, 0);

                int n = 1;

                while (i.CompareTo(f) != 0)
                {
                    //defino las horas de inicio y fin de atencion
                    TimeSpan horaInicio = i;
                    i = i.Add(mediaHora);
                    TimeSpan horaFin = i;

                    //armo el turno
                    Turno turno = new Turno(n, horaInicio, horaFin, nombreDia);

                    //lo agrego a los turnos
                    listaDeTurnos.Add(turno);


                    n++;
                }
            }

            Turno rr = new Turno();

            Turno[] turnos = listaDeTurnos.ToArray();

            DataTable dt = new DataTable();

            dt.Columns.Add("Dia");
            dt.Columns.Add("Numero de Turno");
            dt.Columns.Add("Hora inicio");
            dt.Columns.Add("Hora fin");
            for (int t = 0; t < listaDeTurnos.Count; t++)
            {
                DataRow dr = dt.NewRow();

                //dr[0] = 1;
                dr[0] = turnos[t].nombreDia;
                dr[1] = turnos[t].nroTurno;
                dr[2] = turnos[t].inicio;
                dr[3] = turnos[t].fin;
                dt.Rows.Add(dr);
            }
            grillaProfesional.DataSource = dt;

            dt.NewRow();
        }
예제 #2
0
        public void mostrarTodosLosHorariosDisponiblesSegunFecha()
        {
            //COMO ES MAS DE UNO TENGO QUE SABER PARA QUE AGENDA ES!
            listaDeTurnos = null;
            listaDeTurnos = new List<Turno>();

            grillaProfesional.Columns["Seleccionar"].Visible = true;

            fechaElegida = DateTime.Parse(fechasDisponibles.SelectedValue.ToString());
            string val = String.Format("{0:yyyy-MM-dd}", fechaElegida);

            ConnectorClass con = ConnectorClass.Instance;
            String nombredia = fechaElegida.DayOfWeek.ToString();
            int idDia = buscarIdDia(nombredia);

            //El problema que ahora puede haber dos horarios para un lunes dependiendo de la agenda
            //Esta es la forma que puede saber que agenda es
            DataTable horario = con.executeQuery("select DISTINCT AGD_HORA_INICIO, AGD_HORA_FIN, AG_CODIGO  from BUGDEVELOPING.AGENDA_DIA inner join BUGDEVELOPING.AGENDA_PERSONAL on (AGD_AG_CODIGO = AG_CODIGO) where AGD_DIA_ID = " + idDia + "and AG_MEDICO =" + idProfesional + "and '" + fechaElegida + "' between AG_DESDE_DIA and AG_HASTA_DIA ");

            TimeSpan f = (TimeSpan)horario.Rows[0].ItemArray[1];
            TimeSpan i = (TimeSpan)horario.Rows[0].ItemArray[0];
            idAgenda = horario.Rows[0].ItemArray[2].ToString();

            TimeSpan diferencia = i - f;
            TimeSpan mediaHora = new TimeSpan(0, 0, 30, 0);

            int n = 1;

            while (i.CompareTo(f) != 0)
            {
                //defino las horas de inicio y fin de atencion
                TimeSpan horaInicio = i;
                i = i.Add(mediaHora);
                TimeSpan horaFin = i;

                //armo el turno
                Turno turno = new Turno(n, horaInicio, horaFin, idAgenda, "al pedo");

                System.Console.WriteLine(n);

                System.Console.WriteLine(horaInicio.ToString());

                System.Console.WriteLine(horaFin.ToString());

                //lo agrego a los turnos
                if (estaDisponible(horaInicio))
                {
                    listaDeTurnos.Add(turno);
                }

                n++;
            }

            Turno rr = new Turno();

            Turno[] turnos = listaDeTurnos.ToArray();

            DataTable dt = new DataTable();
            dt.Columns.Add("Numero de Turno");
            dt.Columns.Add("Hora inicio");
            dt.Columns.Add("Hora fin");
            dt.Columns.Add("Id Agenda");
            for (int t = 0; t < listaDeTurnos.Count; t++)
            {
                DataRow dr = dt.NewRow();

                //dr[0] = 1;
                dr[0] = turnos[t].nroTurno;
                dr[1] = turnos[t].inicio;
                dr[2] = turnos[t].fin;
                dr[3] = turnos[t].nroIdAgenda;
                dt.Rows.Add(dr);
            }
            grillaProfesional.DataSource = dt;

            dt.NewRow();
        }
예제 #3
0
        public void mostrarTodosLosHorariosDisponiblesSegunFecha()
        {
            //COMO ES MAS DE UNO TENGO QUE SABER PARA QUE AGENDA ES!
            listaDeTurnos = null;
            listaDeTurnos = new List <Turno>();

            grillaProfesional.Columns["Seleccionar"].Visible = true;

            fechaElegida = DateTime.Parse(fechasDisponibles.SelectedValue.ToString());
            string val = String.Format("{0:yyyy-MM-dd}", fechaElegida);

            ConnectorClass con       = ConnectorClass.Instance;
            String         nombredia = fechaElegida.DayOfWeek.ToString();
            int            idDia     = buscarIdDia(nombredia);

            //El problema que ahora puede haber dos horarios para un lunes dependiendo de la agenda
            //Esta es la forma que puede saber que agenda es
            DataTable horario = con.executeQuery("select DISTINCT AGD_HORA_INICIO, AGD_HORA_FIN, AG_CODIGO  from BUGDEVELOPING.AGENDA_DIA inner join BUGDEVELOPING.AGENDA_PERSONAL on (AGD_AG_CODIGO = AG_CODIGO) where AGD_DIA_ID = " + idDia + "and AG_MEDICO =" + idProfesional + "and '" + fechaElegida + "' between AG_DESDE_DIA and AG_HASTA_DIA ");

            TimeSpan f = (TimeSpan)horario.Rows[0].ItemArray[1];
            TimeSpan i = (TimeSpan)horario.Rows[0].ItemArray[0];

            idAgenda = horario.Rows[0].ItemArray[2].ToString();

            TimeSpan diferencia = i - f;
            TimeSpan mediaHora  = new TimeSpan(0, 0, 30, 0);

            int n = 1;

            while (i.CompareTo(f) != 0)
            {
                //defino las horas de inicio y fin de atencion
                TimeSpan horaInicio = i;
                i = i.Add(mediaHora);
                TimeSpan horaFin = i;

                //armo el turno
                Turno turno = new Turno(n, horaInicio, horaFin, idAgenda, "al pedo");

                System.Console.WriteLine(n);

                System.Console.WriteLine(horaInicio.ToString());

                System.Console.WriteLine(horaFin.ToString());

                //lo agrego a los turnos
                if (estaDisponible(horaInicio))
                {
                    listaDeTurnos.Add(turno);
                }

                n++;
            }


            Turno rr = new Turno();

            Turno[] turnos = listaDeTurnos.ToArray();

            DataTable dt = new DataTable();

            dt.Columns.Add("Numero de Turno");
            dt.Columns.Add("Hora inicio");
            dt.Columns.Add("Hora fin");
            dt.Columns.Add("Id Agenda");
            for (int t = 0; t < listaDeTurnos.Count; t++)
            {
                DataRow dr = dt.NewRow();

                //dr[0] = 1;
                dr[0] = turnos[t].nroTurno;
                dr[1] = turnos[t].inicio;
                dr[2] = turnos[t].fin;
                dr[3] = turnos[t].nroIdAgenda;
                dt.Rows.Add(dr);
            }
            grillaProfesional.DataSource = dt;

            dt.NewRow();
        }
예제 #4
0
        public void mostrarTodosLosHorariosDisponibles()
        {
            grillaProfesional.Columns["Seleccionar"].Visible = false;
            listaDeTurnos = null;
            listaDeTurnos = new List<Turno>();

            ConnectorClass con = ConnectorClass.Instance;

            DataTable horario = con.executeQuery("select AGD_HORA_INICIO, AGD_HORA_FIN, DIA_NOMBRE from BUGDEVELOPING.AGENDA_DIA inner join BUGDEVELOPING.AGENDA_PERSONAL on (AGD_AG_CODIGO = AG_CODIGO) inner join BUGDVELOPING.DIA on (DIA_ID = AGD_DIA_ID) where AG_MEDICO =" + idProfesional);

            int cantDiasAtencion = horario.Rows.Count;

            //Hace esto por cada dia
            for (int k = 0; k < cantDiasAtencion; k++)
            {
                TimeSpan f = (TimeSpan)horario.Rows[k].ItemArray[1];
                TimeSpan i = (TimeSpan)horario.Rows[k].ItemArray[0];
                String nombreDia = horario.Rows[k].ItemArray[2].ToString();

                TimeSpan diferencia = i - f;
                TimeSpan mediaHora = new TimeSpan(0, 0, 30, 0);

                int n = 1;

                while (i.CompareTo(f) != 0)
                {
                    //defino las horas de inicio y fin de atencion
                    TimeSpan horaInicio = i;
                    i = i.Add(mediaHora);
                    TimeSpan horaFin = i;

                    //armo el turno
                    Turno turno = new Turno(n, horaInicio, horaFin, nombreDia);

                    //lo agrego a los turnos
                    listaDeTurnos.Add(turno);

                    n++;
                }
            }

            Turno rr = new Turno();

            Turno[] turnos = listaDeTurnos.ToArray();

            DataTable dt = new DataTable();
            dt.Columns.Add("Dia");
            dt.Columns.Add("Numero de Turno");
            dt.Columns.Add("Hora inicio");
            dt.Columns.Add("Hora fin");
            for (int t = 0; t < listaDeTurnos.Count; t++)
            {
                DataRow dr = dt.NewRow();

                //dr[0] = 1;
                dr[0] = turnos[t].nombreDia;
                dr[1] = turnos[t].nroTurno;
                dr[2] = turnos[t].inicio;
                dr[3] = turnos[t].fin;
                dt.Rows.Add(dr);
            }
            grillaProfesional.DataSource = dt;

            dt.NewRow();
        }