public static bool SetSkaterOfTheWeek() { try { var dc = new ManagementContext(); int type = Convert.ToInt32(TaskTypeEnum.SkaterOfDay); var emailTask = dc.AutomatedTasks.Where(x => x.TaskIdForDescription == type).FirstOrDefault(); if (emailTask == null) { TaskForRunning newTask = new TaskForRunning(); newTask.FirstRun = DateTime.UtcNow; newTask.HoursBetweenEachRunOfTask = FORTY_EIGHT_HOURS; newTask.LastRun = DateTime.UtcNow; newTask.TaskIdForDescription = type; dc.AutomatedTasks.Add(newTask); dc.SaveChanges(); } else { emailTask.HoursBetweenEachRunOfTask = FORTY_EIGHT_HOURS; if (emailTask.LastRun.AddHours(FORTY_EIGHT_HOURS) < DateTime.UtcNow) { emailTask.LastRun = DateTime.UtcNow; var mem = (from xx in dc.Members where xx.AspNetUserId != null where xx.AspNetUserId != new Guid() where xx.Retired == false where xx.IsNotConnectedToDerby == false where xx.IsProfileRemovedFromPublic == false where !String.IsNullOrEmpty(xx.Bio) where xx.Photos.Count > 0 where !String.IsNullOrEmpty(xx.PlayerNumber) where !String.IsNullOrEmpty(xx.DerbyName) orderby Guid.NewGuid() select new { xx.MemberId, xx.AspNetUserId, xx.DerbyName }).FirstOrDefault(); FrontPageHistory hist = new FrontPageHistory(); hist.MemberId = mem.MemberId; dc.FrontPageHistory.Add(hist); int c = dc.SaveChanges(); var user = Membership.GetUser(mem.AspNetUserId); var emailDataMember = new Dictionary<string, string> { { "derbyname", mem.DerbyName}, { "text", "You have been named Rollin News Member of the Week. Congrats!"}, { "link",RollinNewsConfig.WEBSITE_DEFAULT_LOCATION} }; EmailServer.EmailServer.SendEmail(RollinNewsConfig.DEFAULT_ADMIN_EMAIL, RollinNewsConfig.DEFAULT_EMAIL_FROM_NAME, user.UserName, EmailServer.EmailServer.DEFAULT_SUBJECT_ROLLIN_NEWS + " You are Member of the Week!", emailDataMember, EmailServerLayoutsEnum.RNMemberLeagueOfTheWeek, EmailPriority.Normal); return c > 0; } } } catch (Exception exception) { Error.ErrorDatabaseManager.AddException(exception, exception.GetType()); } return false; }
public static bool SetLeagueOfTheWeek() { try { var dc = new ManagementContext(); int type = Convert.ToInt32(TaskTypeEnum.SkaterAndLeagueOfDay); var emailTask = dc.AutomatedTasks.Where(x => x.TaskIdForDescription == type).FirstOrDefault(); if (emailTask == null) { TaskForRunning newTask = new TaskForRunning(); newTask.FirstRun = DateTime.UtcNow; newTask.HoursBetweenEachRunOfTask = HOURS_BETWEEN_NEW_SKATER_LEAGUE_PROFILE; newTask.LastRun = DateTime.UtcNow; newTask.TaskIdForDescription = type; dc.AutomatedTasks.Add(newTask); dc.SaveChanges(); } else { emailTask.HoursBetweenEachRunOfTask = HOURS_BETWEEN_NEW_SKATER_LEAGUE_PROFILE; if (emailTask.LastRun.AddHours(HOURS_BETWEEN_NEW_SKATER_LEAGUE_PROFILE) < DateTime.UtcNow) { emailTask.LastRun = DateTime.UtcNow; var league = (from xx in dc.Leagues where xx.Logo != null where xx.IsLeaguePublic == false where xx.Members.Count > 5 where !String.IsNullOrEmpty(xx.WebSite) orderby Guid.NewGuid() select new { xx.LeagueId, xx.Name }).FirstOrDefault(); FrontPageHistory hist = new FrontPageHistory(); hist.LeagueId = league.LeagueId; dc.FrontPageHistory.Add(hist); int c = dc.SaveChanges(); var leagueEmail = League.LeagueFactory.GetLeagueOwners(league.LeagueId); var emailDataLeague = new Dictionary<string, string> { { "derbyname", league.Name}, { "text", "Your League has been named Rollin News League of the Week. Congrats!"}, { "link",RollinNewsConfig.WEBSITE_DEFAULT_LOCATION} }; for (int i = 0; i < leagueEmail.Count; i++) EmailServer.EmailServer.SendEmail(RollinNewsConfig.DEFAULT_ADMIN_EMAIL, RollinNewsConfig.DEFAULT_EMAIL_FROM_NAME, leagueEmail[i].Email, EmailServer.EmailServer.DEFAULT_SUBJECT_ROLLIN_NEWS + " League of the Week!", emailDataLeague, EmailServerLayoutsEnum.RNMemberLeagueOfTheWeek, EmailPriority.Normal); return c > 0; } } } catch (Exception exception) { Error.ErrorDatabaseManager.AddException(exception, exception.GetType()); } return false; }