public void Handle(POESESSIDChangedEvent message) { List <ExileTradeWebSocketSetting> tempSettings = null; TradeItems.Clear(); WebSockets.Clear(); if (_exileWebSocketManager != null) { _exileWebSocketManager.OnLogMessageEvent -= OnLogMessage; _exileWebSocketManager.OnNewIdRecievedEvent -= OnNewIdRecieved; _exileWebSocketManager.OnWebSocketConnectedEvent -= OnWebSocketConnected; _exileWebSocketManager.OnWebSocketDisconnectedEvent -= OnWebSocketDisconnected; tempSettings = _exileWebSocketManager.Settings(); _exileWebSocketManager.Dispose(); _exileWebSocketManager = null; } if (!string.IsNullOrWhiteSpace(message.NewValue)) { IsEnabled = true; _exileWebSocketManager = new ExileTradeWebSocketManager(19, message.NewValue, Settings.Default.UserAgent); _exileWebSocketManager.OnLogMessageEvent += OnLogMessage; _exileWebSocketManager.OnNewIdRecievedEvent += OnNewIdRecieved; _exileWebSocketManager.OnWebSocketConnectedEvent += OnWebSocketConnected; _exileWebSocketManager.OnWebSocketDisconnectedEvent += OnWebSocketDisconnected; if (tempSettings != null) { AddRange(tempSettings); } else if (File.Exists(SAVE_FILE)) { try { var des = JsonConvert.DeserializeObject <List <ExileTradeWebSocketSetting> >(File.ReadAllText(SAVE_FILE)); AddRange(des); } catch (JsonSerializationException) { // Ignore } } } else { IsEnabled = false; } }
public void ClearTradeItems() { TradeItems.Clear(); }