private void btnCalcInfil_Click(object sender, EventArgs e) { Dictionary <Infiltration_Calc.GAMPPARAM, double> gavarmap = new Dictionary <Infiltration_Calc.GAMPPARAM, double>(); if (!InputsAreOK(gavarmap)) { System.Windows.Forms.MessageBox.Show("Some fields contain inputs that are not valid. \n" + "Enter values for the indicated parameters.", "Invalid Input"); return; } if (Calculator == null) { Calculator = new Infiltration_Calc(); } //Do GAmp calculation double[] InfiltrationResults = Calculator.GreemAmptMethod(gavarmap); //Save results Infiltration_Calc.ResultInfiltrationRate = InfiltrationResults[0]; Infiltration_Calc.ResultInfiltrationDepth = InfiltrationResults[1]; Infiltration_Calc.ResultInfiltrationDrainTime = InfiltrationResults[2]; RaiseInfilEvent("", "", ""); }
private void cboSoilMenu_SelectedIndexChanged(object sender, EventArgs e) { if (cboSoilMenu.SelectedItem == null) { System.Windows.Forms.MessageBox.Show("Must select a soil type first", "Infiltration Calculator"); return; } if (Calculator == null) { Calculator = new Infiltration_Calc(); } string lSoilName = cboSoilMenu.SelectedItem.ToString(); Dictionary <string, string> soilprop = Calculator.MDMethod(lSoilName); string lVal = ""; bool lValIsOK; foreach (string lKey in soilprop.Keys) { lValIsOK = false; if (soilprop.TryGetValue(lKey, out lVal)) { lValIsOK = true; } if (lKey.StartsWith("Porosity")) { if (lValIsOK) { txtGAmpPorosity.Text = lVal; } } else if (lKey.StartsWith("Effective Porosity")) { if (lValIsOK) { txtGAmpEffPorosity.Text = lVal; } } else if (lKey.StartsWith("Suction Head")) { if (lValIsOK) { txtGAmpSuction.Text = lVal; } } else if (lKey.StartsWith("Pore Size Distribution")) { } else if (lKey.StartsWith("Residual Water Content")) { if (lValIsOK) { txtGAmpResWater.Text = lVal; } } else if (lKey.StartsWith("Hydraulic Head")) { } else if (lKey.StartsWith("Hydraulic Conductivity")) { if (lValIsOK) { txtGAmpSatHydCond.Text = lVal; } } else if (lKey.StartsWith("Typical Water Capacity")) { } else if (lKey.StartsWith("Typical Infilteration Rate")) { if (rdoInfilMethodMaryland.Checked) { Infiltration_Calc.ResultInfiltrationRate = double.Parse(lVal); } } else if (lKey.StartsWith("Hydrologic Soil Group")) { } } if (rdoInfilMethodMaryland.Checked) { InfiltrationMethodChangeEventArgs args = new InfiltrationMethodChangeEventArgs(); args.InfilMethod = Infiltration_Calc.INFILCALCMETHODS.MARYLANDLOOKUP; args.ResultInfiltrationRate = Infiltration_Calc.ResultInfiltrationRate.ToString(); args.ResultInfiltrationDepth = ""; args.ResultInfiltrationDrainTime = ""; OnInfiltrationMethodChanged(args); } }