Exemplo n.º 1
0
        public void Close(object param)
        {
            if (param is StrategyViewModel strategy)
            {
                strategy.Dispose();

                if (strategyObservableSubscriptions.TryGetValue(strategy.Strategy.Name, out IDisposable subscription))
                {
                    subscription.Dispose();
                }

                strategyObservableSubscriptions.Remove(strategy.Strategy.Name);

                SelectedStrategyViewModels.Remove(strategy);
            }
        }
Exemplo n.º 2
0
        private async void DeleteStrategy(object param)
        {
            if (param is Strategy strategy)
            {
                var result = Dialog.ShowMessage(new MessageBoxSettings
                {
                    Title             = "Delete Strategy",
                    Text              = $"Are you sure you want to delete {strategy.Name}?",
                    MessageType       = MessageType.Question,
                    MessageBoxButtons = MessageBoxButtons.OkCancel
                });

                if (result.Equals(MessageBoxResult.Cancel))
                {
                    return;
                }

                var strategyViewModel = SelectedStrategyViewModels.FirstOrDefault(s => s.Strategy.Name.Equals(strategy.Name, StringComparison.Ordinal));
                if (strategyViewModel != null)
                {
                    Close(strategyViewModel);
                }

                try
                {
                    IsLoading = true;

                    await strategyService.DeleteStrategy(strategy).ConfigureAwait(true);

                    Strategies.Remove(strategy);
                    ConfigurationModule.RemoveStrategy(strategy.Name);
                }
                catch (Exception ex)
                {
                    ShowMessage(new Message {
                        MessageType = MessageType.Error, Text = ex.Message
                    });
                }
                finally
                {
                    IsLoading = false;
                }
            }
        }
        public void Close(object param)
        {
            var strategy = param as StrategyViewModel;

            if (strategy != null)
            {
                strategy.Dispose();

                IDisposable subscription;
                if (strategyObservableSubscriptions.TryGetValue(strategy.Strategy.Name, out subscription))
                {
                    subscription.Dispose();
                }

                strategyObservableSubscriptions.Remove(strategy.Strategy.Name);

                SelectedStrategyViewModels.Remove(strategy);
            }
        }