示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
            }
        }