Пример #1
0
        private static void CompleteTournament(TournamentModel model)
        {
            GlobalConfig.Connection.CompleteTournament(model);

            TeamModel winner   = model.Rounds.Last().First().Winner;
            TeamModel runnerUp = model.Rounds.Last().First().Entries.Where(x => x.TeamCompeting != winner).First().TeamCompeting;

            decimal winnerPrize   = 0;
            decimal runnerUpPrize = 0;

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

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

                if (firstPlacePrize != null)
                {
                    winnerPrize = firstPlacePrize.CalculatePrizePayout(totalIncome);
                }

                if (secondPlacePrize != null)
                {
                    runnerUpPrize = secondPlacePrize.CalculatePrizePayout(totalIncome);
                }
            }

            // send email to all tournament
            model.AlertUsersToCompletedTournament(winner, runnerUp, winnerPrize, runnerUpPrize);

            // complete tournament
            model.CompleteTournament();
        }
        private static void CompleteTournament(TournamentModel model)
        {
            GlobalConfig.Connection.CompleteTournament(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   runnerUpPrize = 0;

            if (model.Prizes.Count > 0)
            {
                decimal    totalIncome      = model.EnteredTeams.Count * model.EntryFee;
                PrizeModel firstPlacePrize  = model.Prizes.Where(x => x.PlaceNumber == 1).FirstOrDefault();
                PrizeModel secondPlacePrize = model.Prizes.Where(x => x.PlaceNumber == 2).FirstOrDefault();
                if (firstPlacePrize != null)
                {
                    winnerPrize = firstPlacePrize.CalculatePrizePayout(totalIncome);
                }
                if (secondPlacePrize != null)
                {
                    runnerUpPrize = secondPlacePrize.CalculatePrizePayout(totalIncome);
                }
            }
            //Send email to all tournament
            string subject = "";

            StringBuilder body = new StringBuilder();

            subject = $"In {model.TournamentName} {winners.TeamName} has won!";
            body.AppendLine("<p>  Congratulations to our winner on a great tournament </p>");
            body.AppendLine("<string> Competitor: </strong>");
            body.AppendLine("<br />");
            if (winnerPrize > 0)
            {
                body.AppendLine($"<p>{winners.TeamName} will receive ${winnerPrize}</p>");
            }
            if (runnerUpPrize > 0)
            {
                body.AppendLine($"<p>{runnerUp.TeamName} will receive ${runnerUpPrize}</p>");
            }
            body.AppendLine("<p> Thanks for a great tournament everyone! </p>");
            body.AppendLine("~TournamentTracker");

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

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

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

            model.CompleteTournament();
        }
        private static void CompleteTournament(this TournamentModel tournament)
        {
            GlobalConfig.Connection.DeactivateTournament(tournament);
            MatchupModel finalMatchup = tournament.Rounds.Last().Matchups.First();
            TeamModel    winner       = finalMatchup.Winner;
            TeamModel    runnerUp     = finalMatchup.Entries.First(e => e.TeamCompeting != winner).TeamCompeting;

            decimal winnerPrize   = 0;
            decimal runnerUpPrize = 0;

            if (tournament.Prizes.Count > 0)
            {
                decimal totalIncome = tournament.EnteredTeams.Count * tournament.EntryFee;

                PrizeModel firstPlacePrize  = tournament.Prizes.FirstOrDefault(p => p.PlaceNumber == 1);
                PrizeModel secondPlacePrize = tournament.Prizes.FirstOrDefault(p => p.PlaceNumber == 2);

                winnerPrize   = firstPlacePrize?.CalculatePrizePayout(totalIncome) ?? 0;
                runnerUpPrize = secondPlacePrize?.CalculatePrizePayout(totalIncome) ?? 0;
            }

            string        subject = $"In {tournament.TournamentName}, {winner.TeamName} has won!";
            StringBuilder body    = new StringBuilder();

            body.AppendLine("<h1>We have a Winner!</h1>");
            body.AppendLine("<p>Congratulations to out winner on a great tournament.</p>");
            body.AppendLine("<br />");

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

            if (runnerUpPrize > 0)
            {
                body.AppendLine($"<p>{runnerUp.TeamName} will receive {runnerUpPrize} as runner up</p>");
            }

            body.AppendLine("<p>Thanks to everyone for participating!</p>");
            body.AppendLine("<p>~Tournament Tracker</p>");

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

            tournament.EnteredTeams.ForEach(et => et.TeamMembers.Where(mb => !string.IsNullOrEmpty(mb.EmailAddress)).ToList().ForEach(p => bcc.Add(p.EmailAddress)));

            EmailLogic.SendEmail(new List <string>(), bcc, subject, body.ToString());
        }
        /// <summary>
        /// Complete Tournament by sending emails to everyone about winners and prizes they got.
        /// Currently we are handling prizes for only first 2 places
        /// </summary>
        /// <param name="tournament"></param>
        private static void CompleteTournament(TournamentModel tournament)
        {
            GlobalConfig.Connection.CompleteTournament(tournament);
            TeamModel winners = tournament.Rounds.Last().First().Winner;
            TeamModel loser   = tournament.Rounds.Last().First().Entries.Where(x => x.TeamCompeting != winners).First().TeamCompeting;

            decimal winnerPrize = 0;
            decimal loserPrize  = 0;

            if (tournament.Prizes.Count > 0)
            {
                decimal totalIncome = tournament.EnteredTeams.Count * tournament.EntryFee;

                PrizeModel firstPlacePrize  = tournament.Prizes.Where(x => x.PlaceNumber == 1).FirstOrDefault();
                PrizeModel secondPlacePrize = tournament.Prizes.Where(x => x.PlaceNumber == 2).FirstOrDefault();

                if (firstPlacePrize != null)
                {
                    winnerPrize = firstPlacePrize.CalculatePrizePayout(totalIncome);
                }
                if (secondPlacePrize != null)
                {
                    loserPrize = secondPlacePrize.CalculatePrizePayout(totalIncome - winnerPrize);
                }
            }

            string        subject = "";
            StringBuilder body    = new StringBuilder();

            subject = $"In {tournament.TournamentName}, {winners.TeamName} has won";

            body.AppendLine("<h1>We have a winner!</h1>");
            body.AppendLine("<p>Congratulations to our winner on the great tournament.</p>");
            body.AppendLine();

            if (winnerPrize > 0)
            {
                body.AppendLine($"<p>{winners.TeamName} will receive ${winnerPrize}</p>");
            }
            if (loserPrize > 0)
            {
                body.AppendLine($"<p>{loser.TeamName} will receive ${loserPrize}</p>");
            }
            body.AppendLine();
            body.AppendLine("<p>Thanks for a great tournament!</p>");
            body.AppendLine("Tournament Tracker");

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

            foreach (TeamModel team in tournament.EnteredTeams)
            {
                foreach (PersonModel person in team.TeamMembers)
                {
                    if (person.EmailAddress.Length > 0)
                    {
                        bcc.Add(person.EmailAddress);
                    }
                }
            }

            EmailLogic.SendEmail(new List <string>(), bcc, subject, body.ToString());
            tournament.CompleteTournament();
        }
Пример #5
0
        private static void CompleteTournament(TournamentModel model)
        {
            GlobalConfig.Connection.CompleteTournament(model);
            TeamModel winners  = model.Rounds.Last().First().Winner;
            TeamModel runnerUp = model.Rounds.Last().First().Entries.Where(x => x.TeamCompeting != winners).First().TeamCompeting;
            // TODO: Limit the number of prizes to first and second
            // because third place is not easy to determine, probably use scores
            decimal winnerPrize   = 0;
            decimal runnerUpPrize = 0;

            if (model.Prizes.Count > 0)
            {
                decimal    totalIncome      = model.EnteredTeams.Count * model.EntryFee;
                PrizeModel firstPlacePrize  = model.Prizes.Where(x => x.PlaceNumber == 1).FirstOrDefault();
                PrizeModel secondPlacePrize = model.Prizes.Where(x => x.PlaceNumber == 2).FirstOrDefault();

                if (firstPlacePrize != null)
                {
                    winnerPrize = firstPlacePrize.CalculatePrizePayout(totalIncome);
                }

                if (secondPlacePrize != null)
                {
                    runnerUpPrize = secondPlacePrize.CalculatePrizePayout(totalIncome);
                }
            }

            // Send email at completion of tournament with prize information
            string        subject = "";
            StringBuilder body    = new StringBuilder();

            subject = $"In { model.TournamentName }, { winners.TeamName } has won!";
            body.AppendLine("<h1>We have a winner!</h1>");
            body.AppendLine("<p>Congratulations to our winner on a great tournament.</p>");
            body.AppendLine("<br />");

            if (winnerPrize > 0)
            {
                body.AppendLine($"<p>{ winners.TeamName } will receive \u20AC{ winnerPrize }</p>"); // The Euro sign hex code is u20AC
            }

            if (runnerUpPrize > 0)
            {
                body.AppendLine($"<p>{ runnerUp.TeamName } will receive \u20AC{ runnerUpPrize }</p>");
            }

            body.AppendLine("<p>Thanks for a great tournament everyone!</p>");
            body.AppendLine("<h2>~Tournament Tracker<h2/>");

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

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

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

            model.CompleteTournament();
        }
        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();
        }
        private static void CompleteTournament(TournamentModel model)
        {
            //GlobalConfig.Connection.CompleteTournament(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 runnerUpPrize = 0;

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

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

                if (firstPlacePrize != null)
                {
                    winnerPrize = firstPlacePrize.CalculatePrizePayout(totalIncome);
                }

                if (secondPlacePrize != null)
                {
                    runnerUpPrize = secondPlacePrize.CalculatePrizePayout(totalIncome);
                }
            }

            //Salje mail za kraj turnira
            string        subject = "";
            StringBuilder body    = new StringBuilder();

            subject = $"Turnir: { model.TournamentName } je osvojio tim: { winners.TeamName }";

            body.AppendLine("<h1>Imamo novog Pobjednika!</h1>");
            body.Append("<p>Pobjednik: </p>");
            body.AppendLine("<br />");

            if (winnerPrize > 0)
            {
                body.AppendLine($"<p> { winners.TeamName } sleduje nagrada u iznosu od: { winnerPrize } </p>");
                body.AppendLine();
            }

            if (runnerUpPrize > 0)
            {
                body.AppendLine($"<p> { runnerUp.TeamName } sleduje nagrada u iznosu od: { runnerUpPrize } </p>");
                body.AppendLine();
            }

            body.AppendLine();
            body.AppendLine("~ Organizator Turnira ~");

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

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

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

            //Zavrsi Turnir
            model.CompleteTournament();
        }
        private static void CompleteTournament(TournamentModel model)
        {
            TeamModel winners = model.Rounds.Last().First().Winner;
            //model.WinnerId = winners.Id;
            TeamModel runnerUp = model.Rounds.Last().First().Entries.Where(x => x.TeamCompeting != winners).First().TeamCompeting;

            model.DateFinished = DateTime.Now;
            model.Winner       = winners;

            GlobalConfig.Connection.CompleteTournament(model);

            decimal winnerPrize   = 0;
            decimal runnerUpPrize = 0;

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

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

                if (firstPlacePrize != null)
                {
                    winnerPrize = firstPlacePrize.CalculatePrizePayout(totalIncome);
                }
                if (secondPlacePrize != null)
                {
                    runnerUpPrize = secondPlacePrize.CalculatePrizePayout(totalIncome);
                }
            }

            // Send email to all tournament.

            //string to = "";
            string        subject = "";
            StringBuilder body    = new StringBuilder();


            subject = $"In {model.TournamentName} {winners.TeamName} has won!";
            body.AppendLine("<h1>We have a WINNER!</h1>");
            body.Append("<P>Congratulations to our winner ou a great Tournament. </P>");
            body.AppendLine("<br/>");

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

            body.AppendLine("<p>Thanks for a great tournament!!</p>");
            body.AppendLine("~Tournament Tracker");

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

            foreach (TeamModel t in model.EnteredTeams)
            {
                foreach (PersonModel p in t.TeamMembers)
                {
                    if (!string.IsNullOrWhiteSpace(p.EmailAddress))
                    {
                        bcc.Add(p.EmailAddress);
                    }
                }
            }


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

            //Complete Tournament
            //model.DateFinished = DateTime.Now;
            //model.Winner = winners;
            model.CompleteTournament();
        }
