示例#1
0
        private static List <Perfil> ObtenerPerfiles(string appName, SqlConnection connection)
        {
            List <Perfil> perfiles = null;

            connection = Connection.Conectar("login");
            if (connection != null)
            {
                if (connection.State != ConnectionState.Open)
                {
                    connection.Open();
                }

                using (SqlCommand cmd = new SqlCommand("dbo.GetPerfiles", connection))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    Usuario usu = new Usuario();
                    usu.User         = "";
                    usu.Domain       = "";
                    usu.CodigoPerfil = 0;
                    usu.AppName      = appName;
                    AddSearchParameters(cmd, usu);

                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        perfiles = new List <Perfil>();
                        while (reader.Read())
                        {
                            Perfil perfil = new Perfil();
                            perfil.Codigo      = Convert.ToInt32(reader["per_codigo"]);
                            perfil.Descripcion = reader["per_descripcion"].ToString();
                            perfil.Opciones    = Opcion.ObtenerPorPerfil(perfil.Codigo, appName);

                            perfiles.Add(perfil);
                        }
                    }
                }

                if (connection.State != ConnectionState.Closed)
                {
                    connection.Close();
                }

                connection.Dispose();

                return(perfiles);
            }
            else
            {
                throw new Exception("La conexión está vacía.");
            }
        }
示例#2
0
        private static Perfil ObtenerPerfilPorUsuario(Usuario usuario, string appName, SqlConnection connection)
        {
            connection = Connection.Conectar("login");
            if (connection != null)
            {
                if (connection.State != ConnectionState.Open)
                {
                    connection.Open();
                }

                Perfil perfil = null;
                using (SqlCommand cmd = new SqlCommand("dbo.ObtienePerfil", connection))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    AddLoginParameters(cmd, usuario);

                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        if (reader.Read())
                        {
                            perfil             = new Perfil();
                            perfil.Codigo      = Convert.ToInt32(reader["per_codigo"]);
                            perfil.Descripcion = reader["per_descripcion"].ToString();
                            perfil.Opciones    = Opcion.ObtenerPorPerfil(perfil.Codigo, appName);
                        }
                    }
                }

                if (connection.State != ConnectionState.Closed)
                {
                    connection.Close();
                }

                connection.Dispose();

                return(perfil);
            }
            else
            {
                throw new Exception("La conexión está vacía.");
            }
        }