//Invite code opvragen private async Task askInviteCode() { string inviteCode = await DisplayPromptAsync("Deelnemen aan Ronde", "Voer de code van de ronde in waar je aan wilt deelnemen"); if (inviteCode.Length == 8) { Guid gebruikersId = GebruikersInfo.GebruikerId; //Deelnemer toevoegen in database Deelnemer deelnemer = new Deelnemer(); deelnemer.InviteCode = inviteCode; deelnemer.GebruikerId = gebruikersId; Debug.Write(deelnemer.GebruikerId); DeelnemerResponse deelnemerResponse = await RondeRepository.AddDeelnemer(deelnemer); if (deelnemerResponse == null) { await DisplayAlert("Foutmelding", "Geen verbinding met de servers.", "OK"); } else { if (deelnemerResponse.RondeId != null && deelnemerResponse.RondeId != Guid.Empty) { await DisplayAlert("Succes", "Je doet nu mee aan de ronde", "OK"); //doorsturen naar ronde pagina Navigation.PushAsync(new RondeOverzichtPage(GebruikersInfo)); } else { await DisplayAlert("Foutmelding", deelnemerResponse.Message, "OK"); } } } else { //Code kan maar 8 tekens lang zijn await DisplayAlert("Foutmelding", "Foute invite code", "OK"); } }
public static async Task <DeelnemerResponse> AddDeelnemer(Deelnemer deelnemer) { string url = $"{_BASEURI}/deelnemer?code={_FUNCTIONKEY}"; using (HttpClient client = GetHttpClient()) { try { //Creeren van een json string json = JsonConvert.SerializeObject(deelnemer); //aanduiden dat het geen dat we willen doorsturen van het type application json moet zijn StringContent content = new StringContent(json, Encoding.UTF8, "application/json"); //request doen naar api var response = await client.PostAsync(url, content); //controleren of de put gelukt is if (!response.IsSuccessStatusCode) { Console.WriteLine($"Unsuccesful POST to url: {url}, object; {json}"); return(null); } else { //Extra check of de status code success is response.EnsureSuccessStatusCode(); //Bode van de response inlezen var responseBody = await response.Content.ReadAsStringAsync().ConfigureAwait(false); //Nieuw object deelnemer aanmaken met de data van de response DeelnemerResponse deelnemerResponse = JsonConvert.DeserializeObject <DeelnemerResponse>(Convert.ToString(responseBody)); //return object ronde met invite code etc return(deelnemerResponse); } } catch (Exception ex) { throw ex; } } }