public override bool Equals(object obj) { if (obj == null) { return(false); } Opcion opc = obj as Opcion; if (opc == null) { return(false); } else { if (opc.Codigo == this.Codigo && opc.Aplicacion == this.Aplicacion) { return(true); } else { return(false); } } }
private static List <Opcion> ObtenerPorPerfil(int codigoPerfil, string appName, SqlConnection connection) { connection = Connection.Conectar("login"); if (connection != null) { if (connection.State != ConnectionState.Open) { connection.Open(); } List <Opcion> opciones = null; using (SqlCommand cmd = new SqlCommand("dbo.ObtieneOpciones", connection)) { cmd.CommandType = CommandType.StoredProcedure; AddParameters(cmd, codigoPerfil, appName); using (SqlDataReader reader = cmd.ExecuteReader()) { opciones = new List <Opcion>(); while (reader.Read()) { Opcion opc = new Opcion(); opc.Codigo = Convert.ToInt32(reader["opc_codigo"]); opc.Aplicacion = reader["opc_aplicacion"].ToString(); opc.Descripcion = reader["opc_descripcion"].ToString(); opc.CanSelect = Convert.ToInt32(reader["opc_can_select"]) == 1 ? true : false; opc.CanInsert = Convert.ToInt32(reader["opc_can_insert"]) == 1 ? true : false; opc.CanUpdate = Convert.ToInt32(reader["opc_can_update"]) == 1 ? true : false; opc.CanDelete = Convert.ToInt32(reader["opc_can_delete"]) == 1 ? true : false; opc.CanBajaAlta = Convert.ToInt32(reader["opc_can_baal"]) == 1 ? true : false; opciones.Add(opc); } } } if (connection.State != ConnectionState.Closed) { connection.Close(); } connection.Dispose(); return(opciones); } 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; AddParameters(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."); } }