aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs
diff options
context:
space:
mode:
authorVictoria Plitt <Victoria.Plitt@twine-s.com>2019-12-04 12:11:21 +0200
committerVictoria Plitt <Victoria.Plitt@twine-s.com>2019-12-04 12:11:21 +0200
commit2e562cd2949b98a130b23772a0d6e8ba938c2cd9 (patch)
treeaa86b2225c6b761ab13c9f98e281b31384de729a /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs
parent8c443ef4dae0ff2e30846824e684063405b4755f (diff)
downloadTango-2e562cd2949b98a130b23772a0d6e8ba938c2cd9.tar.gz
Tango-2e562cd2949b98a130b23772a0d6e8ba938c2cd9.zip
Implemented deleted users handling on Machine Studio.
Started working on Dispenser Analyzer. Related Work Items: #1533
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs45
1 files changed, 43 insertions, 2 deletions
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<Role>(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);