Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }