using System;
using System.Collections.Generic;
using System.Text;

namespace TrackerLibrary.Models
{
    public class TournamentModel
    {
        public event EventHandler<DateTime> OnTournamentComplete;

        /// <summary>
        /// The unique identifier for this tournament
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// The name given to this tournament
        /// </summary>
        public string TournamentName { get; set; }
        /// <summary>
        /// The amount of money each team needs to put up to enter
        /// </summary>
        public decimal EntryFee { get; set; }
        /// <summary>
        /// The set of teams that have entered
        /// </summary>
        public List<Models.TeamModel> EnteredTeams { get; set; } = new List<Models.TeamModel>();
        /// <summary>
        /// The list of prizes for various places
        /// </summary>
        public List<Models.PrizeModel> Prizes { get; set; } = new List<Models.PrizeModel>();
        /// <summary>
        /// The matchups per round
        /// </summary>
        public List<List<Models.MatchupModel>> Rounds { get; set; } = new List<List<Models.MatchupModel>>();

        public void CompleteTournament()
        {
            OnTournamentComplete?.Invoke(this,DateTime.Now);
        }
    }
}
