protected void LlenarHoras(string dni, string espe, int id) { try { HorarioMedico HM = new HorarioMedico(); HM.dni = dni; HM.id_espe = int.Parse(espe); HorarioMedicoNegocio HMN = new HorarioMedicoNegocio(); HM.horarios = HMN.LeerHorario(HM.dni, HM.id_espe); List <FechaTurno> FT = TN.ListaFechas(HM); FechaTurno IT = FT.ElementAt(id); List <HoraTurno> HT = TN.ListaHorarios(HM, IT); //////////// this.ddlHora.DataSource = HT; this.ddlHora.DataBind(); } catch (Exception ex) { } }
private void btnAceptar_Click(object sender, EventArgs e) { FechaTurno fecha = (FechaTurno)cbxFecha.SelectedItem; HoraTurno hora = (HoraTurno)cbxHora.SelectedItem; Turno aux = new Turno(); aux.comentario = tbxObservaciones.Text; aux.estado = new Estado(); aux.estado.ID = 2; aux.fecha = new DateTime(fecha.anio, fecha.mes, fecha.dia); aux.hora = hora.Hora; aux.medico = new Medico(); aux.medico.dni = HM.dni; aux.paciente = new Paciente(); aux.paciente.dni = tbxDocumento.Text; if (TN.ExisteTurno(aux) == true) { MessageBox.Show("El turno está ocupado"); return; } if (TN.CrearTurno(aux) == false) { MessageBox.Show("No se pudo crear el turno"); } else { string data = "Estimado " + aux.paciente.nombre + " " + aux.paciente.apellido; data += ", le fue asignado un turno para el día " + aux.fecha.ToString() + " a las " + aux.hora.ToString(); MessageBox.Show("El turno se creó correctamente"); if (TN.EnviarMail(aux.paciente.mail, "Asignación de turno", data) == false) { MessageBox.Show("Error al enviar el mail"); } Medico medico = (Medico)cbxMedico.SelectedItem; Especialidad especialidad = (Especialidad)cbxEspecialidad.SelectedItem; Cargar_fecha(medico, especialidad); } }
private void cbxFecha_SelectedIndexChanged(object sender, EventArgs e) { if (cbxFecha.Items.Count == 0) { return; } try { cbxHora.DataSource = null; FechaTurno IT = (FechaTurno)cbxFecha.SelectedItem; cbxHora.DataSource = TN.ListaHorarios(this.HM, IT); if (cbxHora.Items.Count > 0) { cbxHora.SelectedIndex = 0; } } catch (Exception ex) { return; } }
//FILTRA LAS FECHAS QUE ATIENDE EL MEDICO// public List <FechaTurno> ListaFechas(HorarioMedico HM) { List <FechaTurno> lista = new List <FechaTurno>(); int dia = ahora.Day, mes = ahora.Month, anio = ahora.Year; byte dia_semana = DiaDeLaSemana(); List <HoraTurno> listaH = null; for (int i = 0; i < 60; i++) { for (int j = 0; j < HM.horarios.Count(); j++) { if (HM.horarios.ElementAt(j).dia == dia_semana) { FechaTurno aux = new FechaTurno(); aux.dia = dia; aux.mes = mes; aux.anio = anio; aux.dia_semana = dia_semana; listaH = ListaHorarios(HM, aux); if (listaH != null) { if (listaH.Count > 0) { lista.Add(aux); } } } } incrementar(ref dia, ref mes, ref anio, ref dia_semana); } return(lista); }
//FILTRA LOS HORARIOS DISPONIBLES POR FECHA// public List <HoraTurno> ListaHorarios(HorarioMedico HM, FechaTurno FT) { Horario H = null; for (int i = 0; i < HM.horarios.Count; i++) { H = HM.horarios.ElementAt(i); if (H.dia == FT.dia_semana) { break; } } if (H == null) { return(null); } List <HoraTurno> lista = new List <HoraTurno>(); List <Turno> milista = this.TurnosPorMedicoYFecha(HM.dni, new DateTime(FT.anio, FT.mes, FT.dia)); DateTime ahora = DateTime.Now; DateTime fecha; for (byte i = H.hora_desde; i <= H.hora_hasta; i++) { fecha = new DateTime(FT.anio, FT.mes, FT.dia, i, 0, 0); bool existe = false; if (milista == null) { if (fecha > ahora) { HoraTurno aux = new HoraTurno(); aux.Hora = i; lista.Add(aux); } } else { for (int j = 0; j < milista.Count; j++) { if (milista.ElementAt(j).hora == i) { existe = true; break; } } if (existe == false) { if (fecha > ahora) { HoraTurno aux = new HoraTurno(); aux.Hora = i; lista.Add(aux); } } } } return(lista); }
public String GetHora() { String var = FechaTurno.ToString("HH:mm"); return(var); }
protected void CrearTurno(object sender, EventArgs e) { try { int IdEspe = int.Parse(this.ddlEspecialidad.SelectedValue); string IdMedico = this.ddlMedico.SelectedValue; string IdPaciente = paciente.dni; string obs = this.tbxObservaciones.Text; int IdFecha = this.ddlFecha.SelectedIndex; int IdHora = this.ddlHora.SelectedIndex; HorarioMedico HM = new HorarioMedico(); HM.dni = IdMedico; HM.id_espe = IdEspe; HorarioMedicoNegocio HMN = new HorarioMedicoNegocio(); HM.horarios = HMN.LeerHorario(HM.dni, HM.id_espe); List <FechaTurno> FT = TN.ListaFechas(HM); FechaTurno IT = FT.ElementAt(IdFecha); List <HoraTurno> HT = TN.ListaHorarios(HM, IT); HoraTurno hora = HT.ElementAt(IdHora); Turno aux = new Turno(); aux.comentario = obs; aux.estado = new Estado(); aux.estado.ID = 2; aux.fecha = new DateTime(IT.anio, IT.mes, IT.dia); aux.hora = hora.Hora; aux.medico = new Medico(); aux.medico.dni = HM.dni; aux.paciente = new Paciente(); aux.paciente.dni = IdPaciente; if (TN.ExisteTurno(aux) == true) { this.respuesta = "El turno solicitado está ocupado"; this.Session.Add("turno", respuesta); this.Session.Add("dni", paciente.dni); this.Session.Add("nombre", paciente.nombre); this.Session.Add("apellido", paciente.apellido); this.Session.Add("medico", ""); this.Session.Add("fecha", ""); } else { if (TN.CrearTurno(aux) == false) { this.respuesta = "No se pudo crear el turno"; this.Session.Add("turno", respuesta); this.Session.Add("dni", paciente.dni); this.Session.Add("nombre", paciente.nombre); this.Session.Add("apellido", paciente.apellido); this.Session.Add("medico", ""); this.Session.Add("fecha", ""); } else { this.respuesta = "El turno se creó correctamente"; this.Session.Add("turno", respuesta); this.Session.Add("dni", paciente.dni); this.Session.Add("nombre", paciente.nombre); this.Session.Add("apellido", paciente.apellido); this.Session.Add("medico", this.ddlMedico.SelectedItem.Text); this.Session.Add("fecha", this.ddlFecha.Text + " " + this.ddlHora.Text); } } this.Response.Redirect("Turno.aspx"); } catch (Exception ex) { } }