예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        /// <summary>
        /// Überprüft den übergebenen Login auf Korrektheit um zu erfahren, ob der Nutzer existiert.
        /// </summary>
        /// <param name="loginZuPruefen"></param>
        /// <returns></returns>
        public static async Task <bool> LoginUeberpruefen(Login loginZuPruefen)
        {
            bool korrekterLogin = false;

            // Prüfen, ob ein Token erhalten werden kann
            Token tokenLoginUeberpruefung = await BackEndComUserLogik.GetToken(loginZuPruefen);

            // Falls ja, existiert der Nutzer und der Token kann gespeichert werden.
            if (tokenLoginUeberpruefung.AccessToken != null)
            {
                // Speichern des Tokens in Datei
                bool tokenIstGespeichert = await TokenSpeichern(tokenLoginUeberpruefung);

                if (tokenIstGespeichert == true)
                {
                    korrekterLogin = true;
                }
            }

            return(korrekterLogin);
        }
예제 #3
0
        /// <summary>
        /// Schreibt einen aktuellen Token in die dafür vorgesehen Datei. Gibt den Erfolg der Aktion zurück.
        /// </summary>
        /// <returns></returns>
        public static async Task <bool> aktuellerToken()
        {
            bool  erfolg = false;
            Login login  = await DatenVerarbeitung.LoginAuslesen();

            // Der Token wird aus der Datei ausgelesen
            Token aktuellerToken = await TokenAuslesen();

            // Falls in dieser Datei kein Token ist, wird ein neuer Token geholt
            if (aktuellerToken.AccessToken == null)
            {
                aktuellerToken = await BackEndComUserLogik.GetToken(login);

                if (aktuellerToken.AccessToken != null)
                {
                    erfolg = await TokenSpeichern(aktuellerToken);
                }
                else
                {
                    erfolg = false;
                }
            }
            else
            {
                erfolg = true;
            }

            if (erfolg == true)
            {
                // Der Token wird refresht, dass er verwendet werden kann
                erfolg = await BackEndComUserLogik.RefreshToken(aktuellerToken);

                if (erfolg == true)
                {
                    erfolg = await DatenVerarbeitung.TokenSpeichern(aktuellerToken);
                }
            }

            return(erfolg);
        }