diff --git a/.vs/Server Dashboard/DesignTimeBuild/.dtbcache.v2 b/.vs/Server Dashboard/DesignTimeBuild/.dtbcache.v2
index 2f16743..5836e70 100644
Binary files a/.vs/Server Dashboard/DesignTimeBuild/.dtbcache.v2 and b/.vs/Server Dashboard/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/.vs/Server Dashboard/v16/.suo b/.vs/Server Dashboard/v16/.suo
index 7ebdc78..7707516 100644
Binary files a/.vs/Server Dashboard/v16/.suo and b/.vs/Server Dashboard/v16/.suo differ
diff --git a/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.csproj.FileListAbsolute.txt b/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.csproj.FileListAbsolute.txt
index 29ff18e..762495d 100644
--- a/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.csproj.FileListAbsolute.txt
+++ b/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.csproj.FileListAbsolute.txt
@@ -6,3 +6,4 @@ C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard Socket\obj\Debug
C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard Socket\obj\Debug\netcoreapp3.1\Server Dashboard Socket.csproj.CoreCompileInputs.cache
C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard Socket\obj\Debug\netcoreapp3.1\Server Dashboard Socket.dll
C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard Socket\obj\Debug\netcoreapp3.1\Server Dashboard Socket.pdb
+C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard Socket\obj\Debug\netcoreapp3.1\Server Dashboard Socket.csprojAssemblyReference.cache
diff --git a/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.csprojAssemblyReference.cache b/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.csprojAssemblyReference.cache
new file mode 100644
index 0000000..8a5ef04
Binary files /dev/null and b/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.csprojAssemblyReference.cache differ
diff --git a/Server Dashboard/Database/DatabaseHandler.cs b/Server Dashboard/Database/DatabaseHandler.cs
index 16d3c05..5fce34a 100644
--- a/Server Dashboard/Database/DatabaseHandler.cs
+++ b/Server Dashboard/Database/DatabaseHandler.cs
@@ -35,71 +35,64 @@ namespace Server_Dashboard {
}
}
- public static bool CheckCookie(string cookie, string username) {
- string valid = "False";
- ConnectToDatabase(con => {
- string query = "EXEC CheckUserCookie @Cookie = @cookie, @UserName = @username, @Valid = @valid OUTPUT";
- using (SqlCommand com = new SqlCommand(query, con)) {
- com.Parameters.AddWithValue("@cookie", cookie);
- com.Parameters.AddWithValue("@username", username);
- com.Parameters.Add("@valid", SqlDbType.NVarChar, 250);
- com.Parameters["@valid"].Direction = ParameterDirection.Output;
- com.ExecuteNonQuery();
- valid = Convert.ToString(com.Parameters["@Valid"].Value);
- }
- });
- return Convert.ToBoolean(valid);
- }
-
- public static bool DeleteCookie(string username) {
- string valid = "False";
- ConnectToDatabase(con => {
- string query = "EXEC DeleteUserCookie @Username = @username, @ResponseMessage = @response OUTPUT";
- using (SqlCommand com = new SqlCommand(query, con)) {
- com.Parameters.AddWithValue("@username", username);
- com.Parameters.Add("@response", SqlDbType.NVarChar, 250);
- com.Parameters["@response"].Direction = ParameterDirection.Output;
- com.ExecuteNonQuery();
- valid = Convert.ToString(com.Parameters["@ResponseMessage"].Value);
- }
- });
- return Convert.ToBoolean(valid);
- }
-
- public static bool AddCookie(string cookie, string username) {
- string valid = "False";
- ConnectToDatabase(con => {
- string query = "EXEC AddCookieToUser @Cookie = @cookie, @UserName = @username, @ResponseMessage = @response OUTPUT";
- using (SqlCommand com = new SqlCommand(query, con)) {
- com.Parameters.AddWithValue("@cookie", cookie);
- com.Parameters.AddWithValue("@username", username);
- com.Parameters.Add("@response", SqlDbType.NVarChar, 250);
- com.Parameters["@response"].Direction = ParameterDirection.Output;
- com.ExecuteNonQuery();
- valid = Convert.ToString(com.Parameters["@ResponseMessage"].Value);
- }
- });
- return Convert.ToBoolean(valid);
- }
-
- #region Private methods
- ///
- /// Opens a database connection
- ///
- /// Callback type SqlConnection
- ///
- private static SqlConnection ConnectToDatabase(Action callback) {
+ public static int CheckCookie(string cookie, string username) {
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ServerDashboardDB"].ConnectionString)) {
try {
con.Open();
- callback(con);
- con.Close();
+ string query = "EXEC CheckUserCookie @Cookie = @cookie, @UserName = @username, @Valid = @valid OUTPUT";
+ using (SqlCommand com = new SqlCommand(query, con)) {
+ com.Parameters.AddWithValue("@cookie", cookie);
+ com.Parameters.AddWithValue("@username", username);
+ com.Parameters.Add("@valid", SqlDbType.Bit);
+ com.Parameters["@valid"].Direction = ParameterDirection.Output;
+ com.ExecuteNonQuery();
+ return Convert.ToInt32(com.Parameters["@Valid"].Value);
+ }
} catch (SqlException ex) {
- return null;
+ return ex.Number;
+ } finally {
+ con.Close();
+ }
+ }
+ }
+
+ public static void DeleteCookie(string username) {
+ using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ServerDashboardDB"].ConnectionString)) {
+ try {
+ con.Open();
+ string query = "EXEC DeleteUserCookie @Username = @username, @ResponseMessage = @response OUTPUT";
+ using (SqlCommand com = new SqlCommand(query, con)) {
+ com.Parameters.AddWithValue("@username", username);
+ com.Parameters.Add("@response", SqlDbType.NVarChar, 250);
+ com.Parameters["@response"].Direction = ParameterDirection.Output;
+ com.ExecuteNonQuery();
+ }
+ } catch (SqlException ex) {
+ } finally {
+ con.Close();
+ }
+ }
+ }
+
+ public static int AddCookie(string cookie, string username) {
+ using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ServerDashboardDB"].ConnectionString)) {
+ try {
+ con.Open();
+ string query = "EXEC AddCookieToUser @Cookie = @cookie, @UserName = @username, @ResponseMessage = @response OUTPUT";
+ using (SqlCommand com = new SqlCommand(query, con)) {
+ com.Parameters.AddWithValue("@cookie", cookie);
+ com.Parameters.AddWithValue("@username", username);
+ com.Parameters.Add("@response", SqlDbType.NVarChar, 250);
+ com.Parameters["@response"].Direction = ParameterDirection.Output;
+ com.ExecuteNonQuery();
+ return Convert.ToInt32(com.Parameters["@ResponseMessage"].Value);
+ }
+ } catch (SqlException ex) {
+ return ex.Number;
+ } finally {
+ con.Close();
}
}
- return null;
}
- #endregion
}
}
diff --git a/Server Dashboard/Properties/Settings.Designer.cs b/Server Dashboard/Properties/Settings.Designer.cs
index 01abcab..4817d7f 100644
--- a/Server Dashboard/Properties/Settings.Designer.cs
+++ b/Server Dashboard/Properties/Settings.Designer.cs
@@ -58,5 +58,17 @@ namespace Server_Dashboard.Properties {
this["RememberMe"] = value;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("")]
+ public string Password {
+ get {
+ return ((string)(this["Password"]));
+ }
+ set {
+ this["Password"] = value;
+ }
+ }
}
}
diff --git a/Server Dashboard/Properties/Settings.settings b/Server Dashboard/Properties/Settings.settings
index de72377..3f42ea4 100644
--- a/Server Dashboard/Properties/Settings.settings
+++ b/Server Dashboard/Properties/Settings.settings
@@ -11,5 +11,8 @@
False
+
+
+
\ No newline at end of file
diff --git a/Server Dashboard/ViewModels/Login/LoginViewModel.cs b/Server Dashboard/ViewModels/Login/LoginViewModel.cs
index be00f9b..1999147 100644
--- a/Server Dashboard/ViewModels/Login/LoginViewModel.cs
+++ b/Server Dashboard/ViewModels/Login/LoginViewModel.cs
@@ -60,6 +60,7 @@ namespace Server_Dashboard {
Username = Settings.Default.Username;
RememberUser = Settings.Default.RememberMe;
}
+ AutoLoginAsync();
}
public ICommand LoginCommand { get; set; }
@@ -81,6 +82,7 @@ namespace Server_Dashboard {
Settings.Default.Cookies = null;
Settings.Default.Username = "";
Settings.Default.RememberMe = false;
+ Settings.Default.Password = "";
Settings.Default.Save();
DatabaseHandler.DeleteCookie(Username);
}
@@ -89,6 +91,7 @@ namespace Server_Dashboard {
Settings.Default.Cookies = guid;
Settings.Default.Username = Username;
Settings.Default.RememberMe = true;
+ Settings.Default.Password = "*****";
Settings.Default.Save();
DatabaseHandler.AddCookie(Username, guid);
}
@@ -117,5 +120,19 @@ namespace Server_Dashboard {
}
ErrorText = "";
}
+ //TODO: Add autologin function that locks the UI untill the user hits the abort button or the login completes
+ /*private async void AutoLoginAsync() {
+ if (Settings.Default.RememberMe && !String.IsNullOrEmpty(Settings.Default.Username) && !String.IsNullOrEmpty(Settings.Default.Cookies)) {
+ Loading = "Visible";
+ int result = await Task.Run(() => DatabaseHandler.CheckCookie(Settings.Default.Cookies, Username));
+ Loading = "Hidden";
+ if (result == 1) {
+ DashboardWindow window = new DashboardWindow();
+ window.Show();
+ Close?.Invoke();
+ return;
+ }
+ }
+ }*/
}
}
diff --git a/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard.dll b/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard.dll
index a20d72d..7318603 100644
Binary files a/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard.dll and b/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard.dll differ
diff --git a/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard.pdb b/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard.pdb
index 34e65dd..8878f10 100644
Binary files a/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard.pdb and b/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard.pdb differ
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.csprojAssemblyReference.cache b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.csprojAssemblyReference.cache
index 783e1fd..26ea6b7 100644
Binary files a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.csprojAssemblyReference.cache and b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.csprojAssemblyReference.cache differ
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.dll b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.dll
index a20d72d..7318603 100644
Binary files a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.dll and b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.dll differ
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.pdb b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.pdb
index 34e65dd..8878f10 100644
Binary files a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.pdb and b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.pdb differ
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.i.lref b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.i.lref
index 04dfb39..835b885 100644
--- a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.i.lref
+++ b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.i.lref
@@ -1,4 +1,11 @@
-
-
+C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\obj\Debug\netcoreapp3.1\GeneratedInternalTypeHelper.g.i.cs
+FC:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\App.xaml;;
+FC:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\Controls\Dashboard\CRUD Popup\CreateModulePopup.xaml;;
+FC:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\Controls\DoubleRoundProgressBar\DoubleRoundProgressBar.xaml;;
+FC:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\Controls\HalfRoundProgressBar\HalfRoundProgressBar.xaml;;
FC:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\Controls\LoadingIndicator\LoadingIndicator.xaml;;
+FC:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\Controls\ServerModules\ServerModule.xaml;;
+FC:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\LoginWindow.xaml;;
+FC:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\Views\DashboardPages\MainDashboardPage.xaml;;
+FC:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\Views\DashboardWindow.xaml;;