private void ParseAttributeName() { if (this.name.Length == 0) { return; } int num = this.name.IndexOf('('); int num2 = this.name.IndexOf(')'); int num3 = this.name.IndexOf('.'); bool flag = false; if (num > 0 && num2 > num && (num3 < 0 || num3 == num2 + 1)) { flag = true; } if (!flag) { this.valueColumn = this.parentModel.Columns[this.name]; if (this.valueColumn != null) { this.shortName = this.name; return; } } else { bool flag2 = num3 < 0; string index = this.name.Substring(0, num); this.parentColumn = this.parentModel.Columns[index]; if (this.parentColumn == null) { return; } if (flag2) { this.valueColumn = null; MiningModelColumnCollection.Enumerator enumerator = this.parentColumn.Columns.GetEnumerator(); while (enumerator.MoveNext()) { MiningModelColumn current = enumerator.Current; if (current.Content == "KEY") { this.keyColumn = current; this.shortName = this.name; } } return; } string index2 = this.name.Substring(num3 + 1); this.valueColumn = this.parentColumn.Columns[index2]; this.shortName = index2; } }
private void PopulateCollection(MiningModel parentModel) { this.hashAttrIDs = new Hashtable(); AdomdCommand adomdCommand = new AdomdCommand(); adomdCommand.Connection = parentModel.ParentConnection; int num = 0; MiningModelColumnCollection.Enumerator enumerator = parentModel.Columns.GetEnumerator(); while (enumerator.MoveNext()) { MiningModelColumn current = enumerator.Current; if (current.IsTable) { MiningModelColumnCollection.Enumerator enumerator2 = current.Columns.GetEnumerator(); while (enumerator2.MoveNext()) { MiningModelColumn arg_54_0 = enumerator2.Current; num++; } } } adomdCommand.CommandText = string.Format(CultureInfo.InvariantCulture, MiningAttributeCollection.attribQueryStmt, new object[] { parentModel.Name }); AdomdDataReader adomdDataReader = adomdCommand.ExecuteReader(CommandBehavior.SequentialAccess); while (adomdDataReader.Read()) { int @int = adomdDataReader.GetInt32(MiningAttributeCollection.attIdIndex); string @string = adomdDataReader.GetString(MiningAttributeCollection.nameIndex); string string2 = adomdDataReader.GetString(MiningAttributeCollection.shortNameIndex); bool boolean = adomdDataReader.GetBoolean(MiningAttributeCollection.isInputIndex); bool boolean2 = adomdDataReader.GetBoolean(MiningAttributeCollection.isPredictableIndex); int int2 = adomdDataReader.GetInt32(MiningAttributeCollection.featureSelectionIndex); string string3 = adomdDataReader.GetString(MiningAttributeCollection.keyColumnIndex); string string4 = adomdDataReader.GetString(MiningAttributeCollection.valueColumnIndex); MiningAttribute miningAttribute = new MiningAttribute(parentModel); miningAttribute.attributeID = @int; miningAttribute.name = @string; miningAttribute.shortName = string2; miningAttribute.isInput = boolean; miningAttribute.isPredictable = boolean2; miningAttribute.featureSelection = (MiningFeatureSelection)int2; miningAttribute.keyColumn = this.ModelColumnFromName(string3, parentModel); miningAttribute.valueColumn = this.ModelColumnFromName(string4, parentModel); this.hashAttrIDs.Add(miningAttribute.name, miningAttribute.attributeID); this.arAttributesInternal.Add(miningAttribute); } adomdDataReader.Close(); adomdCommand.Dispose(); }