private async Task <Guid> CreateNewMazeAsync() { var request = new CreateMazeRequest { MazeWidth = _mazeSettings.Width, MazeHeight = _mazeSettings.Height, Difficulty = _mazeSettings.Difficulty, MazePlayerName = _mazeSettings.PonyName }; var createMazeResponse = await ApiClient.CreateMazeAsync(request); ThrowIfNotSuccess(createMazeResponse); return(createMazeResponse.Value.MazeId); }
public async Task <Guid> CreateMaze(int width, int height, string playerName, int difficulty) { var request = new CreateMazeRequest() { Difficulty = difficulty, Width = width, Height = height, PlayerName = playerName }; using (var client = GetClient()) { var content = new StringContent(JObject.FromObject(request).ToString(), Encoding.UTF8, "application/json"); var response = await client.PostAsync("pony-challenge/maze", content); var responseDataString = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { try { var jObj = JObject.Parse(responseDataString); var serializedObj = jObj.ToObject <CreateMazeResponse>(); return(serializedObj.MazeId); } catch { throw new Exception("CreateMaze: Received invalid json data"); } } else { throw new PonyClientException(responseDataString); } } }
public async Task <ApiResponse <CreateMazeModel> > CreateMazeAsync(CreateMazeRequest createMazeRequest) { return(await PostAsync <CreateMazeModel, CreateMazeRequest>(CreateMazeEndpoint, createMazeRequest)); }