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."); } }
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."); } }