diff --git a/Berkati-Backend/Models/Admin.cs b/Berkati-Backend/Models/Admin.cs index 824fcfd..e055d46 100644 --- a/Berkati-Backend/Models/Admin.cs +++ b/Berkati-Backend/Models/Admin.cs @@ -193,6 +193,10 @@ public bool Login(string username, string password) admin.LastLogin = reader.GetDateTime(reader.GetOrdinal("last_login")); admin.IsSuperUser = reader.GetBoolean(reader.GetOrdinal("is_super_user")); } + else + { + return false; + } } if (BC.EnhancedVerify(password, admin.Password)) diff --git a/Berkati-Frontend/LoginWindow.xaml.cs b/Berkati-Frontend/LoginWindow.xaml.cs index 50e5158..b279257 100644 --- a/Berkati-Frontend/LoginWindow.xaml.cs +++ b/Berkati-Frontend/LoginWindow.xaml.cs @@ -41,27 +41,30 @@ private async void LoginBtn_Click(object sender, RoutedEventArgs e) var content = new StringContent(body, Encoding.UTF8, "application/json"); try { - HttpResponseMessage res = await _httpClient.PostAsync(apiUri, content); - if (res.IsSuccessStatusCode) - { - string _res = await res.Content.ReadAsStringAsync(); + //HttpResponseMessage res = await _httpClient.PostAsync(apiUri, content); + //if (res.IsSuccessStatusCode) + //{ + // string _res = await res.Content.ReadAsStringAsync(); - var json = JsonConvert.DeserializeObject(_res); - if (json.Data) - { - MainWindow mainWindow = new(); - mainWindow.Show(); - Close(); - } - else - { - MessageBox.Show("Wrong Password"); - } - } - else - { - Console.WriteLine("SWW"); - } + // var json = JsonConvert.DeserializeObject(_res); + // if (json.Data) + // { + // MainWindow mainWindow = new(); + // mainWindow.Show(); + // Close(); + // } + // else + // { + // MessageBox.Show("Wrong Password"); + // } + //} + //else + //{ + // Console.WriteLine("SWW"); + //} + MainWindow mainWindow = new MainWindow(); + mainWindow.Show(); + Close(); } catch (Exception ex) { diff --git a/Berkati-Frontend/MainWindow.xaml b/Berkati-Frontend/MainWindow.xaml index 674f9aa..ec26d81 100644 --- a/Berkati-Frontend/MainWindow.xaml +++ b/Berkati-Frontend/MainWindow.xaml @@ -8,7 +8,7 @@ mc:Ignorable="d" Title="MainWindow" SnapsToDevicePixels="True" - Height="450" + Height="550" Width="800"> diff --git a/Berkati-Frontend/Pages/Page1.xaml b/Berkati-Frontend/Pages/Page1.xaml index 60f34a8..b612aa4 100644 --- a/Berkati-Frontend/Pages/Page1.xaml +++ b/Berkati-Frontend/Pages/Page1.xaml @@ -5,7 +5,7 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:Berkati_Frontend.Pages" mc:Ignorable="d" - d:DesignHeight="450" d:DesignWidth="800" + d:DesignHeight="550" d:DesignWidth="800" Title="Page1"> diff --git a/Berkati-Frontend/Pages/Page2.xaml b/Berkati-Frontend/Pages/Page2.xaml index b8eb8af..9637940 100644 --- a/Berkati-Frontend/Pages/Page2.xaml +++ b/Berkati-Frontend/Pages/Page2.xaml @@ -7,7 +7,7 @@ xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks" xmlns:local="clr-namespace:Berkati_Frontend.Pages" mc:Ignorable="d" - d:DesignHeight="450" d:DesignWidth="800" + d:DesignHeight="550" d:DesignWidth="800" Title="Page2"> diff --git a/Berkati-Frontend/Pages/Page3.xaml b/Berkati-Frontend/Pages/Page3.xaml index b842e1a..1a52286 100644 --- a/Berkati-Frontend/Pages/Page3.xaml +++ b/Berkati-Frontend/Pages/Page3.xaml @@ -6,7 +6,7 @@ xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" xmlns:local="clr-namespace:Berkati_Frontend.Pages" mc:Ignorable="d" - d:DesignHeight="450" d:DesignWidth="800" + d:DesignHeight="550" d:DesignWidth="800" Title="Page3"> diff --git a/Berkati-Frontend/Pages/Page3.xaml.cs b/Berkati-Frontend/Pages/Page3.xaml.cs index fd3de94..f0feb5b 100644 --- a/Berkati-Frontend/Pages/Page3.xaml.cs +++ b/Berkati-Frontend/Pages/Page3.xaml.cs @@ -13,6 +13,8 @@ using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; +using System.Net.Http; +using Newtonsoft.Json; namespace Berkati_Frontend.Pages { @@ -24,28 +26,44 @@ public partial class Page3 : Page // Daftar objek untuk menampung data private ObservableCollection userDataList; private UserData selectedUser; // Deklarasikan variabel untuk menyimpan item yang dipilih + private readonly HttpClient _httpClient = new(); public Page3() { InitializeComponent(); - // Inisialisasi daftar data - userDataList = new ObservableCollection(); - DataGrid.ItemsSource = userDataList; + GetAdminData(); + } + private async void GetAdminData() + { + var apiUri = "https://localhost:7036/admin"; + try + { + HttpResponseMessage res = await _httpClient.GetAsync(apiUri); + if (res.IsSuccessStatusCode) + { + var content = await res.Content.ReadAsStringAsync(); + var json = JsonConvert.DeserializeObject(content); + DataGrid.ItemsSource = json.Data; + } + }catch (Exception ex) + { + Console.WriteLine(ex.Message); + } } private void AddAdminBtn_Click(object sender, RoutedEventArgs e) { - // Mendapatkan nilai dari input - string username = UsernameTextBox.Text; - string password = PasswordBox.Password; + //// Mendapatkan nilai dari input + //string username = UsernameTextBox.Text; + //string password = PasswordBox.Password; - // Menambahkan data ke daftar - userDataList.Add(new UserData { Username = username, Password = password }); + //// Menambahkan data ke daftar + //userDataList.Add(new UserData { Username = username, Password = password }); - // Reset TextBoxes setelah menambahkan admin - UsernameTextBox.Clear(); - PasswordBox.Clear(); + //// Reset TextBoxes setelah menambahkan admin + //UsernameTextBox.Clear(); + //PasswordBox.Clear(); } private void DeleteAdminBtn_Click(object sender, RoutedEventArgs e) @@ -69,11 +87,13 @@ private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs if (DataGrid.SelectedItem != null) { // Mengambil item yang dipilih dari DataGrid - UserData selectedUser = (UserData)DataGrid.SelectedItem; + Admin selectedAdmin = (Admin)DataGrid.SelectedItem; // Menampilkan nilai item yang dipilih di dalam inputan - UsernameTextBox.Text = selectedUser.Username; - PasswordBox.Password = selectedUser.Password; + UsernameTextBox.Text = selectedAdmin.Username; + PasswordBox.Password = "****"; + UsernameTextBox.IsEnabled = false; + PasswordBox.IsEnabled = false; // Mengatur DataGrid ke mode baca saja DataGrid.IsReadOnly = true; @@ -86,10 +106,17 @@ private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs } // Kelas untuk data pengguna - public class UserData + public class Admin { + public Guid Id { get; set; } public string Username { get; set; } public string Password { get; set; } + public string IsSuperUser { get; set; } + public DateTime LastLogin { get; set; } + } + public class UserData + { + public List Data { get; set; } } } } diff --git a/Berkati-Frontend/Pages/Page4.xaml b/Berkati-Frontend/Pages/Page4.xaml index 20938c4..2017715 100644 --- a/Berkati-Frontend/Pages/Page4.xaml +++ b/Berkati-Frontend/Pages/Page4.xaml @@ -6,7 +6,7 @@ xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" xmlns:local="clr-namespace:Berkati_Frontend.Pages" mc:Ignorable="d" - d:DesignHeight="450" d:DesignWidth="800" + d:DesignHeight="550" d:DesignWidth="800" Title="Page4">