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); }
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); }