Пример #9
0
        public static void CompleteTournament(TournamentModel model)
        {
            GlobalConfig.Connection.CompleteTournament(model);

            // Last round only has 1 matchup and we find the winner for that matchup
            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 runnerUpPrize = 0;

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

                // First of Default means if you don't find it then make it default empty for the object
                // type , in this case NULL if this was an int variable it would be 0
                PrizeModel firstPlacePrize  = model.Prizes.Where(x => x.PlaceNumber == 1).FirstOrDefault();
                PrizeModel secondPlacePrize = model.Prizes.Where(x => x.PlaceNumber == 2).FirstOrDefault();

                if (firstPlacePrize != null)
                {
                    winnerPrize = firstPlacePrize.CalculatePrizePayout(totalIncome);
                }

                if (secondPlacePrize != null)
                {
                    runnerUpPrize = secondPlacePrize.CalculatePrizePayout(totalIncome);
                }
            }

            // Send Email to all tournament
            string        subject = "";
            StringBuilder body    = new StringBuilder();


            subject = $"In {model.TournamentName}, {winners.TeamName} has won!";

            body.AppendLine("<h1>We have a WINNER!</h1>");
            body.AppendLine("<p>Congratulations to our winner on a great tournament. </p>");
            body.AppendLine("<br />");

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

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

            body.AppendLine("<p> Thanks for a great tournament everyone!</p>");
            body.AppendLine("~Tournament Tracker");

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

            foreach (TeamModel t in model.EntreredTeams)
            {
                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 Tournament
            model.CompleteTournament();
        }
        private static void CompleteTournament(TournamentModel model)
        {
            GlobalConfig.Connection.CompleteTournament(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 runnerUpPrize = 0;

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

                PrizeModel firstPlacePrize  = model.Prizes.Where(x => x.PlaceNumber == 1).FirstOrDefault();
                PrizeModel secondPlacePrize = model.Prizes.Where(x => x.PlaceNumber == 2).FirstOrDefault();
                if (firstPlacePrize != null)
                {
                    winnerPrize = firstPlacePrize.CalculatePrizePayout(totalIncome);
                }

                if (secondPlacePrize != null)
                {
                    runnerUpPrize = secondPlacePrize.CalculatePrizePayout(totalIncome);
                }
            }
            //Complete the tournament
            //string to = "";
            string subject = "";

            StringBuilder body = new StringBuilder();


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

            body.AppendLine("<h1>We have a Winner</h1>");
            body.AppendLine("<h6>Congratulations to the winners of this team</h6>");
            body.AppendLine(Environment.NewLine);

            if (winnerPrize > 0)
            {
                body.AppendLine($"{winners.TeamName} won this match and will recieve ${winnerPrize}");
            }

            if (runnerUpPrize > 0)
            {
                body.AppendLine($"{runnerUp.TeamName} is the runner up of this match and will recieve ${runnerUpPrize}");
            }
            body.AppendLine();
            body.AppendLine();
            body.AppendLine("Have an enjoyable match");
            body.AppendLine("~ Tournament Tracker ~");

            subject = "You have a bye week this round.";

            body.AppendLine("Thank You, for using out system");
            body.AppendLine("~ Tournament Tracker ~");



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

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



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

            model.CompleteTournament();
        }
