private void ReadSelectionsFromScenarioTable() { var scenarioTable = GetScenarioTable(); var checkBox = GetCheckBoxes(); string[] opModels = UrgsimUtilitycs.OperationModels(); foreach (GCM_CheckBox cb in checkBox) { cb.Checked = false; string projectionName = GetClimateProjectionName(cb); foreach (string om in opModels) { string sn = om + "/" + projectionName; var row = GetScenarioTableRowsByName(scenarioTable, sn); if (row.Checked) { cb.Checked = true; } } } // select operation models. var som = (from r in scenarioTable.AsEnumerable() where r.Checked && r.Name.IndexOf("/") > 0 select r.Name.Substring(0, r.Name.IndexOf("/"))).Distinct().ToArray(); opModelSelector.SelectModels(som); }
public void SaveChanges() { var scenarioTable = GetScenarioTable(); var checkBox = GetCheckBoxes(); var som = opModelSelector.SelectedOperationModels(); if (!ValidateModelSelection()) { return; } string[] opModels = UrgsimUtilitycs.OperationModels(); foreach (GCM_CheckBox cb in checkBox) { foreach (string om in opModels) { string scenarioName = om + "/" + GetClimateProjectionName(cb); var row = GetScenarioTableRowsByName(scenarioTable, scenarioName); bool ck = (cb.Checked && Array.IndexOf(som, om) >= 0); row.Checked = ck; } } SaveScenarioTable(scenarioTable); }