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>2021-01-17 12:36:39 +0200
committerVictoria Plitt <Victoria.Plitt@twine-s.com>2021-01-17 12:36:39 +0200
commit18e79aebd6cb8269b31520ddbc93aaf0aa4b4591 (patch)
tree1ae55116258f27e7679491a6c91b4cba0c0a53aa /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs
parent38d2b46c7ca963a31ee43ae5bb1623dca2bc3e7c (diff)
downloadTango-18e79aebd6cb8269b31520ddbc93aaf0aa4b4591.tar.gz
Tango-18e79aebd6cb8269b31520ddbc93aaf0aa4b4591.zip
MS. Display the proper error message when trying to delete Organization. Item 4510.
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.cs22
1 files changed, 22 insertions, 0 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 16395d6bc..75e4af225 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
@@ -205,6 +205,28 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels
{
if (_notification.ShowQuestion("Are you sure you want to remove " + SelectedOrganization.Name + " organization?"))
{
+ Organization selectedToRemoveOrganization = null;
+ await Task.Factory.StartNew(() =>
+ {
+ _manageContext = ObservablesContext.CreateDefault();
+ selectedToRemoveOrganization = new OrganizationBuilder(_manageContext).Set(SelectedOrganization.Guid).WithUsers(true).WithMachines().WithSites().Build();
+ });
+ if (selectedToRemoveOrganization != null && selectedToRemoveOrganization.Machines.Count > 0)
+ {
+ _notification.ShowError("The organization cannot be removed as it contains Machines.");
+ return;
+ }
+ if (selectedToRemoveOrganization != null && selectedToRemoveOrganization.Sites.Count > 0)
+ {
+ _notification.ShowError("The organization cannot be removed as it contains Sites.");
+ return;
+ }
+ if (selectedToRemoveOrganization != null && selectedToRemoveOrganization.Users.Count(x => x.OrganizationGuid == SelectedOrganization.Guid && x.Deleted == false) > 0)
+ {
+ _notification.ShowError("The organization cannot be removed as it contains active users.");
+ return;
+ }
+
using (_notification.PushTaskItem("Removing organization..."))
{
await SelectedOrganization.DeleteCascadeAsync(_organizationsContext);