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;
        }