public async Task <Response> RegisterVoteAsync( string urlBase, string servicePrefix, string controller, NewVote newVoteRequest, string tokenType, string accessToken) { try { var request = JsonConvert.SerializeObject(newVoteRequest); var content = new StringContent(request, Encoding.UTF8, "application/json"); var client = new HttpClient { BaseAddress = new Uri(urlBase) }; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenType, accessToken); var url = $"{servicePrefix}{controller}"; var response = await client.PostAsync(url, content);//error var answer = await response.Content.ReadAsStringAsync(); var obj = JsonConvert.DeserializeObject <Response>(answer); return(obj); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = ex.Message, }); } }
private async void VoteToCandidate(Candidate candidate) { var request = new NewVote { Email = Settings.UserEmail, Candidate = candidate.Id, Event = Event.Id }; var token = JsonConvert.DeserializeObject <TokenResponse>(Settings.Token); var response = await this.apiService.RegisterVoteAsync( "https://uvoting.azurewebsites.net", "/api", "/Votes", request, "bearer", token.Token); if (!response.IsSuccess) { this.dialogService.Alert( "Information", response.Message, "Accept"); return; } this.dialogService.Alert( "Ok", "Your vote for " + candidate.Name + " was saved", "Accept"); }