////------------------ /// <summary> /// indexer for indexed array gets and sets based on eProvider enum values /// </summary> /// <param name="index">eProvider index</param> /// <value>indexed Model Parameter value</value> /// <returns>value in provider array for eProvider index</returns> /// <exception cref="WaterSim_Exception">Should throw exception if set and value viloates a range rule</exception> public override int this[eProvider index] { get { if (!ProviderClass.valid(index)) { throw new WaterSim_Exception(WS_Strings.wsInvalidProvider); } return(Values[index]); } set { if (!ProviderClass.valid(index)) { throw new WaterSim_Exception(WS_Strings.wsInvalidProvider); } string errMessage = ""; if (Fpm.CheckProviderValueRange(Femp, value, (eProvider)index, ref errMessage)) { Values[index] = value; } else { throw new WaterSim_Exception(errMessage); } } }
private int[] get_FutureYearsSustainedPumping() { ProviderIntArray FYSP = new ProviderIntArray(); ProviderIntArray Balance = new ProviderIntArray(); ProviderIntArray Pumped = new ProviderIntArray(); Balance = Groundwater_Balance.getvalues(); Pumped = Groundwater_Pumped_Municipal.getvalues(); foreach (eProvider ep in ProviderClass.providers()) { int yrs = 0; if (Pumped[ep] > 0) { if (Balance[ep] > 0) { yrs = Balance[ep] / Pumped[ep]; } else { yrs = 0; } } else { yrs = 100; } if (yrs > 100) { yrs = 100; } FYSP[ep] = yrs; } return(FYSP.Values); }