示例#1
0
        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();
        }