public static uint ScoreTopPicks(IEnumerable<Models.Activity> schedule, IEnumerable<Models.Group> groups)
{
uint[] scores = new uint[5] {100, 70, 50, 35, 23};
uint score = 0;
foreach (Models.Group group in groups)
{
uint numGroupPicks = 0;
for (int lcv = 0; lcv < scores.Length; lcv++)
{
Models.Station preference = new Models.Station();
if (lcv == 0)
preference = group.Preference1;
else if (lcv == 1)
preference = group.Preference2;
else if (lcv == 2)
preference = group.Preference3;
else if (lcv == 3)
preference = group.Preference4;
else if (lcv == 4)
preference = group.Preference5;
foreach (Models.Activity activity in schedule)
{
if (activity.Group == group && activity.Station == preference)
{
numGroupPicks++;
score += scores[lcv];
break;
}
}
//only score the group for their top three picks
if (numGroupPicks == 3)
break;
}
}
return score;
}