Esempio n. 1
0
        //LISTA TURNOS POR MEDICO Y FECHA PARA LLENAR UN DATAGRID//
        public DataTable TurnosPorMedico(string dni, DateTime fecha)
        {
            AccesoDatos conexion = null;
            DataTable   listturno;
            Turno       aux;


            try
            {
                conexion = new AccesoDatos();
                conexion.setearConsulta("SELECT TURNOS_PACIENTES.FECHA_TURNO, TURNOS_PACIENTES.HORA_TURNO, " +
                                        "PACIENTES.NOMBRE, PACIENTES.APELLIDO, TURNOS_PACIENTES.ID_Paciente, TURNOS_PACIENTES.OBSERVACION, ESTADOS_TURNOS.NOMBRE FROM TURNOS_PACIENTES INNER JOIN PACIENTES ON " +
                                        "TURNOS_PACIENTES.ID_Paciente=PACIENTES.NUMERO_DOCUMENTO INNER JOIN ESTADOS_TURNOS ON TURNOS_PACIENTES.ID_ESTADO = ESTADOS_TURNOS.ID WHERE TURNOS_PACIENTES.ID_MEDICO=@IdMedico AND TURNOS_PACIENTES.FECHA_TURNO=@FECHA AND TURNOS_PACIENTES.ID_ESTADO!=@ID_ESTADO ORDER BY TURNOS_PACIENTES.HORA_TURNO");
                conexion.Comando.Parameters.AddWithValue("@IdMedico", dni);
                conexion.Comando.Parameters.AddWithValue("@ID_ESTADO", 4);
                conexion.Comando.Parameters.AddWithValue("@FECHA", fecha);

                conexion.abrirConexion();

                listturno = new DataTable("Turnos");
                listturno.Columns.Add("Hora");
                listturno.Columns.Add("Nombre");
                listturno.Columns.Add("Apellido");
                listturno.Columns.Add("ID_Paciente");
                listturno.Columns.Add("Observaciones");
                listturno.Columns.Add("Estado");

                aux          = new Turno();
                aux.medico   = new Medico();
                aux.paciente = new Paciente();
                conexion.ejecutarConsulta();
                HoraTurno HT = new HoraTurno();
                while (conexion.Lector.Read())
                {
                    aux.fecha             = conexion.Lector.GetDateTime(0);
                    aux.hora              = conexion.Lector.GetByte(1);
                    aux.paciente.nombre   = conexion.Lector.GetString(2);
                    aux.paciente.apellido = conexion.Lector.GetString(3);
                    aux.paciente.dni      = conexion.Lector.GetString(4);
                    aux.comentario        = conexion.Lector.GetString(5);

                    HT.Hora = aux.hora;
                    listturno.Rows.Add(HT.ToString(), aux.paciente.nombre, aux.paciente.apellido, aux.paciente.dni, aux.comentario, conexion.Lector.GetString(6));
                }

                listturno.Columns[3].ColumnMapping = MappingType.Hidden;
            }
            catch (Exception ex)
            {
                return(null);
            }
            finally
            {
                if (conexion != null)
                {
                    conexion.cerrarConexion();
                }
            }
            return(listturno);
        }
Esempio n. 2
0
        //LISTA FECHAS, MEDICOS Y DIAGNOSTICOS DE UN PACIENTE POR DNI//
        public List <HistoriaClinica> ListaHistorias(string dni)
        {
            AccesoDatos            conexion = null;
            List <HistoriaClinica> list;
            HistoriaClinica        aux;


            try
            {
                conexion = new AccesoDatos();
                conexion.setearConsulta("SELECT HISTORIAS_CLINICAS.ID_PACIENTE, MEDICOS.APELLIDO, HISTORIAS_CLINICAS.FECHA_SOLICITUD, " +
                                        "HISTORIAS_CLINICAS.DIAGNOSTICO,HISTORIAS_CLINICAS.FEC_PROCESO, HISTORIAS_CLINICAS.USUARIO " +
                                        "FROM HISTORIAS_CLINICAS INNER JOIN MEDICOS ON HISTORIAS_CLINICAS.ID_MEDICO=MEDICOS.NUMERO_DOC WHERE HISTORIAS_CLINICAS.ID_PACIENTE=@IdPaciente ORDER BY HISTORIAS_CLINICAS.FEC_PROCESO");
                conexion.Comando.Parameters.AddWithValue("@IdPaciente", dni);

                conexion.abrirConexion();

                list = new List <HistoriaClinica>();

                conexion.ejecutarConsulta();
                HoraTurno HT = new HoraTurno();
                while (conexion.Lector.Read())
                {
                    aux          = new HistoriaClinica();
                    aux.paciente = new Paciente();
                    aux.medico   = new Medico();

                    aux.paciente.dni    = conexion.Lector.GetString(0);
                    aux.medico.apellido = conexion.Lector.GetString(1);
                    aux.fecha           = conexion.Lector.GetDateTime(2);
                    aux.comentario      = conexion.Lector.GetString(3);

                    list.Add(aux);
                }
            }
            catch (Exception ex)
            {
                return(null);
            }
            finally
            {
                if (conexion != null)
                {
                    conexion.cerrarConexion();
                }
            }
            return(list);
        }
        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);
            }
        }
Esempio n. 4
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);
        }
Esempio n. 5
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)
            {
            }
        }