public void Close(object param) { if (param is TradeServerViewModel tradeServer) { tradeServer.Dispose(); SelectedTradeServerViewModels.Remove(tradeServer); } }
private async void DeleteTradeServer(object param) { var tradeServer = param as TradeServer; if (tradeServer == null) { return; } var result = Dialog.ShowMessage(new MessageBoxSettings { Title = "Delete Trade Server", Text = $"Are you sure you want to delete {tradeServer.Name}?", MessageType = MessageType.Question, MessageBoxButtons = MessageBoxButtons.OkCancel }); if (result.Equals(MessageBoxResult.Cancel)) { return; } var tradeServerViewModel = SelectedTradeServerViewModels.FirstOrDefault(s => s.TradeServer.Name.Equals(tradeServer.Name)); if (tradeServerViewModel != null) { Close(tradeServerViewModel); } try { IsLoading = true; await tradeServerService.DeleteTradeServer(tradeServer); TradeServers.Remove(tradeServer); } catch (Exception ex) { ShowMessage(new Message { MessageType = MessageType.Error, Text = ex.Message }); } finally { IsLoading = false; } }
public void Close(object param) { var tradeServer = param as TradeServerViewModel; if (tradeServer != null) { tradeServer.Dispose(); IDisposable subscription; if (tradeServerObservableSubscriptions.TryGetValue(tradeServer.TradeServer.Name, out subscription)) { subscription.Dispose(); } tradeServerObservableSubscriptions.Remove(tradeServer.TradeServer.Name); SelectedTradeServerViewModels.Remove(tradeServer); } }