Пример #1
0
        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;
            }
        }
Пример #4
0
        //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);
        }
Пример #5
0
        //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);
        }
Пример #6
0
        public String GetHora()
        {
            String var = FechaTurno.ToString("HH:mm");

            return(var);
        }
Пример #7
0
        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)
            {
            }
        }