コード例 #1
0
        private static void CompleteTournament(TournamentModel model)
        {
            TeamModel winners  = model.Rounds.Last().First().Winner;
            TeamModel runnerUp = model.Rounds.Last().First().Entries.Where(x => x.TeamCompeting != winners).First().TeamCompeting;

            decimal winnerPrize = 0;
            decimal runnerPrize = 0;

            if (model.Prizes.Count > 0)
            {
                decimal totalIncome = model.EnterdTeams.Count * model.EntryFee;

                PrizeModel firstPlacePrize = model.Prizes.Where(x => x.PlaceNumber == 1).FirstOrDefault();

                PrizeModel SecendPlacePrize = model.Prizes.Where(x => x.PlaceNumber == 2).FirstOrDefault();

                if (firstPlacePrize != null)
                {
                    winnerPrize = firstPlacePrize.CalculatePrizePayout(totalIncome);
                }
                if (SecendPlacePrize != null)
                {
                    runnerPrize = SecendPlacePrize.CalculatePrizePayout(totalIncome);
                }
            }
            string        subject = "";
            StringBuilder body    = new StringBuilder();



            subject = $"in {model.TournamentName}. {winners.TeamName} has won";

            body.AppendLine("<h1>we have a winner</h>");
            body.AppendLine("<p>congratulations to our winner.</p> ");
            body.AppendLine("<br/>");

            if (winnerPrize > 0)
            {
                body.AppendLine($"<p> {winners.TeamName} will receive {winnerPrize}</p>");
            }
            if (runnerPrize > 0)
            {
                body.AppendLine($"<p> {runnerUp.TeamName} will receive {runnerPrize}</p>");
            }

            body.AppendLine("<p>thanks for a great tounrnament</p>");
            body.AppendLine("tournamet tracker");


            List <string> bcc = new List <string>();

            foreach (TeamModel t in model.EnterdTeams)
            {
                foreach (PersonModel p in t.TeamMembers)
                {
                    if (p.EmailAddress.Length > 0)
                    {
                        bcc.Add(p.EmailAddress);
                    }
                }
            }

            EmailLogic.SendEmail(new List <string>(), bcc, subject, body.ToString());

            // complete tounrament
            model.CompleteTounrnament();
        }