private async Task CadeaubonPut(Cadeaubon cadeaubon) { var bon = new { HandelaarId = cadeaubon.HandelaarId, Geldigheid = cadeaubon.Geldigheid }; var json = JsonConvert.SerializeObject(bon); HttpContent content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await _Client.PutAsync(url + cadeaubon.BestelLijnId, content); }
private async void VerifieerQRCode(Handelaar handelaar, string qrcode) { try { var content = await _Client.GetStringAsync(url + qrcode); cadeaubon = JsonConvert.DeserializeObject <Cadeaubon>(content); switch (cadeaubon.Geldigheid) { case 0: if (cadeaubon.AanmaakDatum.Date.AddYears(1) <= DateTime.Today.Date) { try { Lbl_Melding.Text = "Deze cadeaubon is meer dan één jaar oud en daardoor niet meer bruikbaar."; cadeaubon.Geldigheid = 2; await CadeaubonPut(cadeaubon); } catch (Exception) { await DisplayAlert("Aanmelding", "Er is een onverwachte fout opgetreden. Gelieve het later opnieuw te proberen.", "Oke"); } } else if (cadeaubon.Emailadres != handelaar.Emailadres && cadeaubon.Emailadres != "*****@*****.**") { Lbl_Melding.Text = "De ingescande QR-code is niet bruikbaar in deze winkel."; } else { VerificatieAfbeelding.Source = "Vinkje.png"; VerificatieStatus.TextColor = Constants.VerificatieGeslaagd; ValidatieFrame.BackgroundColor = Constants.VerificatieGeslaagd; VerificatieStatus.Text = "Verificatie geslaagd!"; Lbl_Melding.Text = String.Format("Naam: {0} \n\nBedrag: € {1}", cadeaubon.Naam, cadeaubon.Prijs); Btn_Procedure.Text = "Valideer cadeaubon"; Valideerbaar = true; } break; case 1: Lbl_Melding.Text = "Deze cadeaubon werd ongeldig verklaard."; break; case 2: Lbl_Melding.Text = "Deze cadeaubon is meer dan één jaar oud en daardoor niet meer bruikbaar."; break; case 3: Lbl_Melding.Text = "Deze cadeaubon is reeds gebruikt."; break; default: Lbl_Melding.Text = "Er is een fout opgetreden bij het ophalen van de gegevens."; break; } } catch (ArgumentOutOfRangeException) { Lbl_Melding.Text = "De ingescande QR-code is ongeldig."; } catch (Exception) { Lbl_Melding.Text = "Er kan op dit moment geen verbinding worden gemaakt met het internet."; } }