diff --git a/ClientApp/App.xaml b/ClientApp/App.xaml
new file mode 100644
index 0000000..1400927
--- /dev/null
+++ b/ClientApp/App.xaml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ClientApp/App.xaml.cs b/ClientApp/App.xaml.cs
new file mode 100644
index 0000000..03d8e97
--- /dev/null
+++ b/ClientApp/App.xaml.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace ClientApp
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ }
+}
diff --git a/ClientApp/AssemblyInfo.cs b/ClientApp/AssemblyInfo.cs
new file mode 100644
index 0000000..8b5504e
--- /dev/null
+++ b/ClientApp/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
diff --git a/ClientApp/ClientApp.csproj b/ClientApp/ClientApp.csproj
new file mode 100644
index 0000000..c66ed7c
--- /dev/null
+++ b/ClientApp/ClientApp.csproj
@@ -0,0 +1,15 @@
+
+
+
+ WinExe
+ netcoreapp3.1
+ true
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ClientApp/FodyWeavers.xml b/ClientApp/FodyWeavers.xml
new file mode 100644
index 0000000..d5abfed
--- /dev/null
+++ b/ClientApp/FodyWeavers.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/ClientApp/FodyWeavers.xsd b/ClientApp/FodyWeavers.xsd
new file mode 100644
index 0000000..69dbe48
--- /dev/null
+++ b/ClientApp/FodyWeavers.xsd
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ Used to control if the On_PropertyName_Changed feature is enabled.
+
+
+
+
+ Used to control if the Dependent properties feature is enabled.
+
+
+
+
+ Used to control if the IsChanged property feature is enabled.
+
+
+
+
+ Used to change the name of the method that fires the notify event. This is a string that accepts multiple values in a comma separated form.
+
+
+
+
+ Used to control if equality checks should be inserted. If false, equality checking will be disabled for the project.
+
+
+
+
+ Used to control if equality checks should use the Equals method resolved from the base class.
+
+
+
+
+ Used to control if equality checks should use the static Equals method resolved from the base class.
+
+
+
+
+ Used to turn off build warnings from this weaver.
+
+
+
+
+ Used to turn off build warnings about mismatched On_PropertyName_Changed methods.
+
+
+
+
+
+
+
+ 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
+
+
+
+
+ A comma-separated list of error codes that can be safely ignored in assembly verification.
+
+
+
+
+ 'false' to turn off automatic generation of the XML Schema file.
+
+
+
+
+
\ No newline at end of file
diff --git a/ClientApp/Models/ClientInfo.cs b/ClientApp/Models/ClientInfo.cs
new file mode 100644
index 0000000..c048917
--- /dev/null
+++ b/ClientApp/Models/ClientInfo.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ClientApp.Utils;
+
+namespace ClientApp.Models
+{
+ class ClientInfo : ObservableObject
+ {
+ public string FirstName { get; set; }
+ public string LastName { get; set; }
+ }
+}
diff --git a/ClientApp/Utils/ObservableObject.cs b/ClientApp/Utils/ObservableObject.cs
new file mode 100644
index 0000000..3809fa1
--- /dev/null
+++ b/ClientApp/Utils/ObservableObject.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Text;
+
+namespace ClientApp.Utils
+{
+ public abstract class ObservableObject : INotifyPropertyChanged
+ {
+ public event PropertyChangedEventHandler PropertyChanged;
+ }
+}
diff --git a/ClientApp/ViewModels/LoginViewModel.cs b/ClientApp/ViewModels/LoginViewModel.cs
new file mode 100644
index 0000000..ad5b348
--- /dev/null
+++ b/ClientApp/ViewModels/LoginViewModel.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ClientApp.Utils;
+
+namespace ClientApp.ViewModels
+{
+ class LoginViewModel : ObservableObject
+ {
+ }
+}
diff --git a/ClientApp/ViewModels/MainViewModel.cs b/ClientApp/ViewModels/MainViewModel.cs
new file mode 100644
index 0000000..952439c
--- /dev/null
+++ b/ClientApp/ViewModels/MainViewModel.cs
@@ -0,0 +1,18 @@
+using ClientApp.Utils;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace ClientApp.ViewModels
+{
+ class MainViewModel : ObservableObject
+ {
+
+ public ObservableObject SelectedViewModel { get; set; }
+
+ public MainViewModel()
+ {
+ SelectedViewModel = new LoginViewModel();
+ }
+ }
+}
diff --git a/ClientApp/Views/LoginView.xaml b/ClientApp/Views/LoginView.xaml
new file mode 100644
index 0000000..a24b69c
--- /dev/null
+++ b/ClientApp/Views/LoginView.xaml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ClientApp/Views/LoginView.xaml.cs b/ClientApp/Views/LoginView.xaml.cs
new file mode 100644
index 0000000..f48d9de
--- /dev/null
+++ b/ClientApp/Views/LoginView.xaml.cs
@@ -0,0 +1,26 @@
+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 ClientApp.Views
+{
+ ///
+ /// Interaction logic for LoginView.xaml
+ ///
+ public partial class LoginView : UserControl
+ {
+ public LoginView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/ClientApp/Views/MainView.xaml b/ClientApp/Views/MainView.xaml
new file mode 100644
index 0000000..ab49d25
--- /dev/null
+++ b/ClientApp/Views/MainView.xaml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
diff --git a/ClientApp/Views/MainView.xaml.cs b/ClientApp/Views/MainView.xaml.cs
new file mode 100644
index 0000000..94161b9
--- /dev/null
+++ b/ClientApp/Views/MainView.xaml.cs
@@ -0,0 +1,27 @@
+using ClientApp.ViewModels;
+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 ClientApp.Views
+{
+ ///
+ /// Interaction logic for MainView.xaml
+ ///
+ public partial class MainView : UserControl
+ {
+ public MainView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/ClientApp/Views/MainWindow.xaml b/ClientApp/Views/MainWindow.xaml
new file mode 100644
index 0000000..7d6f23b
--- /dev/null
+++ b/ClientApp/Views/MainWindow.xaml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/ClientApp/Views/MainWindow.xaml.cs b/ClientApp/Views/MainWindow.xaml.cs
new file mode 100644
index 0000000..5e62f41
--- /dev/null
+++ b/ClientApp/Views/MainWindow.xaml.cs
@@ -0,0 +1,30 @@
+using ClientApp.ViewModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+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 ClientApp
+{
+ ///
+ /// Interaction logic for MainWindow.xaml
+ ///
+ public partial class MainWindow : Window
+ {
+ public MainWindow()
+ {
+ InitializeComponent();
+ DataContext = new MainViewModel();
+ }
+ }
+}
diff --git a/ProftaakRH/ProftaakRH.sln b/ProftaakRH/ProftaakRH.sln
index f05bff3..e2bf4ce 100644
--- a/ProftaakRH/ProftaakRH.sln
+++ b/ProftaakRH/ProftaakRH.sln
@@ -17,6 +17,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DokterApp", "..\DokterApp\D
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Hashing", "..\Hashing\Hashing.shproj", "{70277749-D423-4871-B692-2EFC5A6ED932}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClientApp", "..\ClientApp\ClientApp.csproj", "{013AADBA-1D27-4A52-81D8-217697E91039}"
+EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
..\Hashing\Hashing.projitems*{5759dd20-7a4f-4d8d-b986-a70a7818c112}*SharedItemsImports = 5
@@ -52,6 +54,10 @@ Global
{B150F08B-13DA-4D17-BD96-7E89F52727C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B150F08B-13DA-4D17-BD96-7E89F52727C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B150F08B-13DA-4D17-BD96-7E89F52727C6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {013AADBA-1D27-4A52-81D8-217697E91039}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {013AADBA-1D27-4A52-81D8-217697E91039}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {013AADBA-1D27-4A52-81D8-217697E91039}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {013AADBA-1D27-4A52-81D8-217697E91039}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE