aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs29
-rw-r--r--Software/Visual_Studio/Tango.BL/Builders/OrganizationBuilder.cs1
2 files changed, 30 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..9143f50a8 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,35 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels
{
if (_notification.ShowQuestion("Are you sure you want to remove " + SelectedOrganization.Name + " organization?"))
{
+
+ using (ObservablesContext db = ObservablesContext.CreateDefault())
+ {
+ var usersCount = db.Users.Count(x => x.OrganizationGuid == SelectedOrganization.Guid);
+
+ if (usersCount > 0)
+ {
+ _notification.ShowError($"The organization cannot be removed as it contains {usersCount} users.");
+ return;
+ }
+
+ var machinesCount = db.Machines.Count(x => x.OrganizationGuid == SelectedOrganization.Guid);
+
+ if (machinesCount > 0)
+ {
+ _notification.ShowError($"The organization cannot be removed as it contains {machinesCount} machines.");
+ return;
+ }
+
+ var sitesCount = db.Sites.Count(x => x.OrganizationGuid == SelectedOrganization.Guid);
+
+ if (sitesCount > 0)
+ {
+ _notification.ShowError($"The organization cannot be removed as it contains {sitesCount} sites.");
+ return;
+ }
+ }
+
+
using (_notification.PushTaskItem("Removing organization..."))
{
await SelectedOrganization.DeleteCascadeAsync(_organizationsContext);
diff --git a/Software/Visual_Studio/Tango.BL/Builders/OrganizationBuilder.cs b/Software/Visual_Studio/Tango.BL/Builders/OrganizationBuilder.cs
index 3b4dbb28a..81712542f 100644
--- a/Software/Visual_Studio/Tango.BL/Builders/OrganizationBuilder.cs
+++ b/Software/Visual_Studio/Tango.BL/Builders/OrganizationBuilder.cs
@@ -34,5 +34,6 @@ namespace Tango.BL.Builders
.Include(x => x.UsersRoles).ToSynchronizedObservableCollection();
});
}
+
}
}