Exemplo n.º 1
0
        private void AddHorario(Entidades.Horario horario)
        {
            var horarios = Horarios;

            horarios.Add(horario);
            Horarios = horarios;
        }
Exemplo n.º 2
0
        private Entidades.Horario CargarEntidad()
        {
            var horario = new Entidades.Horario();

            horario.DiaAtencionId = IdDiaAtencionSeleccionado;
            horario.DiaAtencion   = gestor.BuscarDiaAtencionPorId(IdDiaAtencionSeleccionado);
            horario.HoraDesde     = HoraDesde;
            horario.HoraHasta     = HoraHasta;

            return(horario);
        }
Exemplo n.º 3
0
 public DetalleReserva(Reserva reserva, int item, Deporte deporte, Persona persona, Sector sector,
     DateTime fecha_reserva, Horario hora_desde, Horario hora_hasta)
 {
     Reserva = reserva;
     Item = item;
     Deporte = deporte;
     Persona = persona;
     Sector = sector;
     Fecha_reserva = fecha_reserva;
     Hora_desde = hora_desde;
     Hora_hasta = hora_hasta;
 }
Exemplo n.º 4
0
        /* nuevohorai <= inicio y nuevohoraf <= inicio
         * nuevohorai > fin y nuevohoraf > fin
         */

        public bool VerificarCruce(Horario h)
        {
            if ((HoraInicio <= h.HoraInicio && HoraFin <= h.HoraInicio) ||
                (HoraInicio >= h.HoraFin && HoraFin >= h.HoraFin))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 5
0
        private bool ValidarHorario(Entidades.Horario horario)
        {
            foreach (var item in Horarios)
            {
                if (item.DiaAtencionId == horario.DiaAtencionId)
                {
                    OnError("Ya se ha cargado el horario de atencion para los dias seleccionados.");
                    return(false);
                }
            }

            return(true);
        }
Exemplo n.º 6
0
        private void AgregarHorario(Entidades.Horario horario)
        {
            var horarios = Horarios;

            if (!ValidarHorario(horario))
            {
                return;
            }

            horarios.Add(horario);
            Horarios = horarios;
            HabilitarFormulario(false);
        }
Exemplo n.º 7
0
        private IList <Entidades.Horario> ObtenerHorariosDesdeGrilla()
        {
            IList <Entidades.Horario> horarios = new List <Entidades.Horario>();

            foreach (GridViewRow row in gvHorarios.Rows)
            {
                var horario = new Entidades.Horario();

                horario.Id            = int.Parse(gvHorarios.DataKeys[row.RowIndex].Values[0].ToString());
                horario.DiaAtencionId = int.Parse(gvHorarios.DataKeys[row.RowIndex].Values[1].ToString());
                horario.DiaAtencion   = gestor.BuscarDiaAtencionPorId(horario.DiaAtencionId);
                horario.HoraDesde     = row.Cells[1].Text;
                horario.HoraHasta     = row.Cells[2].Text;

                horarios.Add(horario);
            }
            return(horarios);
        }
Exemplo n.º 8
0
        private void PruebBoton(object sender, RoutedEventArgs e)
        {
            HorarioBLL _horarios = new HorarioBLL();
            List<HorarioC> lst = new List<HorarioC>()
            {
                ctrHo_lun,ctrHo_Mar,ctrHo_Mie,ctrHo_Jue,ctrHo_Vie,ctrHo_Sab,ctrHo_Dom
            };
            try
            {
                int idLab = ((Laboratorio)cbLab.SelectedValue).ID;
                int idDoc = ((Docente)cbDoc.SelectedValue).ID;
                int idAsi = ((Asignatura)cbMat.SelectedValue).ID;
                int idGrp = ((Grupo)cbGrp.SelectedValue).ID;

                foreach (var ctr in lst)
                {
                    if (ctr.Checado)
                    {
                        if (llenos(ctr.HrInicio, ctr.HrFin))
                        {
                            Horario _hora = new Horario()
                            {
                                IDAsignatura = idAsi,
                                Dia = ctr.Dia,
                                HoraInicio = ctr.HrInicio,
                                HoraFin = ctr.HrFin,
                                IDLab = idLab,
                                IDDocente = idDoc,
                                IDGrupo = idGrp
                            };
                            if (_horarios.Agregar(_hora) != -1)
                            {
                                MessageBox.Show(this, string.Format("Dia {0} Agregado correctamente", ctr.Dia), appInfo.AssemblyProduct,
                                    MessageBoxButton.OK, MessageBoxImage.Information);
                            }
                            else
                            {
                                MessageBox.Show(this, "Algo ha salido mal :(", appInfo.AssemblyProduct,
                                    MessageBoxButton.OK, MessageBoxImage.Information);
                            }
                        }
                        else
                        {
                            MessageBox.Show(this, "No debe de tener campos vacios", appInfo.AssemblyProduct,
                               MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                    }
                }
            }
            catch (InvalidCastException)
            {
                MessageBox.Show(this,"Por favor seleccione un Horario ",appInfo.AssemblyProduct,
                        MessageBoxButton.OK,MessageBoxImage.Information);
            }
            catch (Exception)
            {
                MessageBox.Show(this,"Error general ", appInfo.AssemblyProduct,
                        MessageBoxButton.OK,MessageBoxImage.Information);
            }
        }
Exemplo n.º 9
0
        public List<Horario> Cargar_Lista_Horarios()
        {
            try
            {
                conexion.origen.Open();
                var lh = new List<Horario>();

                conexion.cmd = new SqlCommand("Cargar_Lista_Horarios", conexion.origen);
                conexion.cmd.CommandType = CommandType.StoredProcedure;
                conexion.dr1 = conexion.cmd.ExecuteReader();

                if (conexion.dr1.HasRows)
                {
                    while (conexion.dr1.Read())
                    {
                        var h = new Horario();

                        if (conexion.dr1["id_horario"] != DBNull.Value)
                        {
                            h.Id_horario = Convert.ToInt32(conexion.dr1["id_horario"]);
                        }
                        if (conexion.dr1["hora"] != DBNull.Value)
                        {
                            h.Hora = conexion.dr1["hora"].ToString();
                        }
                        if (conexion.dr1["minuto"] != DBNull.Value)
                        {
                            h.Minuto = conexion.dr1["minuto"].ToString();
                        }

                        lh.Add(h);
                    }
                }
                conexion.origen.Close();
                return lh;
            }
            catch (Exception)
            {
                if (conexion.origen.State == ConnectionState.Open)
                {
                    conexion.origen.Close();
                }
                return null;
            }
        }
Exemplo n.º 10
0
        public Programa Cargar_Programa(int id_programa)
        {
            try
            {
                conexion.origen.Open();
                var p = new Programa();
                var e = new Estado();
                conexion.cmd = new SqlCommand("Cargar_Programa", conexion.origen);
                conexion.cmd.CommandType = CommandType.StoredProcedure;
                conexion.cmd.Parameters.Add(new SqlParameter("@id_programa", id_programa));
                conexion.dr1 = conexion.cmd.ExecuteReader();

                if (conexion.dr1.HasRows)
                {
                    conexion.dr1.Read();
                    p.Id_programa = Convert.ToInt32(conexion.dr1["id_programa"]);
                    p.Fecha_alta = Convert.ToDateTime(conexion.dr1["fecha_alta"]);
                    p.Anio = Convert.ToInt32(conexion.dr1["anio"]);
                    p.Descripcion = conexion.dr1["descripcion"].ToString();
                    p.Fecha_inicio = Convert.ToDateTime(conexion.dr1["fecha_inicio"]);
                    p.Fecha_fin = Convert.ToDateTime(conexion.dr1["fecha_fin"]);
                    e.Id_estado = Convert.ToInt32(conexion.dr1["id_estado"]);
                    e.Nombre = conexion.dr1["nombre"].ToString();
                    e.Descripcion = conexion.dr1["descripcion"].ToString();
                    e.Ambito = conexion.dr1["ambito"].ToString();
                    p.Estado = e;
                }

                conexion.cmd = new SqlCommand("Cargar_Detalle_Programa", conexion.origen);
                conexion.cmd.CommandType = CommandType.StoredProcedure;
                conexion.cmd.Parameters.Add(new SqlParameter("@id_programa", id_programa));
                conexion.dr1 = conexion.cmd.ExecuteReader();

                if (conexion.dr1.HasRows)
                {
                    p.Nuevo_Detalle();

                    while (conexion.dr1.Read())
                    {
                        var dp = new DetallePrograma();
                        var dep = new Deporte();
                        var es = new Estado();
                        var di = new Diagramacion();
                        //di.Nuevo_Detalle();

                        dp.Programa = p;
                        dep.Id_deporte = Convert.ToInt32(conexion.dr1["id_deporte"]);
                        dep.Nombre = conexion.dr1["nombre_deporte"].ToString();
                        dep.Descripcion = conexion.dr1["descripcion_deporte"].ToString();
                        dp.Deporte = dep;
                        dp.Item = Convert.ToInt32(conexion.dr1["item"]);
                        di.Id_diagramacion = Convert.ToInt32(conexion.dr1["id_diagramacion"]);
                        di.Deporte = dep;

                        conexion.cmd = new SqlCommand("Cargar_Detalle_Diagramacion", conexion.origen);
                        conexion.cmd.CommandType = CommandType.StoredProcedure;
                        conexion.cmd.Parameters.Add(new SqlParameter("@id_diagramacion", di.Id_diagramacion));
                        conexion.dr2 = conexion.cmd.ExecuteReader();

                        if (conexion.dr2.HasRows)
                        {
                            di.Nuevo_Detalle();
                            //DetalleDiagramacion dd = new DetalleDiagramacion();

                            while (conexion.dr2.Read())
                            {
                                var dd = new DetalleDiagramacion();
                                dd.Diagramacion = di;

                                dd.Item = Convert.ToInt32(conexion.dr2["item"]);
                                var d = new Dia(1, conexion.dr2["dia_semana"].ToString(),
                                    conexion.dr2["dia_semana"].ToString().Substring(0, 3), DateTime.Now);
                                dd.Dia_semana = d;
                                dd.Lugar_confirmado = Convert.ToBoolean(conexion.dr2["lugar_confirmado"]);
                                dd.Horario_confirmado = Convert.ToBoolean(conexion.dr2["horario_confirmado"]);
                                dd.Profesor_confirmado = Convert.ToBoolean(conexion.dr2["profesor_confirmado"]);

                                if (conexion.dr2["id_sector"] != DBNull.Value)
                                {
                                    var s = new Sector();
                                    var ts = new TipoSector();
                                    var lp = new LugarPractica();

                                    conexion.cmd = new SqlCommand("Cargar_Sector", conexion.origen);
                                    conexion.cmd.CommandType = CommandType.StoredProcedure;
                                    conexion.cmd.Parameters.Add(new SqlParameter("@id_sector",
                                        Convert.ToInt32(conexion.dr2["id_sector"])));
                                    conexion.dr3 = conexion.cmd.ExecuteReader();

                                    if (conexion.dr3.HasRows)
                                    {
                                        conexion.dr3.Read();
                                        s.Id_sector = Convert.ToInt32(conexion.dr2["id_sector"]);
                                        s.Nombre = conexion.dr3["nombre_sector"].ToString();
                                        s.Descipcion = conexion.dr3["descripcion_sector"].ToString();
                                        ts.Id_tipo_sector = Convert.ToInt32(conexion.dr3["id_tipo_sector"]);
                                        ts.Nombre = conexion.dr3["nombre_tipo"].ToString();
                                        ts.Descripcion = conexion.dr3["descripcion_tipo"].ToString();
                                        lp.Id_lugar = Convert.ToInt32(conexion.dr3["id_lugar"]);
                                        lp.Nombre = conexion.dr3["nombre_lugar"].ToString();
                                        lp.Descripcion = conexion.dr3["descripcion_lugar"].ToString();
                                        s.Tipo_sector = ts;
                                        s.Lugar = lp;

                                        dd.Sector = s;
                                    }
                                }
                                else
                                {
                                    dd.Sector = null;
                                }

                                if (conexion.dr2["id_hora_desde"] != DBNull.Value)
                                {
                                    var hd = new Horario();
                                    var hh = new Horario();

                                    conexion.cmd = new SqlCommand("Cargar_Horario", conexion.origen);
                                    conexion.cmd.CommandType = CommandType.StoredProcedure;
                                    conexion.cmd.Parameters.Add(new SqlParameter("@id_horario",
                                        Convert.ToInt32(conexion.dr2["id_hora_desde"])));
                                    conexion.dr3 = conexion.cmd.ExecuteReader();

                                    if (conexion.dr3.HasRows)
                                    {
                                        conexion.dr3.Read();
                                        hd.Id_horario = Convert.ToInt32(conexion.dr2["id_hora_desde"]);
                                        hd.Hora = conexion.dr3["hora"].ToString();
                                        hd.Minuto = conexion.dr3["minuto"].ToString();
                                        dd.Hora_desde = hd;
                                    }

                                    conexion.cmd = new SqlCommand("Cargar_Horario", conexion.origen);
                                    conexion.cmd.CommandType = CommandType.StoredProcedure;
                                    conexion.cmd.Parameters.Add(new SqlParameter("@id_horario",
                                        Convert.ToInt32(conexion.dr2["id_hora_hasta"])));
                                    conexion.dr3 = conexion.cmd.ExecuteReader();

                                    if (conexion.dr3.HasRows)
                                    {
                                        conexion.dr3.Read();
                                        hh.Id_horario = Convert.ToInt32(conexion.dr2["id_hora_hasta"]);
                                        hh.Hora = conexion.dr3["hora"].ToString();
                                        hh.Minuto = conexion.dr3["minuto"].ToString();
                                        dd.Hora_hasta = hh;
                                    }
                                }
                                else
                                {
                                    dd.Hora_desde = null;
                                    dd.Hora_hasta = null;
                                }

                                if (conexion.dr2["documento"] != DBNull.Value)
                                {
                                    var prof = new Personal();
                                    conexion.cmd = new SqlCommand("Cargar_Profesor", conexion.origen);
                                    conexion.cmd.CommandType = CommandType.StoredProcedure;
                                    conexion.cmd.Parameters.Add(new SqlParameter("@documento",
                                        Convert.ToInt32(conexion.dr2["documento"])));
                                    conexion.dr3 = conexion.cmd.ExecuteReader();

                                    if (conexion.dr3.HasRows)
                                    {
                                        conexion.dr3.Read();
                                        prof.Documento = Convert.ToInt32(conexion.dr2["documento"]);
                                        prof.Apellido = conexion.dr3["apellido"].ToString();
                                        prof.Nombres = conexion.dr3["nombre"].ToString();
                                        prof.Fecha_nac = Convert.ToDateTime(conexion.dr3["fecha_nac"]);
                                        prof.Direccion = conexion.dr3["direccion"].ToString();
                                        prof.Tel_celular = conexion.dr3["tel_celular"].ToString();
                                        prof.Tel_fijo = conexion.dr3["tel_fijo"].ToString();
                                        prof.Email = conexion.dr3["email"].ToString();

                                        dd.Profesor = prof;
                                    }
                                }
                                else
                                {
                                    dd.Profesor = null;
                                }

                                di.Detalle.Add(dd);
                            }
                        }
                        es.Id_estado = Convert.ToInt32(conexion.dr1["id_estado"]);
                        es.Nombre = conexion.dr1["nombre_estado"].ToString();
                        es.Descripcion = conexion.dr1["descripcion_estado"].ToString();
                        es.Ambito = conexion.dr1["ambito"].ToString();
                        dp.Estado = es;
                        dp.Diagramacion = di;

                        //---------------------- Reserva -----------------------------
                        /*
                        if (conexion.dr1["id_reserva"] != DBNull.Value)
                        {
                            Reserva r = new Reserva();
                            r.Id_reserva = Convert.ToInt32(conexion.dr1["id_reserva"]);

                            conexion.cmd = new SqlCommand("Cargar_Reserva", conexion.origen);
                            conexion.cmd.CommandType = CommandType.StoredProcedure;
                            conexion.cmd.Parameters.Add(new SqlParameter("@id_reserva", r.Id_reserva));
                            conexion.dr3 = conexion.cmd.ExecuteReader();
                            conexion.dr3.Read();
                            r.Fecha_realizacion = Convert.ToDateTime(conexion.dr3["fecha_realizacion"]);
                            r.Descripcion = conexion.dr3["descripcion_reserva"].ToString();
                            TipoReserva tr = new TipoReserva();
                            tr.Id_tipo_reserva = Convert.ToInt32(conexion.dr3["id_tipo_reserva"]);
                            tr.Nombre = conexion.dr3["nombre"].ToString();
                            tr.Descripcion = conexion.dr3["descripcion_tipo"].ToString();
                            r.Tipo_reserva = tr;

                            conexion.cmd = new SqlCommand("Cargar_Detalle_Reserva", conexion.origen);
                            conexion.cmd.CommandType = CommandType.StoredProcedure;
                            conexion.cmd.Parameters.Add(new SqlParameter("@id_reserva", r.Id_reserva));
                            conexion.dr4 = conexion.cmd.ExecuteReader();

                            if (conexion.dr4.HasRows)
                            {
                                List<DetalleReserva> ldr = new List<DetalleReserva>();

                                while (conexion.dr4.Read())
                                {
                                    DetalleReserva detr = new DetalleReserva();
                                    detr.Reserva = r;
                                    detr.Item = Convert.ToInt32(conexion.dr4["item"]);

                                    Deporte d = new Deporte();
                                    d.Id_deporte = Convert.ToInt32(conexion.dr4["id_deporte"]);
                                    d.Nombre = conexion.dr4["nombre_deporte"].ToString();
                                    d.Descripcion = conexion.dr4["descripcion_deporte"].ToString();
                                    if (conexion.dr4["cod_sanaviron"] != DBNull.Value)
                                        d.Cod_sanaviron = Convert.ToInt32(conexion.dr4["cod_sanaviron"]);
                                    detr.Deporte = d;

                                    Persona per = new Persona();
                                    if (conexion.dr4["documento"] != DBNull.Value)
                                        per.Documento = Convert.ToInt32(conexion.dr4["documento"]);
                                    if (conexion.dr4["apellido"] != DBNull.Value)
                                        per.Apellido = conexion.dr4["apellido"].ToString();
                                    if (conexion.dr4["nombres"] != DBNull.Value)
                                        per.Nombres = conexion.dr4["nombres"].ToString();
                                    if (conexion.dr4["tel_fijo"] != DBNull.Value)
                                        per.Tel_fijo = conexion.dr4["tel_fijo"].ToString();
                                    if (conexion.dr4["tel_celular"] != DBNull.Value)
                                        per.Tel_celular = conexion.dr4["tel_celular"].ToString();
                                    if (conexion.dr4["email"] != DBNull.Value)
                                        per.Email = conexion.dr4["email"].ToString();

                                    detr.Persona = per;

                                    Sector s = new Sector();
                                    TipoSector ts = new TipoSector();
                                    LugarPractica lp = new LugarPractica();
                                    s.Id_sector = Convert.ToInt32(conexion.dr4["id_sector"]);

                                    conexion.cmd = new SqlCommand("Cargar_Sector", conexion.origen);
                                    conexion.cmd.CommandType = CommandType.StoredProcedure;
                                    conexion.cmd.Parameters.Add(new SqlParameter("@id_sector", s.Id_sector));
                                    conexion.dr5 = conexion.cmd.ExecuteReader();
                                    conexion.dr5.Read();
                                    s.Nombre = conexion.dr5["nombre_sector"].ToString();
                                    s.Descripcion = conexion.dr5["descripcion_sector"].ToString();
                                    ts.Id_tipo_sector = Convert.ToInt32(conexion.dr5["id_tipo_sector"]);
                                    ts.Nombre = conexion.dr5["nombre_tipo"].ToString();
                                    ts.Descripcion = conexion.dr5["descripcion_tipo"].ToString();
                                    s.Tipo_sector = ts;
                                    lp.Id_lugar = Convert.ToInt32(conexion.dr5["id_lugar"]);
                                    lp.Nombre = conexion.dr5["nombre_lugar"].ToString();
                                    lp.Descripcion = conexion.dr5["descripcion_lugar"].ToString();
                                    s.Lugar = lp;
                                    detr.Sector = s;
                                    detr.Fecha_reserva = Convert.ToDateTime(conexion.dr4["fecha_reserva"]);
                                    //-------------------
                                    Horario hd = new Horario();
                                    hd.Id_horario = Convert.ToInt32(conexion.dr4["id_hora_desde"]);
                                    Horario hh = new Horario();
                                    hh.Id_horario = Convert.ToInt32(conexion.dr4["id_hora_hasta"]);

                                    conexion.cmd = new SqlCommand("Cargar_Horario", conexion.origen);
                                    conexion.cmd.CommandType = CommandType.StoredProcedure;
                                    conexion.cmd.Parameters.Add(new SqlParameter("@id_horario", hd.Id_horario));
                                    conexion.dr5 = conexion.cmd.ExecuteReader();
                                    conexion.dr5.Read();
                                    hd.Hora = conexion.dr5["hora"].ToString();
                                    hd.Minuto = conexion.dr5["minuto"].ToString();
                                    detr.Hora_desde = hd;

                                    conexion.cmd = new SqlCommand("Cargar_Horario", conexion.origen);
                                    conexion.cmd.CommandType = CommandType.StoredProcedure;
                                    conexion.cmd.Parameters.Add(new SqlParameter("@id_horario", hh.Id_horario));
                                    conexion.dr5 = conexion.cmd.ExecuteReader();
                                    conexion.dr5.Read();
                                    hh.Hora = conexion.dr5["hora"].ToString();
                                    hh.Minuto = conexion.dr5["minuto"].ToString();
                                    detr.Hora_hasta = hh;

                                    //------------------
                                    Estado est = new Estado();
                                    est.Id_estado = Convert.ToInt32(conexion.dr4["id_estado"]);
                                    est.Nombre = conexion.dr4["nombre_estado"].ToString();
                                    est.Descripcion = conexion.dr4["descripcion_estado"].ToString();
                                    est.Ambito = conexion.dr4["ambito"].ToString();
                                    detr.Estado = est;
                                    ldr.Add(detr);
                                }

                                r.Detalle = ldr;
                            }

                            dp.Reserva = r;

                        }
                        */
                        //---------------------------------------------------

                        p.Detalle.Add(dp);
                    }
                }

                conexion.origen.Close();
                return p;
            }
            catch (Exception)
            {
                if (conexion.origen.State == ConnectionState.Open)
                {
                    conexion.origen.Close();
                }
                return null;
            }
        }
Exemplo n.º 11
0
        public List<Reserva> Cargar_Lista_Reservas(int id_sector)
        {
            try
            {
                conexion.origen.Open();
                var lr = new List<Reserva>();
                conexion.cmd = new SqlCommand("Cargar_Lista_Reservas", conexion.origen);
                conexion.cmd.CommandType = CommandType.StoredProcedure;
                conexion.cmd.Parameters.Add(new SqlParameter("@id_sector", id_sector));
                conexion.dr1 = conexion.cmd.ExecuteReader();

                if (conexion.dr1.HasRows)
                {
                    //Reserva r = new Reserva();

                    while (conexion.dr1.Read())
                    {
                        var r = new Reserva();
                        /*
                        if (lr.Count > 1)
                        {
                            if (lr[lr.Count - 2].Id_reserva == r.Id_reserva)
                            {
                            }
                            else
                            {

                            }
                        }
                        else
                        { */
                        r.Id_reserva = Convert.ToInt32(conexion.dr1["id_reserva"]);
                        r.Descripcion = conexion.dr1["descripcion"].ToString();
                        var tr = new TipoReserva();
                        tr.Id_tipo_reserva = Convert.ToInt32(conexion.dr1["id_tipo_reserva"]);
                        r.Tipo_reserva = tr;
                        var dr = new DetalleReserva();
                        dr.Item = Convert.ToInt32(conexion.dr1["item"]);

                        if (conexion.dr1["id_deporte"] != DBNull.Value)
                        {
                            conexion.cmd = new SqlCommand("Cargar_Deporte", conexion.origen);
                            conexion.cmd.CommandType = CommandType.StoredProcedure;
                            conexion.cmd.Parameters.Add(new SqlParameter("@id_deporte",
                                Convert.ToInt32(conexion.dr1["id_deporte"])));
                            conexion.dr2 = conexion.cmd.ExecuteReader();
                            var d = new Deporte();
                            conexion.dr2.Read();
                            d.Id_deporte = Convert.ToInt32(conexion.dr2["id_deporte"]);
                            d.Nombre = conexion.dr2["nombre"].ToString();
                            d.Descripcion = conexion.dr2["descripcion"].ToString();

                            dr.Deporte = d;
                        }

                        var p = new Persona();
                        if (conexion.dr1["documento"] != DBNull.Value)
                            p.Documento = Convert.ToInt32(conexion.dr1["documento"]);
                        if (conexion.dr1["apellido"] != DBNull.Value)
                            p.Apellido = conexion.dr1["apellido"].ToString();
                        if (conexion.dr1["nombres"] != DBNull.Value)
                            p.Nombres = conexion.dr1["nombres"].ToString();

                        dr.Persona = p;

                        var s = new Sector();
                        var ts = new TipoSector();
                        var lp = new LugarPractica();

                        conexion.cmd = new SqlCommand("Cargar_Sector", conexion.origen);
                        conexion.cmd.CommandType = CommandType.StoredProcedure;
                        conexion.cmd.Parameters.Add(new SqlParameter("@id_sector",
                            Convert.ToInt32(conexion.dr1["id_sector"])));
                        conexion.dr2 = conexion.cmd.ExecuteReader();

                        conexion.dr2.Read();
                        ts.Id_tipo_sector = Convert.ToInt32(conexion.dr2["id_tipo_sector"]);
                        ts.Nombre = conexion.dr2["nombre_tipo"].ToString();
                        ts.Descripcion = conexion.dr2["descripcion_tipo"].ToString();
                        lp.Id_lugar = Convert.ToInt32(conexion.dr2["id_lugar"]);
                        lp.Nombre = conexion.dr2["nombre_lugar"].ToString();
                        lp.Descripcion = conexion.dr2["descripcion_lugar"].ToString();
                        s.Id_sector = Convert.ToInt32(conexion.dr1["id_sector"]);
                        s.Nombre = conexion.dr2["nombre_sector"].ToString();
                        s.Descipcion = conexion.dr2["descripcion_sector"].ToString();
                        s.Tipo_sector = ts;
                        s.Lugar = lp;

                        dr.Fecha_reserva = Convert.ToDateTime(conexion.dr1["fecha_reserva"]);

                        var hd = new Horario();
                        var hh = new Horario();

                        conexion.cmd = new SqlCommand("Cargar_Horario", conexion.origen);
                        conexion.cmd.CommandType = CommandType.StoredProcedure;
                        conexion.cmd.Parameters.Add(new SqlParameter("@id_horario",
                            Convert.ToInt32(conexion.dr1["id_hora_desde"])));
                        conexion.dr2 = conexion.cmd.ExecuteReader();
                        conexion.dr2.Read();

                        hd.Id_horario = Convert.ToInt32(conexion.dr1["id_hora_desde"]);
                        hd.Hora = conexion.dr2["hora"].ToString();
                        hd.Minuto = conexion.dr2["minuto"].ToString();

                        conexion.cmd = new SqlCommand("Cargar_Horario", conexion.origen);
                        conexion.cmd.CommandType = CommandType.StoredProcedure;
                        conexion.cmd.Parameters.Add(new SqlParameter("@id_horario",
                            Convert.ToInt32(conexion.dr1["id_hora_hasta"])));
                        conexion.dr2 = conexion.cmd.ExecuteReader();
                        conexion.dr2.Read();

                        hh.Id_horario = Convert.ToInt32(conexion.dr1["id_hora_hasta"]);
                        hh.Hora = conexion.dr2["hora"].ToString();
                        hh.Minuto = conexion.dr2["minuto"].ToString();

                        dr.Hora_desde = hd;
                        dr.Hora_hasta = hh;

                        var e = new Estado();
                        e.Id_estado = Convert.ToInt32(conexion.dr1["id_estado"]);
                        e.Nombre = conexion.dr1["nombre_estado"].ToString();
                        e.Descripcion = conexion.dr1["descripcion_estado"].ToString();
                        e.Ambito = conexion.dr1["ambito"].ToString();

                        dr.Estado = e;

                        r.Detalle.Add(dr);
                        lr.Add(r);

                    }
                }

                return lr;
            }
            catch (Exception e)
            {
                if (conexion.origen.State == ConnectionState.Open)
                {
                    conexion.origen.Close();
                }
                return null;
            }
        }