//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");
            }
        }
Example #2
0
        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;
                }
            }
        }