//Pull out highest priority season.
IList seasons = this.edSeasonsEditor.Product.ProductSeasons;
//No good doing stuff if there's no seasons.
if (seasons.Count == 0) return;
ProductSeason highestSeason = seasons[0];
ProductSeasonList results = new ProductSeasonList(highestSeason);
//Do projections
while (seasons.GetEnumerator().MoveNext())
{
ProductSeasonList current = new ProductSeasonList(seasons.GetEnumerator().Current);
results = results.ProjectOnto(current);
}
//Save results to flat periods table