You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.2 KiB
65 lines
2.2 KiB
using Justice.Helpers;
|
|
|
|
namespace Justice.Views
|
|
{
|
|
public partial class LoginPage : ContentPage
|
|
{
|
|
public LoginPage()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
protected override void OnAppearing()
|
|
{
|
|
base.OnAppearing();
|
|
|
|
// Clear the fields when the page is loaded
|
|
UsernameEntry.Text = string.Empty;
|
|
PasswordEntry.Text = string.Empty;
|
|
RolePicker.SelectedItem = null; // Clear role selection if needed
|
|
}
|
|
|
|
private async void OnLoginButtonClicked(object sender, EventArgs e)
|
|
{
|
|
var endvalidUsername = "enduser";
|
|
var endvalidPassword = "enduser123";
|
|
var authvalidUsername = "authuser";
|
|
var authvalidPassword = "authuser123";
|
|
|
|
var enteredUsername = UsernameEntry?.Text?.Trim();
|
|
var enteredPassword = PasswordEntry?.Text?.Trim();
|
|
var selectedRole = RolePicker?.SelectedItem?.ToString();
|
|
|
|
if (string.IsNullOrEmpty(selectedRole))
|
|
{
|
|
await DisplayAlert("Error", "Please select a role to proceed.", "OK");
|
|
return;
|
|
}
|
|
|
|
if (string.IsNullOrWhiteSpace(enteredUsername) || string.IsNullOrWhiteSpace(enteredPassword))
|
|
{
|
|
await DisplayAlert("Error", "Please enter both username and password.", "OK");
|
|
return;
|
|
}
|
|
|
|
if (enteredUsername == endvalidUsername && enteredPassword == endvalidPassword && selectedRole == "End User")
|
|
{
|
|
AuthHelper.Login("EndUser");
|
|
await Shell.Current.GoToAsync("//DashboardPage");
|
|
}
|
|
else if (enteredUsername == authvalidUsername && enteredPassword == authvalidPassword && selectedRole == "Authority User")
|
|
{
|
|
AuthHelper.Login("AuthorityUser");
|
|
await Shell.Current.GoToAsync("//ViewReportsPage");
|
|
}
|
|
else
|
|
{
|
|
await DisplayAlert("Error", "Invalid credentials. Please try again.", "OK");
|
|
}
|
|
}
|
|
private async void OnRegisterButtonClicked(object sender, EventArgs e)
|
|
{
|
|
await Shell.Current.GoToAsync("//RegistrationPage");
|
|
}
|
|
|
|
}
|
|
}
|
|
|