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;
            }
        }
Exemple #2
0
 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
     });
 }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        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;
            }
        }