using Newtonsoft.Json; using System.Net.Http; using System.Text; using System.Threading.Tasks; using System.Windows; namespace bib_talk.Repository { public class LoginDatabase { Login loginWindow; // Login Window initialisieren // Konstruker der LoginDatabase public LoginDatabase(Login loginWindow) { this.loginWindow = loginWindow; // Login Window deklarieren } // Methode um den User einzuloggen via eines Server aufrufs public async Task LoginServer() { string username = loginWindow.usernbox.Text; string password = loginWindow.passwordbox.Password; var loginData = new { Username = username, Password = password, Email = "", Birthday = "", IsOnline = ""}; string json = JsonConvert.SerializeObject(loginData); using (var client = new HttpClient()) { var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("http://daddypig.dns.navy:5114/api/users/login", content); if (response.IsSuccessStatusCode) { var responseContent = await response.Content.ReadAsStringAsync(); var responseData = JsonConvert.DeserializeObject(responseContent); string loggedInUsername = responseData.username; MainWindow mainWindow = new MainWindow(loggedInUsername); mainWindow.Show(); loginWindow.Close(); } else { var responseContent = await response.Content.ReadAsStringAsync(); MessageBox.Show($"Login failed: {responseContent}"); } } } } }