Пример #1
0
        private async void OnStateUpdate(object sender, AniDBStateUpdate e)
        {
            switch (e.UpdateType)
            {
            case UpdateType.UDPBan:
                await Hub.Clients.All.SendAsync("AniDBUDPStateUpdate", e);

                break;

            case UpdateType.HTTPBan:
                await Hub.Clients.All.SendAsync("AniDBHttpStateUpdate", e);

                break;
            }
        }
Пример #2
0
        private void OnAniDBStateUpdate(object sender, AniDBStateUpdate e)
        {
            Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(ServerSettings.Instance.Culture);
            switch (e.UpdateType)
            {
            case AniDBUpdateType.None:
                // We might use this somehow, but currently not fired
                break;

            case AniDBUpdateType.UDPBan:
                if (e.Value)
                {
                    IsUDPBanned = true;
                    UDPBanTime  = e.UpdateTime;
                    BanOrigin   = @"UDP";
                    BanReason   = e.UpdateTime.ToString(CultureInfo.CurrentCulture);
                }
                else
                {
                    IsUDPBanned = false;
                    if (!IsHTTPBanned)
                    {
                        BanOrigin = string.Empty;
                        BanReason = string.Empty;
                    }
                    else
                    {
                        BanOrigin = @"HTTP";
                        BanReason = HTTPBanTime.ToString(CultureInfo.CurrentCulture);
                    }
                }
                break;

            case AniDBUpdateType.HTTPBan:
                if (e.Value)
                {
                    IsHTTPBanned = true;
                    HTTPBanTime  = e.UpdateTime;
                    BanOrigin    = @"HTTP";
                    BanReason    = e.UpdateTime.ToString(CultureInfo.CurrentCulture);
                }
                else
                {
                    IsHTTPBanned = false;
                    if (!IsUDPBanned)
                    {
                        BanOrigin = string.Empty;
                        BanReason = string.Empty;
                    }
                    else
                    {
                        BanOrigin = @"UDP";
                        BanReason = UDPBanTime.ToString(CultureInfo.CurrentCulture);
                    }
                }
                break;

            case AniDBUpdateType.Invalid_Session:
                IsInvalidSession = isInvalidSession;
                break;

            case AniDBUpdateType.WaitingOnResponse:
                WaitingOnResponseAniDBUDP = e.Value;

                if (e.Value)
                {
                    // TODO Start the Update Timer to add seconds to the waiting on AniDB message
                    WaitingOnResponseAniDBUDPString = Resources.AniDB_ResponseWait;
                }
                else
                {
                    // TODO Stop the timer
                    WaitingOnResponseAniDBUDPString = Resources.Command_Idle;
                }
                break;

            case AniDBUpdateType.Overload_Backoff:
                if (e.Value)
                {
                    ExtendedPauseString = string.Format(Resources.AniDB_Paused, e.PauseTimeSecs, e.Message);
                    HasExtendedPause    = true;
                }
                else
                {
                    ExtendedPauseString = string.Empty;
                    HasExtendedPause    = false;
                }

                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Пример #3
0
 private async void OnHttpStateUpdate(object sender, AniDBStateUpdate e)
 {
     await Hub.Clients.All.SendAsync("AniDBHttpStateUpdate", e);
 }