bib-talk 23.05 v1
karlomalo
This commit is contained in:
103
bibtalk/bib-talk/Login.xaml.cs
Normal file
103
bibtalk/bib-talk/Login.xaml.cs
Normal file
@@ -0,0 +1,103 @@
|
||||
using Newtonsoft.Json;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows;
|
||||
|
||||
namespace bib_talk
|
||||
{
|
||||
public partial class Login : Window
|
||||
{
|
||||
// Field to store logged in user
|
||||
public static string loggedInUser;
|
||||
|
||||
public Login()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void DraggableArea_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if (e.ButtonState == MouseButtonState.Pressed)
|
||||
{
|
||||
DragMove();
|
||||
}
|
||||
}
|
||||
|
||||
private void CloseButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void Button_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
RegisterWindow register = new RegisterWindow();
|
||||
register.Show();
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void WeiterButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (usernbox.Text != "" && passwordbox.Password != "")
|
||||
{
|
||||
LoginServer();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void passwordbox_PasswordChanged(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (usernbox.Text != "" && passwordbox.Password != "")
|
||||
{
|
||||
SolidColorBrush customBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF6332A0"));
|
||||
weiterbutton.Foreground = Brushes.White;
|
||||
weiterbutton.Background = customBrush;
|
||||
}
|
||||
else
|
||||
{
|
||||
SolidColorBrush customBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FF323134"));
|
||||
weiterbutton.Foreground = Brushes.Gray;
|
||||
weiterbutton.Background = customBrush;
|
||||
}
|
||||
}
|
||||
|
||||
private void Register_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
RegisterWindow register = new RegisterWindow();
|
||||
register.Show();
|
||||
this.Close();
|
||||
}
|
||||
|
||||
public async Task LoginServer()
|
||||
{
|
||||
string username = usernbox.Text;
|
||||
string password = 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<dynamic>(responseContent);
|
||||
string loggedInUsername = responseData.username;
|
||||
MainWindow mainWindow = new MainWindow(loggedInUsername);
|
||||
mainWindow.Show();
|
||||
this.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
var responseContent = await response.Content.ReadAsStringAsync();
|
||||
MessageBox.Show($"Login failed: {responseContent}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user