///------------------------------------------------------------------------------------------------- /// <summary> Gets the Other (OffProject) projected growth rate for a specified year. </summary> /// <exception cref="Exception"> Thrown when an exception error condition occurs. </exception> /// /// <param name="year"> The year. </param> /// /// <returns> The growth rate. </returns> ///------------------------------------------------------------------------------------------------- public ProviderDoubleArray GetYearRatePopOffData(int year) { int index = year - FStartYear; if ((index < 0) || (index > (PopOffRateByYearList.Count - 1))) { throw new Exception(WS_Strings.Get(WS_Strings.wsInvalidPopIndex)); } return(PopOffRateByYearList[index]); }
///------------------------------------------------------------------------------------------------- /// <summary> Constructor. </summary> /// /// <remarks> Loads the OnProject and OtherProject population files from the AppData directory. Since these tables do not indicate the start year of the /// population data, that must be passed. Default is 2000.</remarks> /// /// <exception cref="Exception"> Thrown when an exception error condition occurs. </exception> /// /// <param name="pathname"> Full pathname to where WaterSim Data is located, same as WaterSimManager.DataDirectory. </param> /// <param name="StartYear"> The start year of the population table, if zero Set to PopulationClass.DefaultStartYear. </param> /// <seealso cref="WaterSimManager.DataDirectory"/> /// <seealso cref="PopulationClass.DefaultStartYear"/> ///------------------------------------------------------------------------------------------------- public PopulationClass(string pathname, int StartYear) { string myerr = ""; if (!LoadAllPopData(pathname, ref myerr)) { throw new Exception(WS_Strings.Get(WS_Strings.wsPopDataLoadError) + myerr); } if (StartYear == 0) { FStartYear = DefaultStartYear; } else { FStartYear = StartYear; } }