Ejemplo n.º 1
0
        public List <ObjetoBD> Listar(int solicitudId)
        {
            try
            {
                InstanciaRepository    ir    = new InstanciaRepository();
                EsquemaRepository      er    = new EsquemaRepository();
                TipoObjetoBDRepository tobdr = new TipoObjetoBDRepository();

                List <ObjetoBD> objetoBDs = new List <ObjetoBD>();
                SqlCommand      cmd       = new SqlCommand("dbo.usp_ListarObjetoBDxSolicitud", Conexion);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@solicitudid", SqlDbType.Int)).Value = solicitudId;
                Conexion.Open();
                SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                while (sdr.Read())
                {
                    ObjetoBD objetoBD = new ObjetoBD();
                    objetoBD.Instancia = new Instancia {
                        Id = Convert.ToInt32(sdr["instanciaid"])
                    };
                    objetoBD.Esquema = new Esquema {
                        Id = Convert.ToInt32(sdr["esquemaid"])
                    };
                    objetoBD.TipoObjeto = new TipoObjetoBD {
                        Id = Convert.ToInt32(sdr["tipoobjetobdid"])
                    };
                    objetoBD.TipoAccion = new TipoAccionBD {
                        Id = Convert.ToInt32(sdr["tipoaccionbdid"])
                    };
                    objetoBD.Nombre = sdr["objetobd"].ToString();
                    objetoBDs.Add(objetoBD);
                }
                sdr.Close();
                foreach (ObjetoBD objetoBD in objetoBDs)
                {
                    objetoBD.Instancia  = ir.Obtener(objetoBD.Instancia.Id);
                    objetoBD.Esquema    = er.Obtener(objetoBD.Esquema.Id);
                    objetoBD.TipoObjeto = tobdr.Obtener(objetoBD.TipoObjeto.Id);
                }
                return(objetoBDs);
            }
            catch
            {
                throw;
            }
            finally
            {
                if (Conexion.State == ConnectionState.Open)
                {
                    Conexion.Close();
                }
            }
        }