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(); }
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(); }
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(); }
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!!!!! }