aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs
diff options
context:
space:
mode:
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);