public Form1() { InitializeComponent(); // MyWSIM = new WaterSimManager_DB(".", "."); SQLServer ServerType = SQLServer.stText; string TheDefaultDatabase = Path.GetDirectoryName(Application.ExecutablePath); MyWSIM = new WaterSimManager_DB(ServerType, ".", ".", TheDefaultDatabase, "", "", "", ""); // MyWSIM = new WaterSimManager_SIO(".", "."); //UnitData TheData = null; //TheData = MyWSIM.TheCRFNetwork.CRFUnitData; // This add some groups for the west data WaterSimDCDC.WestTools.AddWestParameterGroups(MyWSIM); SetupPhrasesAndColors(); foreach (string name in MyWSIM.WaterSimWestModel.UnitModelNames) { DisplaySankeyMenuItem.DropDownItems.Add(name); SanKeyGraphcomboBox.Items.Add(name); } parameterTreeView1.ParameterManager = MyWSIM.ParamManager; // Set al;l Industry to purple, default is red foreach (WaterSimCRFModel WSM in MyWSIM.WaterSimWestModel.WaterSimCRFModels) { WSM.TheCRFNetwork.Industrial.Color = Color.Purple; } // Reset Size of Sankey Graph sankeyGraphUnit.Width = SankeyGraphPanel.Width - 2; sankeyGraphUnit.Invalidate(); Application.DoEvents(); // Ok, reset the graph ResetSanKeyGraphUnit(ModelUnitName); // Create the chart manager MyCM = new ChartManager(chart1, "MyCHart"); // Setup Input Tree treeViewInput.CheckBoxes = true; foreach (int emp in MyWSIM.ParamManager.eModelParameters()) { ModelParameterClass MP = MyWSIM.ParamManager.Model_Parameter(emp); if (MP.isInputParam) { treeViewInput.Nodes.Add(new ParameterTreeNode(MP)); } } // Setup MultiSankey Window MyMultiSankey = new ShowMultipleSankeyV1(MyWSIM); MyMultiSankey.Hide(); //regionTreeViewClass1.WaterSim = MyWSIM; regionTreeViewClass1.WaterSim = MyWSIM; regionTreeViewClass1.CallBackHandler = RegionTreeViewCallback; // LoadParameterDropDown(); }
private void toolStripMenuItem2_Click(object sender, EventArgs e) { openFileDialog1.DefaultExt = "csv"; openFileDialog1.Filter = "csv files|*.csv"; openFileDialog1.InitialDirectory = MyWSIM.DbConnection.Database; bool OkToUse = false; string errMsg = ""; openFileDialog1.ShowDialog(); string TempFilename = openFileDialog1.FileName; try { // THis is tedious, UNIDB Text server expects files to be in the Database ie the directory of the database, // and it expects the filename to be like a tablename, ie no path, just relative to teh database/directory, // but text files can be open anywhere and have a path associated with them. // So we need to check for this, strip off the directory of the file and change the database if different string TempDir = Path.GetDirectoryName(TempFilename); string TempTableName = Path.GetFileName(TempFilename); if (MyWSIM.DbConnection.Database.ToUpper() != TempDir.ToUpper()) { MyWSIM.DbConnection.ChangeDatabase(TempDir); } bool isErr = false; DataTable Temp = MyWSIM.LoadWaterSimTable(TempTableName); OkToUse = WaterSimManager_DB.Valid_DataTable(Temp); if (OkToUse) { TheFileNameForData = TempTableName; } else { errMsg = "File does not contain the required fieldnames : "; foreach (string str in WaterSimManager_DB.RequiredFields) { errMsg += str + " "; } } } catch (Exception ex) { errMsg = ex.Message; OkToUse = false; } if (!OkToUse) { MessageBox.Show("Unable to Use " + TempFilename + " - " + errMsg); } else { string JustFIle = Path.GetFileName(TheFileNameForData); toolStripStatusLabel1.Text = JustFIle; } }
//---------------------------------------- private void MapTableListComboBox_TextChanged(object sender, EventArgs e) { try { string tablename = MapTableListComboBox.Text; if (tablename != "") { MapParameterListBox.Items.Clear(); MapDataTable = new DataTable(); ClearMapLayers(); OleDbDataAdapter NewRawTableAdapter = new OleDbDataAdapter("Select * from " + '[' + tablename + ']', WSim.DbConnection); NewRawTableAdapter.Fill(MapDataTable); AddProviderShapeFileLayers(); foreach (ModelParameterClass mpc in WSim.ParamManager.ProviderOutputs()) { if (MapDataTable.Columns.Contains(mpc.Fieldname)) { MapParameterListBox.Items.Add(mpc.Fieldname); } } foreach (ModelParameterClass mpc in WSim.ParamManager.ProviderInputs()) { if (MapDataTable.Columns.Contains(mpc.Fieldname)) { MapParameterListBox.Items.Add(mpc.Fieldname); } } List <string> temp = WaterSimManager_DB.YearsInTable(MapDataTable); YearComboBox.Items.Clear(); foreach (string str in temp) { YearComboBox.Items.Add(str); } YearComboBox.SelectedIndex = YearComboBox.Items.Count - 1; MapTargetYear = YearComboBox.Items[YearComboBox.Items.Count - 1].ToString().Trim(); } } catch { } }
///------------------------------------------------------------------------------------------------- /// <summary> Sets a tablename. </summary> /// /// <param name="tablename"> The tablename. </param> /// <param name="errMessage"> [in,out] Message describing the error. </param> /// /// <returns> true if it succeeds, false if it fails. </returns> ///------------------------------------------------------------------------------------------------- public bool SetTablename(string tablename, ref string errMessage) { bool iserror = true; string errString = ""; // Fetch the Parameters and Names for this table DataTable SelectedTable; SelectedTable = UniDB.Tools.LoadTable(FDbConnection, tablename, 1, ref iserror, ref errString); parameterTreeView1.ParameterManager = FPM; parameterTreeView1.Clear(); if (!iserror) { //parameterTreeView1.Items.Clear(); // get all the different paramters in order List <string> parmlist = WaterSimManager_DB.ParameterFieldsInTable(SelectedTable, FPM, false, false, false, modelParamtype.mptUnknown); parameterTreeView1.SetFieldsActive(parmlist); // parmlist = WaterSimManager_DB.ParameterFieldsInTable(SelectedTable, FPM, true, false, true, modelParamtype.mptOutputProvider); // foreach (string str in parmlist) // { // //parameterTreeView1.Items.Add(str); // } // parmlist = WaterSimManager_DB.ParamtersInTable(SelectedTable, FPM, true, false, true, modelParamtype.mptInputBase); // foreach (string str in parmlist) // { // //parameterTreeView1.Items.Add(str); // } // parmlist = WaterSimManager_DB.ParamtersInTable(SelectedTable, FPM, true, false, true, modelParamtype.mptInputProvider); // foreach (string str in parmlist) // { // //parameterTreeView1.Items.Add(str); // } // parmlist = WaterSimManager_DB.ParamtersInTable(SelectedTable, FPM, false, true, false, 0); // foreach (string str in parmlist) // { // //parameterTreeView1.Items.Add(str); // } } char stringquote = Tools.SQLStringQuote(FDbConnection.SQLServerType); // get the year string ScnName = SelectedTable.Rows[0][WaterSimManager_DB.rdbfScenarioName].ToString(); string firstyear = SelectedTable.Rows[0][WaterSimManager_DB.rdbfSimYear].ToString(); // ok get the provider codes in the table string JustFirstYear = WaterSimManager_DB.rdbfSimYear + " = " + firstyear + " AND " + WaterSimManager_DB.rdbfScenarioName + " = " + stringquote + ScnName + stringquote; SelectedTable = UniDB.Tools.LoadTable(FDbConnection, tablename, JustFirstYear, ref iserror, ref errString); if (!iserror) { List <string> ProvList = WaterSimManager_DB.ProvidersInTable(SelectedTable); ProvidernamesComboBox.Items.Clear(); foreach (string str in ProvList) { ProvidernamesComboBox.Items.Add(str); } } // get the scenarios. load table with just the required fields which all is need to fethc scenario names List <string> GetTheseFields = WaterSimManager_DB.RequiredFieldsList(); SelectedTable = UniDB.Tools.LoadTable(FDbConnection, tablename, GetTheseFields, ref iserror, ref errString); // Get the scenario names, if they are there if (!iserror) { List <string> ScnList = WaterSimManager_DB.ScenarioNamesInTable(SelectedTable); ScenarioNamesComboBox.Items.Clear(); if (ScnList.Count > 0) { ScenarioNamesComboBox.Items.Add(FIRSTSCENARIO); foreach (string str in ScnList) { ScenarioNamesComboBox.Items.Add(str); } } else { ScenarioNamesComboBox.Items.Add(NOSCENARIOS); } } // OK, if no error so far, then load the whole table if (!iserror) { FDataTable = UniDB.Tools.LoadTable(FDbConnection, tablename, ref iserror, ref errString); } return(!iserror); }
private bool SetTablename(string tablename, ref string errString) { char stringquote = Tools.SQLStringQuote(FDbConnection.SQLServerType); bool iserror = true; // Fetch the Parameters and Names for this table DataTable SelectedTable; SelectedTable = UniDB.Tools.LoadTable(FDbConnection, tablename, ref iserror, ref errString); if (!iserror) { ParmComboBox.Items.Clear(); // get all the different paramters in order List <string> parmlist = WaterSimManager_DB.ParamtersInTable(SelectedTable, FPM, true, false, true, modelParamtype.mptOutputBase); foreach (string str in parmlist) { ParmComboBox.Items.Add(str); } parmlist = WaterSimManager_DB.ParamtersInTable(SelectedTable, FPM, true, false, true, modelParamtype.mptOutputProvider); foreach (string str in parmlist) { ParmComboBox.Items.Add(str); } parmlist = WaterSimManager_DB.ParamtersInTable(SelectedTable, FPM, true, false, true, modelParamtype.mptInputBase); foreach (string str in parmlist) { ParmComboBox.Items.Add(str); } parmlist = WaterSimManager_DB.ParamtersInTable(SelectedTable, FPM, true, false, true, modelParamtype.mptInputProvider); foreach (string str in parmlist) { ParmComboBox.Items.Add(str); } parmlist = WaterSimManager_DB.ParamtersInTable(SelectedTable, FPM, false, true, false, 0); foreach (string str in parmlist) { ParmComboBox.Items.Add(str); } List <string> Scnlist = WaterSimManager_DB.ScenarioNamesInTable(SelectedTable); string ScnName = SelectedTable.Rows[0][WaterSimManager_DB.rdbfScenarioName].ToString(); string firstyear = SelectedTable.Rows[0][WaterSimManager_DB.rdbfSimYear].ToString(); // ok get the provider codes in the table string JustFirstYear = WaterSimManager_DB.rdbfSimYear + " = " + firstyear + " AND " + WaterSimManager_DB.rdbfScenarioName + " = " + stringquote + ScnName + stringquote; SelectedTable = UniDB.Tools.LoadTable(FDbConnection, tablename, JustFirstYear, ref iserror, ref errString); if (!iserror) { // ok get the provider codes in the table ProviderCheckedListBox.Items.Clear(); List <string> Provlist = WaterSimManager_DB.ProvidersInTable(SelectedTable); foreach (string str in Provlist) { ProviderCheckedListBox.Items.Add(str); } // Get the scenario names, if they are there ScenarioNamesComboBox.Items.Clear(); if (Scnlist.Count > 0) { ScenarioNamesComboBox.Enabled = true; ScenarioNamesComboBox.Items.Add(FIRSTSCENARIO); foreach (string str in Scnlist) { ScenarioNamesComboBox.Items.Add(str); } } else { ScenarioNamesComboBox.Items.Add(NOSCENARIOS); ScenarioNamesComboBox.Text = NOSCENARIOS; ScenarioNamesComboBox.Enabled = false; } } else { errString = "Error Finding Providers in Datatable"; } } else { errString = "Error Finding WaterSim Parameters in DataTable"; } if (!iserror) { FTablename = tablename; FDataTable = UniDB.Tools.LoadTable(FDbConnection, tablename, ref iserror, ref errString); } return(!iserror); }