public static void GetMatchupsToSendUpdateScoreReminder(Guid tournamentId) { string templatePath = Path.Combine(ConfigurationManager.AppSettings["EmailTemplatePath"].ToString(), "UpdateScoreReminder.htm"); string matchUpReadyTemplate = File.ReadAllText(templatePath); using (TournamentsDataContext tdc = new TournamentsDataContext()) { var playersToNotify = from tm in tdc.TournamentMatchups join pA in tdc.Players on tm.PlayerA equals pA.Id join pB in tdc.Players on tm.PlayerB equals pB.Id join tr in tdc.Tournaments on tm.TournamentId equals tr.Id where tm.Winner == null && DateTime.Now.AddHours(-2) > tm.Start && (tm.TournamentId == tournamentId) select new { MatchupId = tm.Id, PlayerAId = pA.Id, PlayerA = pA.Name, PlayerAEmail = pA.Email, PlayerBId = pB.Id, PlayerB = pB.Name, PlayerBEmail = pB.Email, tm.Start, tr.TournamentName, tr.OrganisationId }; foreach (var item in playersToNotify) { ListDictionary replacements = new ListDictionary(); replacements.Add("<% PlayerName %>", item.PlayerA); replacements.Add("<% Opponent %>", item.PlayerB); replacements.Add("<% GameTime %>", item.Start); replacements.Add("<% OrgId %>", item.OrganisationId); replacements.Add("<% PlayerId %>", item.PlayerAId); replacements.Add("<% MatchupId %>", item.MatchupId); SendEmail(replacements, matchUpReadyTemplate, item.PlayerAEmail, "Score Update - " + item.TournamentName); replacements["<% PlayerName %>"] = item.PlayerB; replacements["<% Opponent %>"] = item.PlayerA; replacements["<% PlayerId %>"] = item.PlayerBId; SendEmail(replacements, matchUpReadyTemplate, item.PlayerAEmail, "Score Update - " + item.TournamentName); } } }
public static List<MatchupsToNotifyGetResult> GetMatchupsToNotify(Guid tournamentId) { using (TournamentsDataContext tdc = new TournamentsDataContext()) { List<MatchupsToNotifyGetResult> x = tdc.MatchupsToNotifyGet(tournamentId, false, null).ToList(); return x; } }
public static List<MatchupsToNotifyGetResult> GetMatchupsToNotify(int tournamentMatchupId) { using (TournamentsDataContext tdc = new TournamentsDataContext(ConfigurationManager.ConnectionStrings["StrongerOrgString"].ToString())) { List<MatchupsToNotifyGetResult> x = tdc.MatchupsToNotifyGet(null, false, tournamentMatchupId).ToList(); return x; } }
public static List<MatchupsToNotifyGetResult> GetMatchupsToNotify() { using (TournamentsDataContext tdc = new TournamentsDataContext()) { List<MatchupsToNotifyGetResult> x = tdc.MatchupsToNotifyGet(null, true, null).ToList(); return x; } }
internal static List<Competitor> GetPlayers(Guid tournamentId) { TournamentsDataContext tournamentDC = new TournamentsDataContext(ConfigurationManager.ConnectionStrings["StrongerOrgString"].ConnectionString); var players = from p2t in tournamentDC.Players2Tournaments join p in tournamentDC.Players on p2t.PlayerId equals p.Id where p2t.TournamentId == tournamentId select new Competitor() { Id = p2t.PlayerId, Name = p.Name, Email=p.Email }; return players.ToList(); }
public IEnumerable<DateTime> GetInvalidDates(Guid orgId) { if (this._holidayCache.ContainsKey(orgId)) return this._holidayCache[orgId]; //cache and return IEnumerable<DateTime> holidays; using (TournamentsDataContext db = new TournamentsDataContext(ConfigurationManager.ConnectionStrings["StrongerOrgString"].ConnectionString)) { holidays = db.OrganisationHolidays.Where(x => x.OrganisationId == orgId) .Select(y => y.Date).ToList(); } this._holidayCache.Add(orgId, holidays); return holidays; }
private static void SaveMatchUps(Guid tournamentId, List<Matchup> matchupList) { using (TournamentsDataContext db = new TournamentsDataContext(ConfigurationManager.ConnectionStrings["StrongerOrgString"].ConnectionString)) { IEnumerable<StrongerOrg.BL.DL.TournamentMatchup> e = matchupList.Select(ml => new StrongerOrg.BL.DL.TournamentMatchup() { MatchUpId = ml.MatchupId, Start = ml.Start, PlayerA = ml.PlayerAId, PlayerB = ml.PlayerBId, TournamentId = tournamentId, End = ml.End, Round = ml.Round, NextMatchId = ml.NextMatchId }); db.TournamentMatchups.InsertAllOnSubmit(e); db.SubmitChanges(); } }
private static Tournament GetTournamentInfo(Guid tournamentId) { using (TournamentsDataContext tdc = new TournamentsDataContext(ConfigurationManager.ConnectionStrings["StrongerOrgString"].ConnectionString)) { return tdc.Tournaments.Single(t => t.Id == tournamentId); } }
public static void NotifiModerator(Guid tournamentId, Guid organisationId, string tournamentName, DateTime startDate) { using (TournamentsDataContext tdc = new TournamentsDataContext(ConfigurationManager.ConnectionStrings["StrongerOrgString"].ConnectionString)) { var moderators = tdc.OrganisationUsersGet(organisationId).Where(ou => ou.RoleName == "Moderator").Select(ou => new { ou.Email, ou.Name }); string templatePath = Path.Combine(ConfigurationManager.AppSettings["EmailTemplatePath"].ToString(), "MatchupsAreReady.htm"); string matchUpReadyTemplate = File.ReadAllText(templatePath); foreach (var moderator in moderators) { ListDictionary replacements = new ListDictionary(); replacements.Add("<% ModeratorName %>", moderator.Name); replacements.Add("<% TournamentName %>", tournamentName); replacements.Add("<% StartDate %>", string.Format("{0:ddd, MMM d, yyyy}", startDate)); replacements.Add("<% TournamentId %>", tournamentId.ToString()); SendEmail(replacements, matchUpReadyTemplate.Clone().ToString(), moderator.Email, "Matchups are ready for your review"); } } }
public static List<TournamentOrganisation> GetTournamentForMatchups() { using (TournamentsDataContext tdc = new TournamentsDataContext()) { return tdc.Tournaments.Where(t => t.LastRegistrationDate.Date == DateTime.Now.Date && t.TournamentMatchups.Count(tm => tm.TournamentId == t.Id) == 0). Select(t => new TournamentOrganisation() { TournamentId = t.Id, OrganisationId = t.OrganisationId }).ToList(); } }