protected async override void OnPublished(object data) { IsBusy = true; base.OnPublished(data); try { IsLoading = true; var tradeServers = await tradeServerService.GetTradeServers().ConfigureAwait(true); TradeServers.Clear(); tradeServers.ForEach(TradeServers.Add); } catch (Exception ex) { ShowMessage(new Message { MessageType = MessageType.Error, Text = ex.Message }); } finally { IsLoading = false; IsBusy = false; } }
public static TradeServer ToTradeServer(this TradeServers data) { return(new TradeServer { Id = data.Id, Description = data.Description, Host = data.Host, Title = data.Title, Type = data.Type }); }
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; } }
private async void AddTradeServer(object param) { if (param == null || string.IsNullOrEmpty(param.ToString())) { return; } var tradeServerName = param.ToString(); if (TradeServers.Any(s => s.Name.Equals(tradeServerName, StringComparison.Ordinal))) { ShowMessage(new Message { MessageType = MessageType.Info, Text = $"A trade server with the name {tradeServerName} already exists." }); return; } try { IsLoading = true; var tradeServer = new TradeServer { Name = tradeServerName }; await tradeServerService.SaveTradeServer(tradeServer).ConfigureAwait(true); TradeServers.Add(tradeServer); } catch (Exception ex) { ShowMessage(new Message { MessageType = MessageType.Error, Text = ex.Message }); } finally { IsLoading = false; } }