コード例 #1
0
        private async Task controleInput(DateTime date)
        {
            checkConnectivity();
            // controleren of opgegeven data niet in het verleden ligt
            if (date < DateTime.Now)
            {
                //alert
                await DisplayAlert("Foutmelding", "De etappe kan niet in het verleden plaats vinden", "OK");
            }
            // controleren of er 1 of meerdere laps zijn
            if (laps < 1)
            {
                //alert
                await DisplayAlert("Foutmelding", "Er moet minstens 1 lap gereden worden", "OK");
            }
            //controleren als alles goed is
            if (date > DateTime.Now && laps > 0)
            {
                //dataverwerken in database
                Etappe etappe = new Etappe();
                etappe.Laps       = laps;
                etappe.RondeId    = RondeInfo.RondeId;
                etappe.LapAfstand = (float)(laps * 333.33);
                etappe.StartTijd  = date;

                Etappe etappeResponse = await EtappeRepository.CreateEtappe(etappe);

                if (etappeResponse == null)
                {
                    //Foutmelding
                    await DisplayAlert("Foutmelding", "Er is iets foutgelopen bij het aanmaken van de etappe", "OK");
                }
                else
                {
                    //melding dat de ronde succesvol is aangemaakt
                    await DisplayAlert("Succes", "Etappe is succesvol aangemaakt", "OK");

                    //Etappe aangemaakt doorgaan naar etappe pagina
                    Navigation.PopAsync();
                }
            }
            //anders niets doen
        }
コード例 #2
0
        public static async Task <Etappe> CreateEtappe(Etappe etappe)
        {
            string url = $"{_BASEURI}/etappes?code={_FUNCTIONKEY}";

            using (HttpClient client = GetHttpClient())
            {
                try
                {
                    //Creeren van een json
                    string json = JsonConvert.SerializeObject(etappe);
                    //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 ronde aanmaken met de data van de response
                        Etappe etappeResponse = JsonConvert.DeserializeObject <Etappe>(Convert.ToString(responseBody));

                        //return object ronde met invite code etc
                        return(etappeResponse);
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }