private void loadSufficientGroup(ConfigGramer.Item item, ref Aggregation aggregation) { ASTQualifier[] qualifiers = { new ASTQualifier(ItemType.SETTING), new ASTQualifier(ItemType.VALUE), new ASTQualifier(ItemType.LIST), new ASTQualifier(ItemType.VALUE_LIST) }; if (item.context == ItemType.SETTING_LIST) { ConfigGramer._SettingList sufficientList = (ConfigGramer._SettingList)item.value; for (int i = 0; i < sufficientList.Count; i++) { switch (sufficientList.Value[i].Name.Value) { case "congress_group": qualifiers[0].itemQualifier = "congress_group"; aggregation.Congress = configuration.GetItem(item, qualifiers).GetStringList(); break; case "necessary_group": qualifiers[0].itemQualifier = "necessary_group"; aggregation.NecessaryGroup = configuration.GetItem(item, qualifiers).GetStringList(); break; default: return; } } } }
private void LoadAggregation(ConfigGramer configuration) { ConfigGramer.Item result = configuration.GetItem( new ASTQualifier(ItemType.CONFIGURATION), new ASTQualifier(ItemType.SETTING_LIST), new ASTQualifier(ItemType.SETTING, "aggregation"), new ASTQualifier(ItemType.VALUE), new ASTQualifier(ItemType.GROUP), new ASTQualifier(ItemType.VALUE), new ASTQualifier(ItemType.SETTING_LIST) ); if (result.IsEmpty()) //checks to make sure we have an aggregation setting with values in it { return; } ConfigGramer._SettingList valueList = (ConfigGramer._SettingList)result.value; ASTQualifier[] qualifiers = { new ASTQualifier(ItemType.SETTING), new ASTQualifier(ItemType.VALUE), new ASTQualifier(ItemType.SCALAR_VALUE), new ASTQualifier(ItemType.STRING) }; Aggregation aggregation = new Aggregation(); for (int i = 0; i < valueList.Count; i++) { switch (valueList.Value[i].Name.Value) { case "congress_threshold": qualifiers[3].itemType = ItemType.FLOAT; qualifiers[0].itemQualifier = "congress_threshold"; aggregation.Threshold = (configuration.GetItem(result, qualifiers).GetFloat() * 100).ToString(); break; case "sufficient": //{PluginManager.ConfigGramer._Value} {PluginManager.ConfigGramer._Group} {PluginManager.ConfigGramer._SettingList} loadSufficientGroup(configuration.GetItem( result, new ASTQualifier(ItemType.SETTING, "sufficient"), new ASTQualifier(ItemType.VALUE), new ASTQualifier(ItemType.GROUP), new ASTQualifier(ItemType.SETTING_LIST) ), ref aggregation); break; } } PublicAggregation = aggregation; NumberTextBox.Text = aggregation.Threshold; }