/// <summary> /// Nimmt die Bewertung entgegen und schickt sie ans BackEnd. /// </summary> /// <param name="like">Vote vom Nutzer</param> /// <returns></returns> private async Task <bool> SendeVote(bool like) { bool erfolg = false; PartyVoting voting = new PartyVoting(); // Sperren der Oberfläche SperrenDerAnsicht(); // Da wir diese Bewertung nicht abfragen, setzen wir diese Werte auf 0 (= nicht bewertet) voting.LocationRating = 0; voting.MoodRating = 0; voting.PriceRating = 0; if (like == true) { voting.GeneralRating = 1; erfolg = await BackEndComPartyLogik.PutPartyRating(uebergebeneParty, voting); } else { voting.GeneralRating = -1; erfolg = await BackEndComPartyLogik.PutPartyRating(uebergebeneParty, voting); } // Entsperren der Ansicht EntsperrenDerAnsicht(); return(erfolg); }
/// <summary> /// Post des Votings. /// </summary> /// <param name="party">Party, bei der gevotet wird.</param> /// <param name="voting">Voting</param> /// <returns></returns> public static async Task <bool> PutPartyRating(Party party, PartyVoting voting) { bool internetVorhanden = IsInternet(); bool erfolgreichesVoting = false; bool erfolg = await DatenVerarbeitung.aktuellerToken(); Token tok = await DatenVerarbeitung.TokenAuslesen(); if (internetVorhanden == true && erfolg == true) { HttpClient client = GetClientParty(); HttpResponseMessage httpAntwort = new HttpResponseMessage(); client.DefaultRequestHeaders.Add("Authorization", "Bearer " + tok.AccessToken); HttpContent content = new StringContent(JsonConvert.SerializeObject(voting), Encoding.UTF8, "application/json"); try { httpAntwort = await client.PutAsync($"UserParty/partyRating?id={party.PartyId}", content); erfolgreichesVoting = httpAntwort.IsSuccessStatusCode; return(erfolgreichesVoting); } catch (Exception) { var message = new MessageDialog("Fehler! Bitte versuche es später erneut."); await message.ShowAsync(); return(false); } } else { // Nachricht, dass Internet eingeschaltet werden soll var message = new MessageDialog("Fehler! Keiner Internetverbindung."); await message.ShowAsync(); return(false); } }