private static async Task GetConnectionsAsync(MainFormViewModel viewModel) { var response = await viewModel.HttpClient.GetAsync("connection"); response.EnsureSuccessStatusCode(); var connections = await response.Content.ReadAsAsync<IEnumerable<RaptoRCon.Shared.Models.Connection>>(); viewModel.connections.Clear(); foreach (var connection in connections) { viewModel.Context.Post(state => ((MainFormViewModel)state).Connections.Add(new ConnectionViewModel(connection)), viewModel); } }
private static async Task AddConnectionAsync(MainFormViewModel viewModel) { var createConnection = new CreateConnectionCommand() { GameId = viewModel.CurrentGameId.Value, HostName = viewModel.HostName, Port = viewModel.Port }; var response = await viewModel.HttpClient.PostAsJsonAsync<CreateConnectionCommand>("connection", createConnection); response.EnsureSuccessStatusCode(); var connectionCreated = await response.Content.ReadAsAsync<ConnectionCreated>(); viewModel.Context.Post(state => ((MainFormViewModel)state).AddConnection(new ConnectionViewModel(connectionCreated.Connection)), viewModel); viewModel.CurrentGameId = null; viewModel.HostName = null; viewModel.Port = 0; }
private static async Task RemoveConnectionAsync(MainFormViewModel viewModel) { if (viewModel.CurrentConnection == null) return; var response = await viewModel.HttpClient.DeleteAsync(string.Format("connection/{0}", viewModel.CurrentConnection.Id)); response.EnsureSuccessStatusCode(); viewModel.RemoveConnection(viewModel.CurrentConnection); }
private static async Task GetGamesAsync(MainFormViewModel viewModel) { var games = await viewModel.gamesClient.GetAsync(); viewModel.Context.Post(state => ((MainFormViewModel)state).Games = new ObservableCollection<Game>(games), viewModel); }