From 2e562cd2949b98a130b23772a0d6e8ba938c2cd9 Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Wed, 4 Dec 2019 12:11:21 +0200 Subject: Implemented deleted users handling on Machine Studio. Started working on Dispenser Analyzer. Related Work Items: #1533 --- .../ViewModels/MainViewVM.cs | 45 +++++++++++++++++++++- .../Views/OrganizationManagementView.xaml | 26 +++++++++++++ .../Views/UserManagementView.xaml | 10 ++++- 3 files changed, 78 insertions(+), 3 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs index a46d5f456..f7f6d1d3d 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs @@ -104,6 +104,21 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels } } } + + private bool _showDeleted; + public bool ShowDeleted + { + get { return _showDeleted; } + set + { + _showDeleted = value; + if(_showDeleted) + { + //ShowDeletedUsers(); + } + } + } + public RelayCommand ManageOrganizationCommand { get; set; } @@ -123,6 +138,8 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels public RelayCommand SaveManagedUserCommand { get; set; } + public RelayCommand RestoreAndSaveManagedUserCommand { get; set; } + public RelayCommand AddUserCommand { get; set; } public RelayCommand RemoveUserCommand { get; set; } @@ -141,8 +158,10 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels BackToManagedOrganizationCommand = new RelayCommand(BackToManagedOrganization); RemoveRoleCommand = new RelayCommand(RemoveUserRole); SaveManagedUserCommand = new RelayCommand(SaveManagedUser); + RestoreAndSaveManagedUserCommand = new RelayCommand(RestoreAndSaveManagedUser); AddUserCommand = new RelayCommand(AddNewUser); RemoveUserCommand = new RelayCommand(RemoveSelectedUser, () => SelectedUser != null); + _showDeleted = false; } public override void OnApplicationReady() @@ -202,7 +221,7 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels _userContext = ObservablesContext.CreateDefault(); Roles = new RolesCollectionBuilder(_userContext).SetAll().WithPermission().Build(); - ManagedUser = new UserBuilder(_userContext).Set(SelectedUser.Guid).WithRolesAndPermissions().Build(); + ManagedUser = new UserBuilder(_userContext).WithDeleted().Set(SelectedUser.Guid).WithRolesAndPermissions().Build(); ManagedUserRoles = ManagedUser.Roles.ToObservableCollection(); }); @@ -249,6 +268,28 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels } } + private async void RestoreAndSaveManagedUser() + { + try + { + ManagedUser.Validate(_userContext); + } + catch (Exception ex) + { + _notification.ShowError(ex.Message); + return; + } + if (_notification.ShowQuestion("Are you sure you wish to re-activate this account?")) + { + using (_notification.PushTaskItem("Saving user details...")) + { + ManagedUser.Deleted = false; + await ManagedUser.SaveAsync(_userContext); + LoadSelectedOrganization(); + } + } + } + private async void LoadSelectedOrganization() { using (_notification.PushTaskItem("Loading organization...")) @@ -257,7 +298,7 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels { _manageContext = ObservablesContext.CreateDefault(); - ManagedOrganization = new OrganizationBuilder(_manageContext).Set(SelectedOrganization.Guid).WithUsers().Build(); + ManagedOrganization = new OrganizationBuilder(_manageContext).Set(SelectedOrganization.Guid).WithUsers(true).Build(); }); _navigation.NavigateTo(UsersAndRolesNavigationView.OrganizationManagementView); diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Views/OrganizationManagementView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Views/OrganizationManagementView.xaml index d5a5d41d7..1572923a6 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Views/OrganizationManagementView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Views/OrganizationManagementView.xaml @@ -82,6 +82,10 @@ + + + + + -- cgit v1.3.1