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; } }
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(); } }
private async void OnHttpStateUpdate(object sender, AniDBStateUpdate e) { await Hub.Clients.All.SendAsync("AniDBHttpStateUpdate", e); }