コード例 #1
0
        public void AddDivision(SeasonDivision division)
        {
            division.Season = this;

            if (division.GetTeamsThatBelongToDivision() != null)
            {
                division.GetTeamsThatBelongToDivision().ToList().ForEach(t =>
                {
                    if (Teams.Where(team => team.Parent.Id == t.Parent.Id).FirstOrDefault() == null)
                    {
                        AddTeam(t);
                    }
                });
            }

            if (Divisions.Where(d => d.Name.Equals(division.Name)).FirstOrDefault() == null)
            {
                Divisions.Add(division);

                division.Children.ToList().ForEach(cd =>
                {
                    AddDivision(cd);
                });
            }
            else
            {
                //throw new SeasonException("Division was already added. " + division.Name);
            }
        }
コード例 #2
0
 public void AddChildDivision(SeasonDivision child)
 {
     if (Children.Where(c => c.Name.Equals(child.Name)).FirstOrDefault() == null)
     {
         Children.Add(child);
         child.Parent = this;
     }
 }
コード例 #3
0
 public SeasonDivision(string name, Season season, DivisionLevel level, SeasonDivision parent)
 {
     Name   = name;
     Season = season;
     Level  = level;
     Parent = parent;
     if (parent != null)
     {
         Parent.AddChildDivision(this);
     }
 }
コード例 #4
0
ファイル: SeasonTeam.cs プロジェクト: jodyunter/TeamGame
        public void AddDivisionToTeam(SeasonDivision division)
        {
            if (Divisions == null)
            {
                Divisions = new List <SeasonDivision>();
            }

            if (!IsDivisionInList(division))
            {
                Divisions.Add(division);
            }
        }
コード例 #5
0
        public void AddTeamToDivision(SeasonDivision division, SeasonTeam team)
        {
            //first if the division
            if (!team.IsDivisionInList(division))
            {
                team.AddDivisionToTeam(division);
            }

            if (!division.IsTeamInList(team))
            {
                division.AddTeam(team);
            }
        }
コード例 #6
0
        //this shouldn't be called without updating rankings first
        public Standings GetStandingsByDivision(SeasonDivision division)
        {
            //update the division rankings
            //create the standings
            //add the teams and assign ranks
            var standings = new Standings()
            {
                Name = division.Name
            };

            standings.Teams = new List <StandingsTeam>();

            division.Ranking.ToList().ForEach(sr =>
            {
                ((StandingsTeam)sr.Team).Rank = sr.Rank;
                standings.Teams.Add((StandingsTeam)sr.Team);
            });

            return(standings);
        }
コード例 #7
0
        public SeasonDivision(string name, Season season, DivisionLevel level, SeasonDivision parent, IList <SeasonDivision> children, IList <SeasonRanking> ranking)
        {
            Name   = name;
            Season = season;
            Level  = level;
            Parent = parent;
            if (parent != null)
            {
                Parent.AddChildDivision(this);
            }
            if (children != null)
            {
                Children = children;
            }

            if (ranking != null)
            {
                Ranking = ranking;
            }
        }
コード例 #8
0
ファイル: SeasonRanking.cs プロジェクト: jodyunter/TeamGame
        public static void UpdateDivisionRankings(SeasonDivision division)
        {
            var teams = Standings.SortTeams(division.Teams.ToList <StandingsTeam>());

            if (division.Ranking == null || division.Ranking.Count == 0)
            {
                division.Ranking = new List <SeasonRanking>();
                teams.ToList().ForEach(team =>
                {
                    division.Ranking.Add(new SeasonRanking((SeasonTeam)team, -1, division));
                });
            }

            int i = 1;

            teams.ToList().ForEach(team =>
            {
                var rank  = division.Ranking.Where(rank => rank.Team.Name.Equals(team.Name)).First();
                rank.Rank = i++; //assign then increment
            });
        }
コード例 #9
0
ファイル: SeasonRanking.cs プロジェクト: jodyunter/TeamGame
 public SeasonRanking(SeasonTeam team, int rank, SeasonDivision division)
 {
     Team     = team;
     Rank     = rank;
     Division = division;
 }
コード例 #10
0
ファイル: SeasonTeam.cs プロジェクト: jodyunter/TeamGame
 public bool IsDivisionInList(SeasonDivision division)
 {
     return(Divisions.ToList().Where(d => d.Name.Equals(division.Name)).FirstOrDefault() != null);
 }