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