aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
diff options
context:
space:
mode:
authorRoy <roy.mail.net@gmail.com>2017-12-16 14:25:47 +0200
committerRoy <roy.mail.net@gmail.com>2017-12-16 14:25:47 +0200
commitb57f99763d0f53e4bda9afd47841e9245784c224 (patch)
treef39d8f861e37f7b853957120a35d3f1698a2c69b /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
parent5cc13a65395796698f1cbb9acb543cf9d3d3a44e (diff)
downloadTango-b57f99763d0f53e4bda9afd47841e9245784c224.tar.gz
Tango-b57f99763d0f53e4bda9afd47841e9245784c224.zip
Implemented login remember me.
Implemented database connection while loading screen + error handling.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs17
1 files changed, 16 insertions, 1 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
index 7d75d3805..6fe90fa99 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
@@ -7,6 +7,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.Core.Commands;
+using Tango.Core.Cryptography;
using Tango.MachineStudio.Common.Authentication;
using Tango.MachineStudio.Common.Navigation;
using Tango.MachineStudio.Common.Notifications;
@@ -20,6 +21,7 @@ namespace Tango.MachineStudio.UI.ViewModels
private IAuthenticationProvider _authenticationProvider;
private INavigationManager _navigationManager;
private INotificationProvider _notificationProvider;
+ private Rfc2898Cryptographer cryptographer;
private String _email;
[Required(ErrorMessage = "Email is required")]
@@ -30,6 +32,15 @@ namespace Tango.MachineStudio.UI.ViewModels
set { _email = value; RaisePropertyChangedAuto(); }
}
+ private bool _rememberMe;
+
+ public bool RememberMe
+ {
+ get { return _rememberMe; }
+ set { _rememberMe = value; RaisePropertyChangedAuto(); }
+ }
+
+
public RelayCommand<String> LoginCommand { get; set; }
public LoginViewVM(IAuthenticationProvider authenticationProvider, INavigationManager navigationManager, INotificationProvider notificationProvider)
@@ -39,7 +50,9 @@ namespace Tango.MachineStudio.UI.ViewModels
_authenticationProvider = authenticationProvider;
LoginCommand = new RelayCommand<String>(Login);
+ cryptographer = new Rfc2898Cryptographer();
Email = SettingsManager.Default.MachineStudio.LastLoginEmail;
+ RememberMe = SettingsManager.Default.MachineStudio.RememberMe;
}
private void Login(String password)
@@ -51,7 +64,9 @@ namespace Tango.MachineStudio.UI.ViewModels
_authenticationProvider.Login(Email, password);
_navigationManager.NavigateTo(NavigationView.MainView);
SettingsManager.Default.MachineStudio.LastLoginEmail = Email;
- SettingsManager.Default.MachineStudio.LastLoginPassword = password;
+ SettingsManager.Default.MachineStudio.RememberMe = RememberMe;
+
+ SettingsManager.Default.MachineStudio.LastLoginPassword = RememberMe ? cryptographer.Encrypt(password) : null;
SettingsManager.SaveDefaultSettings();
}
catch