protected virtual void validate()
{
switch (this.frequency())
{
case Frequency.Semiannual: //2
case Frequency.EveryFourthMonth: //3
case Frequency.Quarterly: //4
case Frequency.Bimonthly: //6
case Frequency.Monthly: //12
case Frequency.Biweekly: // etc.
case Frequency.Weekly:
case Frequency.Daily:
if ((this.seasonalityFactors().Count % (int)this.frequency()) != 0)
throw new ApplicationException(
"For frequency " + this.frequency()
+ " require multiple of " + ((int)this.frequency()) + " factors "
+ this.seasonalityFactors().Count + " were given.");
break;
default:
throw new ApplicationException("bad frequency specified: " + this.frequency()
+ ", only semi-annual through daily permitted.");
break;
}
}