Example #1
0
        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("", "", "");
        }
Example #2
0
        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);
            }
        }