namespace WebEMSim
{
    public class Group
    {
        private int _number;

        private List<Team> _teams = [];
        private Table _table;


        public Group(int number)
        {
            _number = number;
            _table = new Table(_teams);
        }

        public void AddTeam(Team team)
        {
            team.AssignGroup(_number);
            _teams.Add(team);
            _table.AddTeam(team);
        }

        public void PerformGroupPlayout()
        {
            List<Match> matches = Helpers.GenerateMatches(_teams);

            foreach (Match match in matches)
            {
                match.Play();
            }
        }

        public override string ToString()
        {
            return String.Format("Group {0} { {1} }", _number, _teams.ToArray().ToString());
        }

        public Table Table { get => _table; }
        public char Letter { get => Helpers.NumberToLetter(_number); }
    }
}