Esempio n. 1
0
        private async void StopStrategy(object param)
        {
            await SetCommandVisibility(false, true, false);

            var strategyParameters = new InterfaceStrategy.StrategyParameters {
                StrategyName = Strategy.Name
            };
            var strategyParametersJson = JsonConvert.SerializeObject(strategyParameters);

            await StopAsync(strategyParametersJson);

            await SetCommandVisibility(true, false, false);
        }
Esempio n. 2
0
        private async Task <bool> IsStrategyRunningAsync()
        {
            try
            {
                if (!IsValidSelectServer())
                {
                    return(false);
                }

                var strategyParameters = new InterfaceStrategy.StrategyParameters {
                    StrategyName = Strategy.Name
                };
                var strategyParametersJson = JsonConvert.SerializeObject(strategyParameters);

                var strategyRunnerClient = new InterfaceStrategy.StrategyRunnerClient();

                var response = await strategyRunnerClient.PostAsync($"{SelectedServer.Url}/isstrategyrunning", strategyParametersJson);

                var content = await response.Content.ReadAsStringAsync();

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    return(content.Equals("YES"));
                }
                else
                {
                    ViewModelContext.UiDispatcher.Invoke(() =>
                    {
                        NotificationsAdd(
                            new Message
                        {
                            MessageType = response.StatusCode == System.Net.HttpStatusCode.OK ? MessageType.Info : MessageType.Error,
                            Text        = response.StatusCode.ToString(),
                            TextVerbose = JsonConvert.SerializeObject(content, Formatting.Indented)
                        });
                    });
                }
            }
            catch (Exception ex)
            {
                Logger.Log($"IsStrategyRunningAsync {ex.ToString()}", Prism.Logging.Category.Exception, Prism.Logging.Priority.High);

                NotificationsAdd(new Message {
                    MessageType = MessageType.Error, Text = $"Unable to connect to the remote server.", TextVerbose = ex.ToString()
                });
            }

            return(false);
        }