/// <summary> /// UserID wird geholt und in File für Login geschrieben. /// </summary> /// <returns>Erfolg</returns> public static async Task <bool> GetUserInfo() { string stringFromServer = ""; Login id; bool internetVorhanden = BackEndComPartyLogik.IsInternet(); Login login = await DatenVerarbeitung.LoginAuslesen(); // aktueller Token wird benötigt bool erfolg = await DatenVerarbeitung.aktuellerToken(); Token tok = await DatenVerarbeitung.TokenAuslesen(); if (internetVorhanden == true && erfolg == true) { HttpClient client = GetClientUser(); HttpResponseMessage httpAntwort = new HttpResponseMessage(); client.DefaultRequestHeaders.Add("Authorization", "Bearer " + tok.AccessToken); try { httpAntwort = await client.GetAsync("connect/userinfo"); stringFromServer = await httpAntwort.Content.ReadAsStringAsync(); id = JsonConvert.DeserializeObject <Login>(stringFromServer); login.userID = id.userID; // ID in die Datei schreiben await DatenVerarbeitung.LoginSpeichern(login); return(true); } 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); } }
/// <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); } }
/// <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); }