private static bool UpdateMailees() { Stopwatch sw = new Stopwatch(); sw.Start(); int i = 0; using (var r3musDB = new r3musDbContext()) { r3musDB.RecruitmentMailees.Where(mailee => mailee.CorpId_AtLastCheck == 0).Take(30).ToList().ForEach(mailee => { try { i++; Console.WriteLine("# {0}: Mailee {1}", i.ToString(), mailee.Name); mailee.GetToonDetails(); mailee.LastUpdated = DateTime.Now; } catch (Exception ex) { Console.WriteLine(string.Format("Mailee: {0}, Error {1}", mailee.Name, ex.Message)); } }); r3musDB.SaveChanges(); sw.Stop(); Console.WriteLine("{0} mailees processed in {1}", i.ToString(), sw.Elapsed.ToString()); GC.Collect(); GC.WaitForPendingFinalizers(); return(r3musDB.RecruitmentMailees.Where(mailee => mailee.CorpId_AtLastCheck == 0).Count() > 0); } }
public static void GetWebsiteUserDetails(bool FullUpdate) { try { var r3musDB = new r3musDbContext(); var users = r3musDB.Users; if (FullUpdate) { Console.WriteLine("Updating all {0} users", users.Count()); var counter = 0; foreach (var user in users) { try { var cUsrTitles = user.Titles; counter++; Console.WriteLine(string.Format("Updating #{0} user {1}", counter.ToString(), user.UserName)); user.GetDetails(true); r3musDB.Titles.Where(dbTitle => dbTitle.UserId == user.Id).ToList().Where(dbTitle => cUsrTitles.Any(cUsrTitle => dbTitle.TitleName == cUsrTitle.TitleName)).ToList().ForEach(dbTitle => r3musDB.Entry(dbTitle).State = EntityState.Unchanged); r3musDB.Titles.Where(dbTitle => dbTitle.UserId == user.Id).ToList().Where(dbTitle => !cUsrTitles.Any(cUsrTitle => dbTitle.TitleName == cUsrTitle.TitleName)).ToList().ForEach(dbTitle => r3musDB.Entry(dbTitle).State = EntityState.Deleted); } catch (Exception ex) { Console.WriteLine(string.Format("User: {0}, Error {1}", user.UserName, ex.Message)); } } //users.Where(user => !user.IsValid()).ToList().ForEach(dbTitle => r3musDB.Entry(dbTitle).State = EntityState.Deleted); r3musDB.Users = users; } else { var userList = users.Where(user => user.Avatar == null); Console.WriteLine("Updating {0} users", userList.Count()); foreach (var user in userList) { try { Console.WriteLine(string.Format("Updating user {0}", user.UserName)); user.GetDetails(true); } catch (Exception ex) { Console.WriteLine(string.Format("User: {0}, Error {1}", user.UserName, ex.Message)); } } } r3musDB.SaveChanges(); } catch (Exception ex) { } }
public static void ResetMailees(bool reset) { if (reset) { var r3musDB = new r3musDbContext(); r3musDB.RecruitmentMailees.Where(mailee => (mailee.MailerId == null) && (!mailee.Name.Contains("Citizen")) && (!mailee.Name.Contains("Trader")) && (!mailee.Name.Contains("Miner")) && (DbFunctions.DiffHours(mailee.Submitted, DateTime.Now) >= 24) && (DbFunctions.DiffHours(mailee.LastUpdated, DateTime.Now) >= 24)) .Take(500).ToList().ForEach(mailee => mailee.CorpId_AtLastCheck = 0); var count = r3musDB.SaveChanges(); Console.WriteLine(string.Format("Reset {0} mailees corpId's to 0", count.ToString())); } }