Add remember me button and more

This commit is contained in:
Rene Schwarz
2021-08-05 15:29:27 +02:00
parent 981ad26b1b
commit d25ccd136d
94 changed files with 874 additions and 172 deletions

View File

@@ -6,20 +6,33 @@ using System.Text;
namespace Server_Dashboard {
class DashboardModuleViewModel : BaseViewModel {
public ObservableCollection<DashboardModule> Modules { get; set; }
private int gpuUsage;
public int GPUUsage {
get { return gpuUsage; }
set {
if(value != gpuUsage)
gpuUsage = value;
OnPropertyChanged(nameof(gpuUsage));
}
}
public DashboardModuleViewModel() {
Modules = new ObservableCollection<DashboardModule>();
for (int i = 0; i < 10; i++) {
Modules.Add(new DashboardModule(true) {
ModulName = "TestModule",
ModuleName = "TestModule",
Creator = "Username",
ModuleIcon = "../../Assets/Images/PlaceHolderModuleLight.png",
CreationDate = DateTime.Now.ToString(),
ServerInfo = new ServerInformation() {
GpuUsage = "20",
CpuUsage = "20",
CpuTemp = "88.88",
DeployDate = DateTime.Now.ToString(),
GpuTemp = "69.69",
ServerName = "Ubuntu",
OSUserName = "crylia",
OSUserName = "crylia " + i,
PrivateIpAdress = "192.168.1.1",
PublicIpAdress = "85.69.102.58",
Uptime = DateTime.Now.ToString()

View File

@@ -3,6 +3,7 @@ using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Windows;
using System.Windows.Input;
using Server_Dashboard_Socket;
namespace Server_Dashboard {
class DashboardViewModel : BaseViewModel {
@@ -30,26 +31,30 @@ namespace Server_Dashboard {
}
public DashboardViewModel() {
EchoServer echoServer = new EchoServer();
echoServer.Start();
OpenLinkCommand = new RelayCommand(OpenLink);
CreateNewModuleCommand = new RelayCommand(CreateNewModule);
OpenNewModuleWindowCommand = new RelayCommand(OpenNewModuleWindow);
CreateModuleCommand = new RelayCommand(CreateModule);
Modules = dmvm.Modules;
}
public ICommand OpenLinkCommand { get; set; }
public ICommand CreateNewModuleCommand { get; set; }
public ICommand OpenNewModuleWindowCommand { get; set; }
public ICommand CreateModuleCommand { get; set; }
private void OpenLink(object param) {
Process.Start(new ProcessStartInfo((string)param) { UseShellExecute = true });
}
private void CreateNewModule(object param) {
private void OpenNewModuleWindow(object param) {
CreateModulePopup cmp = new CreateModulePopup {
DataContext = this
};
cmp.Owner = Application.Current.MainWindow;
cmp.WindowStartupLocation = WindowStartupLocation.CenterOwner;
cmp.WindowStartupLocation = WindowStartupLocation.CenterScreen;
cmp.ShowDialog();
}
private void CreateModule(object param) {
}
}
}

View File

@@ -1,10 +0,0 @@
using System;
using System.Collections.Generic;
using System.Security;
using System.Text;
namespace Server_Dashboard {
public interface IHavePassword {
SecureString SecurePassword { get; }
}
}

View File

@@ -1,9 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Server_Dashboard {
interface IWindowHelper {
Action Close { get; set; }
}
}

View File

@@ -1,8 +1,6 @@
using Server_Dashboard.Views;
using Server_Dashboard.Properties;
using System;
using System.Collections.Generic;
using System.Security;
using System.Text;
using System.Windows.Input;
namespace Server_Dashboard {
@@ -29,10 +27,26 @@ namespace Server_Dashboard {
OnPropertyChanged(nameof(errorText));
}
}
private bool rememberUser;
public bool RememberUser {
get { return rememberUser; }
set {
if(value != rememberUser)
rememberUser = value;
OnPropertyChanged(nameof(rememberUser));
}
}
public Action Close { get ; set; }
public LoginViewModel() {
LoginCommand = new RelayCommand(Login);
if (!String.IsNullOrEmpty(Settings.Default.Username)) {
Username = Settings.Default.Username;
RememberUser = Settings.Default.RememberMe;
}
}
public ICommand LoginCommand { get; set; }
@@ -40,6 +54,24 @@ namespace Server_Dashboard {
private void Login(object parameter) {
if (!String.IsNullOrWhiteSpace(Username) && !String.IsNullOrWhiteSpace((parameter as IHavePassword).SecurePassword.Unsecure())) {
if (DatabaseHandler.CheckLogin(Username, (parameter as IHavePassword).SecurePassword.Unsecure())) {
if (RememberUser && !String.IsNullOrEmpty(Settings.Default.Cookies)) {
DatabaseHandler.CheckCookie(Settings.Default.Cookies, Username);
}
if (!RememberUser && !String.IsNullOrEmpty(Settings.Default.Cookies)) {
Settings.Default.Cookies = null;
Settings.Default.Username = "";
Settings.Default.RememberMe = false;
Settings.Default.Save();
DatabaseHandler.DeleteCookie(Username);
}
if (RememberUser && String.IsNullOrEmpty(Settings.Default.Cookies)) {
var guid = new Guid().ToString() + Username;
Settings.Default.Cookies = guid;
Settings.Default.Username = Username;
Settings.Default.RememberMe = true;
Settings.Default.Save();
DatabaseHandler.AddCookie(Username, guid);
}
DashboardWindow window = new DashboardWindow();
window.Show();
Close?.Invoke();