HAG_BIB_Projekt/PrototypWPFHAG/MainWindow.xaml.cs
NB-PBG2H23AZH\bib ebea635c53 Merge branch 'main' of https://git.bib.de/PBG2H23ASA/HAG_BIB_Projekt
# Conflicts:
#	PrototypWPFHAG/MainWindow.xaml
#	PrototypWPFHAG/MainWindow.xaml.cs
2025-03-19 09:45:02 +01:00

140 lines
4.4 KiB
C#

using System.Data;
using System.Runtime.InteropServices;
using System.Security.Principal;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using MahApps.Metro.Controls;
using Npgsql;
using Npgsql.Replication;
namespace PrototypWPFHAG;
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : MetroWindow
{
public MainWindow()
{
InitializeComponent();
<<<<<<< HEAD
//TestConnection();
//Console.ReadKey();
}
private static void TestConnection()
=======
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
UsernameTextBox.Focus(); // Focus first TextBox on start
}
private static NpgsqlConnection GetConnection()
{
return new NpgsqlConnection("Server=localhost;Port=5432;User Id=postgres;Password=postgres;Database=postgres;");
}
private string ValidateUser(string username, string password)
>>>>>>> 1195250b98172d34b8c49b85a81c21d1f26cdbac
{
using (NpgsqlConnection con = GetConnection())
{
con.Open();
// Check for correct UserName
string userQuery = "SELECT COUNT(*) FROM \"User\" WHERE \"UserName\" = @username";
using (NpgsqlCommand userCmd = new NpgsqlCommand(userQuery, con))
{
userCmd.Parameters.AddWithValue("@username", username);
int userExists = Convert.ToInt32(userCmd.ExecuteScalar());
if (userExists == 0)
{
return "Dieser Benutzername existiert nicht";
}
}
// Check for correct Password
string pwQuery = "SELECT COUNT(*) FROM \"User\" WHERE \"UserName\" = @username AND \"Password\" = @password";
using (NpgsqlCommand pwCmd = new NpgsqlCommand(pwQuery, con))
{
pwCmd.Parameters.AddWithValue("@username", username);
pwCmd.Parameters.AddWithValue("@password", password);
int correctPassword = Convert.ToInt32(pwCmd.ExecuteScalar());
if (correctPassword == 0)
{
return "Falsches Password!";
}
}
}
<<<<<<< HEAD
}
private static NpgsqlConnection GetConnection()
{
return new NpgsqlConnection(@"Server=localhost;Port=7854;User Id=postgres;Database=postgres;");
=======
return "Erfolgreich";
>>>>>>> 1195250b98172d34b8c49b85a81c21d1f26cdbac
}
private void ShowPasswordButton_PreviewMouseDown(object sender, RoutedEventArgs e)
{
PasswordVisibleTextBox.Text = PasswordTextBox.Password; // Write password in the visible box
PasswordVisibleTextBox.Visibility = Visibility.Visible;
PasswordTextBox.Visibility = Visibility.Collapsed;
}
private void ShowPasswordButton_Click(object sender, RoutedEventArgs e)
{
if (PasswordTextBox.Visibility == Visibility.Visible)
{
// Show password
PasswordVisibleTextBox.Text = PasswordTextBox.Password;
PasswordVisibleTextBox.Visibility = Visibility.Visible;
PasswordTextBox.Visibility = Visibility.Collapsed;
}
else
{
// Hide password
PasswordTextBox.Visibility = Visibility.Visible;
PasswordVisibleTextBox.Visibility = Visibility.Collapsed;
}
}
// Syncs password with visible TextBox
private void PasswordTextBox_PasswordChanged(object sender, RoutedEventArgs e)
{
PasswordVisibleTextBox.Text = PasswordTextBox.Password;
}
private void loginButton_Click(object sender, RoutedEventArgs e)
{
string username = UsernameTextBox.Text;
string password = PasswordTextBox.Password;
string result = ValidateUser(username, password);
if (result == "Erfolgreich")
{
SearchWindow searchWindow = new();
searchWindow.Show(); // Open new window
this.Close(); // Close this window
}
else
{
MessageBox.Show(result, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
}