aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules')
-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);