public static string CreateAddonUpdate(Contributor _Contributor, Single _CurrentAddonVersion) { if (_CurrentAddonVersion >= GetLatestAddonVersion()) { return(""); } DateTime lastAddonUpdateAttempt = DateTime.Now.AddHours(-10); if (m_LastAddonUpdateAttemptForContributor.ContainsKey(_Contributor.GetContributorID()) == true) { lastAddonUpdateAttempt = m_LastAddonUpdateAttemptForContributor[_Contributor.GetContributorID()]; } string addonUpdateResponse = ""; if ((DateTime.Now - lastAddonUpdateAttempt).TotalHours > 1) { if (GetLatestAddonVersion() >= 1.3f) { addonUpdateResponse += AddAddonFile("VF_RealmPlayers.lua"); addonUpdateResponse += AddAddonFile("VF_RealmPlayers.toc"); } m_LastAddonUpdateAttemptForContributor[_Contributor.GetContributorID()] = DateTime.Now; } Logger.ConsoleWriteLine(_Contributor.Name + " is updating from AddonVersion " + _CurrentAddonVersion + " to " + GetLatestAddonVersion(), ConsoleColor.Cyan); return(addonUpdateResponse); }
public int RollbackPlayer(Player _Player, Contributor _Contributor, DateTime _DateTime) { var contributorID = _Contributor.GetContributorID(); int removedHistoryData = 0; try { removedHistoryData += CharacterHistory.RemoveAll((CharacterDataHistoryItem _Item) => { return((_Item.Uploader.GetContributorID() == contributorID) && (_Item.Uploader.GetTime() > _DateTime)); }); removedHistoryData += GuildHistory.RemoveAll((GuildDataHistoryItem _Item) => { return((_Item.Uploader.GetContributorID() == contributorID) && (_Item.Uploader.GetTime() > _DateTime)); }); removedHistoryData += HonorHistory.RemoveAll((HonorDataHistoryItem _Item) => { return((_Item.Uploader.GetContributorID() == contributorID) && (_Item.Uploader.GetTime() > _DateTime)); }); removedHistoryData += GearHistory.RemoveAll((GearDataHistoryItem _Item) => { return((_Item.Uploader.GetContributorID() == contributorID) && (_Item.Uploader.GetTime() > _DateTime)); }); if (ArenaHistory != null) { removedHistoryData += ArenaHistory.RemoveAll((ArenaDataHistoryItem _Item) => { return((_Item.Uploader.GetContributorID() == contributorID) && (_Item.Uploader.GetTime() > _DateTime)); }); } if (TalentsHistory != null) { removedHistoryData += TalentsHistory.RemoveAll((TalentsDataHistoryItem _Item) => { return((_Item.Uploader.GetContributorID() == contributorID) && (_Item.Uploader.GetTime() > _DateTime)); }); } if (removedHistoryData > 0) { _RollbackPlayer(_Player, (_UploadID) => { if (_UploadID.GetContributorID() == contributorID && (_UploadID.GetTime() > _DateTime)) { return(true); } return(false); }); } } catch (Exception ex) { Logger.LogException(ex); return(-removedHistoryData); } return(removedHistoryData); }