diff options
| author | Roy <roy.mail.net@gmail.com> | 2017-12-16 14:25:47 +0200 |
|---|---|---|
| committer | Roy <roy.mail.net@gmail.com> | 2017-12-16 14:25:47 +0200 |
| commit | b57f99763d0f53e4bda9afd47841e9245784c224 (patch) | |
| tree | f39d8f861e37f7b853957120a35d3f1698a2c69b /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs | |
| parent | 5cc13a65395796698f1cbb9acb543cf9d3d3a44e (diff) | |
| download | Tango-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.cs | 17 |
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 |
