public async Task <AddScoreResponseModel> AddScore(AddScoreRequestModel requestModel) {//TODO see why refit not work for post // var httpClient = new HttpClient(Helper.Constants.Api_Key); //var api = RestService.For<IIslandingApi>("https://script.google.com/macros/s"); //var model = JsonConvert.SerializeObject(requestModel); //var result = await api.PostScore(requestModel); //var data = JsonConvert.DeserializeObject<AddScoreResponseModel>(result); var client = new HttpClient(); var data = new AddScoreRequestModel { Name = requestModel.Name, Score = requestModel.Score, Difficuilty = requestModel.Difficuilty }; var jsonString = JsonConvert.SerializeObject(data); var requestContent = new StringContent(jsonString); var response = client.PostAsync(Helper.Constants.Api_Key, requestContent).Result; System.Console.WriteLine(response.StatusCode); var result = response.Content.ReadAsStringAsync().Result; System.Console.WriteLine(result); var scoreItems = JsonConvert.DeserializeObject <AddScoreResponseModel>(result); System.Console.WriteLine(scoreItems.Message + scoreItems.Status); //} return(scoreItems); }
public async Task PostScore() { try { if (!IsBusy) { var addScoreService = new AddScoreService(); var requestModel = new AddScoreRequestModel { Name = UserTag, Score = AverageTime.ToString(), Difficuilty = Preferences.Get("difficulty", Difficulty.Easy.ToString()) }; var response = await addScoreService.AddScore(requestModel); if (response.Status != null) { if (response.Rank != 0) { ShowText = "You are now ranked "; ShowAverageTime = "NO." + response.Rank; } CheckNumberOfVisit(); } } } catch (Exception ex) { IsBusy = false; ShowText = "Play again to sharpen your brain"; ShowAverageTime = ""; Crashes.TrackError(ex); } finally { IsBusy = false; } }