diff --git a/.vs/Server Dashboard/DesignTimeBuild/.dtbcache.v2 b/.vs/Server Dashboard/DesignTimeBuild/.dtbcache.v2
index 3c85eb0..2f16743 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 8487474..7ebdc78 100644
Binary files a/.vs/Server Dashboard/v16/.suo and b/.vs/Server Dashboard/v16/.suo differ
diff --git a/Server Dashboard Socket/bin/Debug/netcoreapp3.1/Server Dashboard Socket.dll b/Server Dashboard Socket/bin/Debug/netcoreapp3.1/Server Dashboard Socket.dll
index 9010f3c..691a1a2 100644
Binary files a/Server Dashboard Socket/bin/Debug/netcoreapp3.1/Server Dashboard Socket.dll and b/Server Dashboard Socket/bin/Debug/netcoreapp3.1/Server Dashboard Socket.dll differ
diff --git a/Server Dashboard Socket/bin/Debug/netcoreapp3.1/Server Dashboard Socket.pdb b/Server Dashboard Socket/bin/Debug/netcoreapp3.1/Server Dashboard Socket.pdb
index 6117fbc..d7aa5aa 100644
Binary files a/Server Dashboard Socket/bin/Debug/netcoreapp3.1/Server Dashboard Socket.pdb and b/Server Dashboard Socket/bin/Debug/netcoreapp3.1/Server Dashboard Socket.pdb differ
diff --git a/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.AssemblyInfo.cs b/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.AssemblyInfo.cs
index 066605b..8471464 100644
--- a/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.AssemblyInfo.cs
+++ b/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.AssemblyInfo.cs
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
//
-// Dieser Code wurde von einem Tool generiert.
-// Laufzeitversion:4.0.30319.42000
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
//
-// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
-// der Code erneut generiert wird.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
//
//------------------------------------------------------------------------------
@@ -19,5 +19,5 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyTitleAttribute("Server Dashboard Socket")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
-// Von der MSBuild WriteCodeFragment-Klasse generiert.
+// Generated by the MSBuild WriteCodeFragment class.
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
deleted file mode 100644
index 8a5ef04..0000000
Binary files a/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.csprojAssemblyReference.cache and /dev/null differ
diff --git a/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.dll b/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.dll
index 9010f3c..691a1a2 100644
Binary files a/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.dll and b/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.dll differ
diff --git a/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.pdb b/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.pdb
index 6117fbc..d7aa5aa 100644
Binary files a/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.pdb and b/Server Dashboard Socket/obj/Debug/netcoreapp3.1/Server Dashboard Socket.pdb differ
diff --git a/Server Dashboard/Controls/LoadingIndicator/LoadingIndicator.xaml b/Server Dashboard/Controls/LoadingIndicator/LoadingIndicator.xaml
new file mode 100644
index 0000000..0c7cfea
--- /dev/null
+++ b/Server Dashboard/Controls/LoadingIndicator/LoadingIndicator.xaml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Server Dashboard/Controls/LoadingIndicator/LoadingIndicator.xaml.cs b/Server Dashboard/Controls/LoadingIndicator/LoadingIndicator.xaml.cs
new file mode 100644
index 0000000..d150924
--- /dev/null
+++ b/Server Dashboard/Controls/LoadingIndicator/LoadingIndicator.xaml.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+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;
+
+namespace Server_Dashboard.Controls {
+ ///
+ /// Interaction logic for LoadingIndicator.xaml
+ ///
+ public partial class LoadingIndicator : UserControl {
+ public LoadingIndicator() {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Server Dashboard/Database/DatabaseHandler.cs b/Server Dashboard/Database/DatabaseHandler.cs
index c679cdf..16d3c05 100644
--- a/Server Dashboard/Database/DatabaseHandler.cs
+++ b/Server Dashboard/Database/DatabaseHandler.cs
@@ -14,20 +14,25 @@ namespace Server_Dashboard {
return null;
}
- public static bool CheckLogin(string uname, string passwd) {
- string valid = "False";
- ConnectToDatabase(con => {
- string query = "EXEC ValidateUserLogin @Username = @uname, @Password = @passwd, @Valid = @valid OUTPUT";
- using (SqlCommand com = new SqlCommand(query, con)) {
- com.Parameters.AddWithValue("@uname", uname);
- com.Parameters.AddWithValue("@passwd", passwd);
- com.Parameters.Add("@valid", SqlDbType.NVarChar, 250);
- com.Parameters["@valid"].Direction = ParameterDirection.Output;
- com.ExecuteNonQuery();
- valid = Convert.ToString(com.Parameters["@Valid"].Value);
+ public static int CheckLogin(string uname, string passwd) {
+ using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ServerDashboardDB"].ConnectionString)) {
+ try {
+ con.Open();
+ string query = "EXEC ValidateUserLogin @Username = @uname, @Password = @passwd, @Valid = @valid OUTPUT";
+ using (SqlCommand com = new SqlCommand(query, con)) {
+ com.Parameters.AddWithValue("@uname", uname);
+ com.Parameters.AddWithValue("@passwd", passwd);
+ com.Parameters.Add("@valid", SqlDbType.NVarChar, 250);
+ com.Parameters["@valid"].Direction = ParameterDirection.Output;
+ com.ExecuteNonQuery();
+ return Convert.ToInt32(com.Parameters["@Valid"].Value);
+ }
+ } catch (SqlException ex) {
+ return ex.Number;
+ } finally {
+ con.Close();
}
- });
- return Convert.ToBoolean(valid);
+ }
}
public static bool CheckCookie(string cookie, string username) {
@@ -89,7 +94,9 @@ namespace Server_Dashboard {
con.Open();
callback(con);
con.Close();
- } catch { return null; }
+ } catch (SqlException ex) {
+ return null;
+ }
}
return null;
}
diff --git a/Server Dashboard/LoginWindow.xaml b/Server Dashboard/LoginWindow.xaml
index 5cbc075..9c41ac0 100644
--- a/Server Dashboard/LoginWindow.xaml
+++ b/Server Dashboard/LoginWindow.xaml
@@ -5,6 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:local="clr-namespace:Server_Dashboard"
+ xmlns:loading="clr-namespace:Server_Dashboard.Controls"
x:Name="Login"
mc:Ignorable="d"
Title="Server Dashboard" Height="700" Width="500" WindowStyle="None" Background="Transparent" ResizeMode="CanResize" local:CloseProperty.Value="True">
@@ -21,13 +22,14 @@
+
-
+
@@ -63,8 +65,9 @@
Background="{StaticResource BackgroundSurface_00dp}"
Grid.Row="1"
HorizontalAlignment="Center"
- VerticalAlignment="Center"
+ VerticalAlignment="Bottom"
Grid.ColumnSpan="2"
+ Margin="0 0 0 10"
>
+
+
+
@@ -99,7 +105,7 @@
Width="350"
Height="60"
Background="{StaticResource BackgroundSurface_01dp}"
- Grid.Row="2"
+ Grid.Row="3"
Grid.ColumnSpan="2"
>
@@ -145,7 +151,7 @@
@@ -215,7 +221,7 @@
Text="{Binding ErrorText}"
VerticalAlignment="Center"
HorizontalAlignment="Center"
- Grid.Row="5"
+ Grid.Row="6"
Grid.Column="1"
Foreground="{StaticResource ErrorRed}"
FontSize="14"
@@ -223,7 +229,7 @@
-
+
@@ -271,7 +277,7 @@
-
+
Code
+
+ Code
+
Code
@@ -32,6 +35,9 @@
Designer
+
+ Designer
+
Designer
diff --git a/Server Dashboard/ViewModels/Login/LoginViewModel.cs b/Server Dashboard/ViewModels/Login/LoginViewModel.cs
index 758f0bb..be00f9b 100644
--- a/Server Dashboard/ViewModels/Login/LoginViewModel.cs
+++ b/Server Dashboard/ViewModels/Login/LoginViewModel.cs
@@ -2,6 +2,7 @@
using Server_Dashboard.Properties;
using System;
using System.Windows.Input;
+using System.Threading.Tasks;
namespace Server_Dashboard {
class LoginViewModel : BaseViewModel, IWindowHelper {
@@ -39,10 +40,22 @@ namespace Server_Dashboard {
}
}
+ private string loading;
+
+ public string Loading {
+ get { return loading; }
+ set {
+ if (value != loading)
+ loading = value;
+ OnPropertyChanged(nameof(loading));
+ }
+ }
+
public Action Close { get ; set; }
public LoginViewModel() {
- LoginCommand = new RelayCommand(Login);
+ Loading = "Hidden";
+ LoginCommand = new RelayCommand(LoginAsync);
if (!String.IsNullOrEmpty(Settings.Default.Username)) {
Username = Settings.Default.Username;
RememberUser = Settings.Default.RememberMe;
@@ -51,33 +64,44 @@ namespace Server_Dashboard {
public ICommand LoginCommand { get; set; }
- private void Login(object parameter) {
+ private async void LoginAsync(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();
- } else {
- ErrorText = "Username or password is wrong.";
- return;
+ Loading = "Visible";
+ int result = await Task.Run(() => DatabaseHandler.CheckLogin(Username, (parameter as IHavePassword).SecurePassword.Unsecure()));
+ Loading = "Hidden";
+ switch (result) {
+ case 0:
+ ErrorText = "Username or password is wrong.";
+ return;
+ case 1:
+ 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();
+ return;
+ case 2:
+ ErrorText = "Server unreachable, connection timeout.";
+ return;
+ default:
+ ErrorText = "An unknown error has occured";
+ return;
}
} else if (String.IsNullOrWhiteSpace(Username) && String.IsNullOrWhiteSpace((parameter as IHavePassword).SecurePassword.Unsecure())) {
ErrorText = "Please provide a username and password";
diff --git a/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard Socket.dll b/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard Socket.dll
index 9010f3c..691a1a2 100644
Binary files a/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard Socket.dll and b/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard Socket.dll differ
diff --git a/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard Socket.pdb b/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard Socket.pdb
index 6117fbc..d7aa5aa 100644
Binary files a/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard Socket.pdb and b/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard Socket.pdb differ
diff --git a/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard.dll b/Server Dashboard/bin/Debug/netcoreapp3.1/Server Dashboard.dll
index c0e4d0c..a20d72d 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 87faa06..34e65dd 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/Controls/LoadingIndicator.g.i.cs b/Server Dashboard/obj/Debug/netcoreapp3.1/Controls/LoadingIndicator.g.i.cs
new file mode 100644
index 0000000..e1aeccf
--- /dev/null
+++ b/Server Dashboard/obj/Debug/netcoreapp3.1/Controls/LoadingIndicator.g.i.cs
@@ -0,0 +1,76 @@
+#pragma checksum "..\..\..\..\Controls\LoadingIndicator.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "94C2774B2D565276CA63842D1825DA963E3E8797"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using Server_Dashboard.Controls;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Controls.Ribbon;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace Server_Dashboard.Controls {
+
+
+ ///
+ /// LoadingIndicator
+ ///
+ public partial class LoadingIndicator : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "5.0.4.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/Server Dashboard;V1.0.0.0;component/controls/loadingindicator.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\..\..\Controls\LoadingIndicator.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "5.0.4.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/Controls/LoadingIndicator/LoadingIndicator.baml b/Server Dashboard/obj/Debug/netcoreapp3.1/Controls/LoadingIndicator/LoadingIndicator.baml
new file mode 100644
index 0000000..de9dd33
Binary files /dev/null and b/Server Dashboard/obj/Debug/netcoreapp3.1/Controls/LoadingIndicator/LoadingIndicator.baml differ
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/Controls/LoadingIndicator/LoadingIndicator.g.cs b/Server Dashboard/obj/Debug/netcoreapp3.1/Controls/LoadingIndicator/LoadingIndicator.g.cs
new file mode 100644
index 0000000..adfaada
--- /dev/null
+++ b/Server Dashboard/obj/Debug/netcoreapp3.1/Controls/LoadingIndicator/LoadingIndicator.g.cs
@@ -0,0 +1,90 @@
+#pragma checksum "..\..\..\..\..\Controls\LoadingIndicator\LoadingIndicator.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "B712BFC0DDE46A0CEA17B00250D69DC46AB75992"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using Server_Dashboard.Controls;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Controls.Ribbon;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace Server_Dashboard.Controls {
+
+
+ ///
+ /// LoadingIndicator
+ ///
+ public partial class LoadingIndicator : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
+
+
+ #line 2 "..\..\..\..\..\Controls\LoadingIndicator\LoadingIndicator.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal Server_Dashboard.Controls.LoadingIndicator control;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "5.0.4.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/Server Dashboard;component/controls/loadingindicator/loadingindicator.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\..\..\..\Controls\LoadingIndicator\LoadingIndicator.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "5.0.4.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+ this.control = ((Server_Dashboard.Controls.LoadingIndicator)(target));
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/Controls/LoadingIndicator/LoadingIndicator.g.i.cs b/Server Dashboard/obj/Debug/netcoreapp3.1/Controls/LoadingIndicator/LoadingIndicator.g.i.cs
new file mode 100644
index 0000000..adfaada
--- /dev/null
+++ b/Server Dashboard/obj/Debug/netcoreapp3.1/Controls/LoadingIndicator/LoadingIndicator.g.i.cs
@@ -0,0 +1,90 @@
+#pragma checksum "..\..\..\..\..\Controls\LoadingIndicator\LoadingIndicator.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "B712BFC0DDE46A0CEA17B00250D69DC46AB75992"
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using Server_Dashboard.Controls;
+using System;
+using System.Diagnostics;
+using System.Windows;
+using System.Windows.Automation;
+using System.Windows.Controls;
+using System.Windows.Controls.Primitives;
+using System.Windows.Controls.Ribbon;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Markup;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Media.Effects;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Media.TextFormatting;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Windows.Shell;
+
+
+namespace Server_Dashboard.Controls {
+
+
+ ///
+ /// LoadingIndicator
+ ///
+ public partial class LoadingIndicator : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector {
+
+
+ #line 2 "..\..\..\..\..\Controls\LoadingIndicator\LoadingIndicator.xaml"
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
+ internal Server_Dashboard.Controls.LoadingIndicator control;
+
+ #line default
+ #line hidden
+
+ private bool _contentLoaded;
+
+ ///
+ /// InitializeComponent
+ ///
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "5.0.4.0")]
+ public void InitializeComponent() {
+ if (_contentLoaded) {
+ return;
+ }
+ _contentLoaded = true;
+ System.Uri resourceLocater = new System.Uri("/Server Dashboard;component/controls/loadingindicator/loadingindicator.xaml", System.UriKind.Relative);
+
+ #line 1 "..\..\..\..\..\Controls\LoadingIndicator\LoadingIndicator.xaml"
+ System.Windows.Application.LoadComponent(this, resourceLocater);
+
+ #line default
+ #line hidden
+ }
+
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "5.0.4.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")]
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
+ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
+ switch (connectionId)
+ {
+ case 1:
+ this.control = ((Server_Dashboard.Controls.LoadingIndicator)(target));
+ return;
+ }
+ this._contentLoaded = true;
+ }
+ }
+}
+
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/LoginWindow.baml b/Server Dashboard/obj/Debug/netcoreapp3.1/LoginWindow.baml
index 22f4d96..704f6ae 100644
Binary files a/Server Dashboard/obj/Debug/netcoreapp3.1/LoginWindow.baml and b/Server Dashboard/obj/Debug/netcoreapp3.1/LoginWindow.baml differ
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/LoginWindow.g.cs b/Server Dashboard/obj/Debug/netcoreapp3.1/LoginWindow.g.cs
index 89461a0..6294198 100644
--- a/Server Dashboard/obj/Debug/netcoreapp3.1/LoginWindow.g.cs
+++ b/Server Dashboard/obj/Debug/netcoreapp3.1/LoginWindow.g.cs
@@ -1,4 +1,4 @@
-#pragma checksum "..\..\..\LoginWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "DC5E405274889CDB3CDAE3C78BC0E5CCC83DDAB2"
+#pragma checksum "..\..\..\LoginWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "BC333A5F7B9E8D68E824FFFBFE4539E4AA85365F"
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
@@ -15,6 +15,7 @@ using Microsoft.Xaml.Behaviors.Input;
using Microsoft.Xaml.Behaviors.Layout;
using Microsoft.Xaml.Behaviors.Media;
using Server_Dashboard;
+using Server_Dashboard.Controls;
using System;
using System.Diagnostics;
using System.Windows;
@@ -47,7 +48,7 @@ namespace Server_Dashboard {
public partial class LoginWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
- #line 8 "..\..\..\LoginWindow.xaml"
+ #line 9 "..\..\..\LoginWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal Server_Dashboard.LoginWindow Login;
@@ -55,7 +56,7 @@ namespace Server_Dashboard {
#line hidden
- #line 124 "..\..\..\LoginWindow.xaml"
+ #line 130 "..\..\..\LoginWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox UserName;
@@ -63,7 +64,7 @@ namespace Server_Dashboard {
#line hidden
- #line 168 "..\..\..\LoginWindow.xaml"
+ #line 174 "..\..\..\LoginWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.PasswordBox Password;
@@ -71,7 +72,7 @@ namespace Server_Dashboard {
#line hidden
- #line 179 "..\..\..\LoginWindow.xaml"
+ #line 185 "..\..\..\LoginWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock PasswordHint;
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/LoginWindow.g.i.cs b/Server Dashboard/obj/Debug/netcoreapp3.1/LoginWindow.g.i.cs
index 89461a0..6294198 100644
--- a/Server Dashboard/obj/Debug/netcoreapp3.1/LoginWindow.g.i.cs
+++ b/Server Dashboard/obj/Debug/netcoreapp3.1/LoginWindow.g.i.cs
@@ -1,4 +1,4 @@
-#pragma checksum "..\..\..\LoginWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "DC5E405274889CDB3CDAE3C78BC0E5CCC83DDAB2"
+#pragma checksum "..\..\..\LoginWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "BC333A5F7B9E8D68E824FFFBFE4539E4AA85365F"
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
@@ -15,6 +15,7 @@ using Microsoft.Xaml.Behaviors.Input;
using Microsoft.Xaml.Behaviors.Layout;
using Microsoft.Xaml.Behaviors.Media;
using Server_Dashboard;
+using Server_Dashboard.Controls;
using System;
using System.Diagnostics;
using System.Windows;
@@ -47,7 +48,7 @@ namespace Server_Dashboard {
public partial class LoginWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
- #line 8 "..\..\..\LoginWindow.xaml"
+ #line 9 "..\..\..\LoginWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal Server_Dashboard.LoginWindow Login;
@@ -55,7 +56,7 @@ namespace Server_Dashboard {
#line hidden
- #line 124 "..\..\..\LoginWindow.xaml"
+ #line 130 "..\..\..\LoginWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBox UserName;
@@ -63,7 +64,7 @@ namespace Server_Dashboard {
#line hidden
- #line 168 "..\..\..\LoginWindow.xaml"
+ #line 174 "..\..\..\LoginWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.PasswordBox Password;
@@ -71,7 +72,7 @@ namespace Server_Dashboard {
#line hidden
- #line 179 "..\..\..\LoginWindow.xaml"
+ #line 185 "..\..\..\LoginWindow.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal System.Windows.Controls.TextBlock PasswordHint;
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.AssemblyInfo.cs b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.AssemblyInfo.cs
index 4c53231..d0b4791 100644
--- a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.AssemblyInfo.cs
+++ b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.AssemblyInfo.cs
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
//
-// Dieser Code wurde von einem Tool generiert.
-// Laufzeitversion:4.0.30319.42000
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
//
-// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
-// der Code erneut generiert wird.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
//
//------------------------------------------------------------------------------
@@ -19,5 +19,5 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyTitleAttribute("Server Dashboard")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
-// Von der MSBuild WriteCodeFragment-Klasse generiert.
+// Generated by the MSBuild WriteCodeFragment class.
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.csproj.CoreCompileInputs.cache b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.csproj.CoreCompileInputs.cache
index ae37e53..078a8b4 100644
--- a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.csproj.CoreCompileInputs.cache
+++ b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-b852d494999982b43c2f775a16d53a25a0a321b6
+175b43d009fc01852a21c7bd83bfe66423f7f332
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.csproj.FileListAbsolute.txt b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.csproj.FileListAbsolute.txt
index c84c936..074d854 100644
--- a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.csproj.FileListAbsolute.txt
+++ b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.csproj.FileListAbsolute.txt
@@ -54,3 +54,5 @@ C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\obj\Debug\netcor
C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\obj\Debug\netcoreapp3.1\Controls\DoubleRoundProgressBar\DoubleRoundProgressBar.baml
C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\bin\Debug\netcoreapp3.1\Server Dashboard Socket.dll
C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\bin\Debug\netcoreapp3.1\Server Dashboard Socket.pdb
+C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\obj\Debug\netcoreapp3.1\Controls\LoadingIndicator\LoadingIndicator.g.cs
+C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\obj\Debug\netcoreapp3.1\Controls\LoadingIndicator\LoadingIndicator.baml
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 4c23dfc..783e1fd 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 c0e4d0c..a20d72d 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.g.resources b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.g.resources
index 4614809..25ab54d 100644
Binary files a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.g.resources and b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.g.resources differ
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.pdb b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard.pdb
index 87faa06..34e65dd 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.cache b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.cache
index d800942..9063ce4 100644
--- a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.cache
+++ b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.cache
@@ -10,11 +10,11 @@ none
false
TRACE;DEBUG;NETCOREAPP;NETCOREAPP3_1;
C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\App.xaml
-7-211744036
+8-130641097
-27-1860005045
+28-605069555
2061472260849
-Controls\Dashboard\CRUD Popup\CreateModulePopup.xaml;Controls\DoubleRoundProgressBar\DoubleRoundProgressBar.xaml;Controls\HalfRoundProgressBar\HalfRoundProgressBar.xaml;Controls\ServerModules\ServerModule.xaml;LoginWindow.xaml;Views\DashboardPages\MainDashboardPage.xaml;Views\DashboardWindow.xaml;
+Controls\Dashboard\CRUD Popup\CreateModulePopup.xaml;Controls\DoubleRoundProgressBar\DoubleRoundProgressBar.xaml;Controls\HalfRoundProgressBar\HalfRoundProgressBar.xaml;Controls\LoadingIndicator\LoadingIndicator.xaml;Controls\ServerModules\ServerModule.xaml;LoginWindow.xaml;Views\DashboardPages\MainDashboardPage.xaml;Views\DashboardWindow.xaml;
False
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.i.cache b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.i.cache
index 59ff2d7..465d905 100644
--- a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.i.cache
+++ b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.i.cache
@@ -10,11 +10,11 @@ none
false
TRACE;DEBUG;NETCOREAPP;NETCOREAPP3_1;
C:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\App.xaml
-7-211744036
+8-130641097
-29835634981
+302090570471
2061472260849
-Controls\Dashboard\CRUD Popup\CreateModulePopup.xaml;Controls\DoubleRoundProgressBar\DoubleRoundProgressBar.xaml;Controls\HalfRoundProgressBar\HalfRoundProgressBar.xaml;Controls\ServerModules\ServerModule.xaml;LoginWindow.xaml;Views\DashboardPages\MainDashboardPage.xaml;Views\DashboardWindow.xaml;
+Controls\Dashboard\CRUD Popup\CreateModulePopup.xaml;Controls\DoubleRoundProgressBar\DoubleRoundProgressBar.xaml;Controls\HalfRoundProgressBar\HalfRoundProgressBar.xaml;Controls\LoadingIndicator\LoadingIndicator.xaml;Controls\ServerModules\ServerModule.xaml;LoginWindow.xaml;Views\DashboardPages\MainDashboardPage.xaml;Views\DashboardWindow.xaml;
-False
+True
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
new file mode 100644
index 0000000..04dfb39
--- /dev/null
+++ b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.i.lref
@@ -0,0 +1,4 @@
+
+
+FC:\Users\Crylia\Documents\Git\Server Dashboard\Server Dashboard\Controls\LoadingIndicator\LoadingIndicator.xaml;;
+
diff --git a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.lref b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.lref
index c0f13cf..5297b0e 100644
--- a/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.lref
+++ b/Server Dashboard/obj/Debug/netcoreapp3.1/Server Dashboard_MarkupCompile.lref
@@ -3,6 +3,7 @@ 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;;