Пример #11
0
        private static void CompleteTournament(TournamentModel model)
        {
            GlobalConfig.Connection.CompleteTournament(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 runnerUpPrize = 0;

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

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

                if (firstPlacePrize != null)
                {
                    winnerPrize = firstPlacePrize.CalculatePrizePayout(totalIncome);
                }
                if (secondPlacePrize != null)
                {
                    runnerUpPrize = secondPlacePrize.CalculatePrizePayout(totalIncome);
                }
            }


            // TODO - Change it to message box

            string        subject = "";
            StringBuilder body    = new StringBuilder();

            MessageBox.Show($"In { model.TournamentName }, { winners.TeamName } has won !!!" +
                            $"Congratulation to winner on a great tournament.");

            if (winnerPrize > 0)
            {
                MessageBox.Show($"{ winners.TeamName } will receive Rs{ winnerPrize }");
            }
            if (runnerUpPrize > 0)
            {
                MessageBox.Show($"{ runnerUp.TeamName } will receive Rs{ runnerUpPrize }");
            }

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

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

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

            model.CompleteTournament();
        }
        private static void CompleteTournament(TournamentModel model)
        {
            GlobalConfig.Connection.CompleteTournament(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 runnerUpPrize = 0;

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

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


                if (firstPlacePrize != null)
                {
                    winnerPrize = firstPlacePrize.CalculatePrizePayout(totalIncome);
                    prizeWinner = winnerPrize.ToString();
                }

                if (secondPlacePrize != null)
                {
                    runnerUpPrize = secondPlacePrize.CalculatePrizePayout(totalIncome);
                    prizeRunnerUp = runnerUpPrize.ToString();
                }
            }

            winnerTeam     = winners.TeamName;
            runnerUpTeam   = runnerUp.TeamName;
            tournamentName = model.TournamentName;

            // Emailing feature currently disabled.



            // Send email to all tournament participants.
            //string subject = "";
            //StringBuilder body = new StringBuilder();

            //subject = $"{ winners.TeamName } has won the { model.TournamentName } tournament!";

            //body.AppendLine("<p>Congratulations to our winner on a great tournament.</p>");
            //body.AppendLine("<br />");

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

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

            //body.AppendLine("<p>Thanks for playing!</p>");
            //body.AppendLine("~Tournament Tracker");

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

            //foreach (TeamModel t in model.EnteredTeams)
            //{
            //    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 Tournament

            model.CompleteTournament();
        }
        private static void CompleteTournament(TournamentModel model)
        {
            GlobalConfig.Connection.CompleteTournament(model);
            TeamModel winners  = model.Rounds.Last().First().Winner; //Заменяет LOOP THROUGH!!!! Linking
            TeamModel runnerUp = model.Rounds.Last().First().Entries.Where(x => x.TeamCompeting != winners).First().TeamCompeting;

            decimal winnerPrize   = 0;
            decimal runnerUpPrize = 0;

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

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

                if (firstPlacePrize != null)
                {
                    winnerPrize = firstPlacePrize.CalculatePrizePayout(totalIncome);
                }

                if (secondPlacePrize != null)
                {
                    runnerUpPrize = secondPlacePrize.CalculatePrizePayout(totalIncome);
                }
            }

            //Send Email to all Tournament
            string subject = "";
            //string body = "";
            StringBuilder body = new StringBuilder(); //Соединение строк.

            subject = $"In { model.TournamentName }, { winners.TeamName } has won!";

            body.AppendLine("<h1>You have a WINNER!</h1>");
            body.AppendLine("<p>Congratulations to our winner!</p>");
            body.AppendLine("<br />");

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

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

            body.AppendLine("<p>Thanks for a great tournament everyone!</p>");
            body.AppendLine("~Tournament Tracker");

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

            foreach (TeamModel t in model.EnteredTeams)
            {
                foreach (PersonModel p in t.TeamMembers)
                {
                    if (p.EmailAddress.Length > 0) //Check if its valid address
                    {
                        bcc.Add(p.EmailAddress);
                    }
                }
            }

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

            model.CompleteTournament();//Now that event will be fired if tournament is complete!!!!!
        }