/// <summary> /// Hier wird die Teilnahme/Absage für die Party vorgenommen. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void Teilnehmen_CommitmentStateSetzen(object sender, RoutedEventArgs e) { CommitmentParty teilnehmen = new CommitmentParty(); bool zusagen = false; // Hier wird der Status der Teilnahme notiert if (uebergebeneParty.UserCommitmentState != EventCommitmentState.Accepted) { teilnehmen.Teilnahme = EventCommitmentState.Accepted; zusagen = true; } else { teilnehmen.Teilnahme = EventCommitmentState.Rejected; zusagen = false; } // Sperren der Oberfläche SperrenDerAnsicht(); // Teilnahme/Absage ans BackEnd schicken bool teilnahme = await BackEndComPartyLogik.PutPartyCommitmentState(uebergebeneParty, teilnehmen); if (teilnahme == true) { // Abhängig davon, ob der Nutzer teilnehmen oder absagen will, wird ihm eine entsprechende Nachricht ausgegeben. if (zusagen == true) { var message = new MessageDialog(Meldungen.Anzeige.ErfolgTeilnahme, "Viel Spaß!"); await message.ShowAsync(); uebergebeneParty.UserCommitmentState = EventCommitmentState.Accepted; this.Frame.Navigate(typeof(FensterHauptansicht)); } else { var message = new MessageDialog(Meldungen.Anzeige.ErfolgAbsage, "Schade!"); await message.ShowAsync(); uebergebeneParty.UserCommitmentState = EventCommitmentState.Rejected; } } else { var message = new MessageDialog(Meldungen.Anzeige.FehlerTeilnahmeAbsage, "Fehler!"); await message.ShowAsync(); } // Entsperrung der Oberfläche EntsperrenDerAnsicht(); // Wechsel zur Hauptansicht this.Frame.Navigate(typeof(FensterHauptansicht)); }
/// <summary> /// Hier wird die Party für den Nutzer vorgemerkt/nicht mehr vorgemerkt. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void Vormerken_wechselZuHauptansicht(object sender, RoutedEventArgs e) { CommitmentParty commitment = new CommitmentParty(); bool notiert = false; // Sperren der Oberfläche SperrenDerAnsicht(); // Hier wird der Status der Vormerkung notiert if (uebergebeneParty.UserCommitmentState != EventCommitmentState.Noted) { commitment.Teilnahme = EventCommitmentState.Noted; notiert = true; } else { commitment.Teilnahme = EventCommitmentState.Rejected; notiert = false; } // Vormerkung ans BackEnd schicken bool antwort = await BackEndComPartyLogik.PutPartyCommitmentState(uebergebeneParty, commitment); // Entsperrung der Oberfläche EntsperrenDerAnsicht(); if (antwort == true) { // Abhängig davon, ob der Nutzer die Party vormerken will oder nicht, wird ihm eine entsprechende Nachricht ausgegeben. if (notiert == true) { var message = new MessageDialog(Meldungen.Anzeige.ErfolgVormerken, "Erfolg!"); await message.ShowAsync(); uebergebeneParty.UserCommitmentState = EventCommitmentState.Noted; } else { var message = new MessageDialog(Meldungen.Anzeige.ErfolgVergessen, "Erfolg!"); await message.ShowAsync(); uebergebeneParty.UserCommitmentState = EventCommitmentState.Rejected; } } else { var message = new MessageDialog(Meldungen.Anzeige.FehlerVormerkenVergessen, "Fehler!"); await message.ShowAsync(); } // Zum Schluss wechselt man zur Hauptansicht this.Frame.Navigate(typeof(FensterHauptansicht)); }
/// <summary> /// Post des Teilnahme-Status. /// </summary> /// <param name="party">Party, bei der sich der Teilnahme-Status ändert.</param> /// <param name="teilnahme">Teilnahmestatus</param> /// <returns></returns> public static async Task <bool> PutPartyCommitmentState(Party party, CommitmentParty teilnahme) { bool internetVorhanden = IsInternet(); bool teilnehmen = false; string nachricht = ""; Login login = await DatenVerarbeitung.LoginAuslesen(); Token tok = await BackEndComUserLogik.GetToken(login); if (internetVorhanden == true)// && erfolg == true) { HttpClient client = GetClientParty(); HttpResponseMessage httpAntwort = new HttpResponseMessage(); var json = JsonConvert.SerializeObject(teilnahme); client.DefaultRequestHeaders.Add("Authorization", "Bearer " + tok.AccessToken); HttpContent content = new StringContent(json, Encoding.UTF8, "application/json"); try { httpAntwort = await client.PutAsync($"UserParty/commitmentState?id={party.PartyId}", content); teilnehmen = httpAntwort.IsSuccessStatusCode; return(teilnehmen); } catch (Exception ex) { nachricht = "Error: " + ex.HResult.ToString("X") + " Message: " + ex.Message; var message = new MessageDialog("Fehler! Bitte versuche es später erneut."); await message.ShowAsync(); // Code 21 - Fehler bei Abrufen return(false); } } else { // Nachricht, dass Internet eingeschaltet werden soll // Code 42 - Fehler: Keine Internetverbindung var message = new MessageDialog("Fehler! Keiner Internetverbindung."); await message.ShowAsync(); return(false); } }