public void CreateAndAddTeams(Season season, IList <SeasonTeamRule> teamRules) { if (teamRules != null) { teamRules.ToList().Select(t => t.Parent.Id).Distinct().ToList().ForEach(parentId => { var team = CreateAndAddTeam(season, TeamRules.ToList().Where(tr => tr.Parent.Id == parentId).ToList()); season.Teams.Add(team); }); } }
//todo properly test these with years public virtual void ProcessTeamRules(Season season, Dictionary <string, SeasonDivision> seasonDivisions, List <CompetitionTeam> teams) { TeamRules.Where(tr => tr.IsActive(season.Year)).ToList().ForEach((System.Action <SeasonTeamRule>)(rule => { var team = rule.Team; var seasonDivision = seasonDivisions[rule.Division.DivisionName]; var newTeam = (SeasonTeam)CreateCompetitionTeam(season, team); newTeam.Division = seasonDivision; seasonDivision.AddTeam(newTeam); teams.Add(newTeam); })); }