aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Sites/ViewModels
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-12-07 02:18:31 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-12-07 02:18:31 +0200
commit0bd41535d72cf2e6c50267783bfd098ae5263d6e (patch)
treeb6c8cb638410dd7211d19ac63107d3377b640b59 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Sites/ViewModels
parente35b6606b820ad4bad1e4c23bcdcc091a10624bf (diff)
downloadTango-0bd41535d72cf2e6c50267783bfd098ae5263d6e.tar.gz
Tango-0bd41535d72cf2e6c50267783bfd098ae5263d6e.zip
Prevent site's organization change when causing machines => site <= organization discrepancy.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Sites/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Sites/ViewModels/SiteDetailsViewVM.cs6
1 files changed, 6 insertions, 0 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Sites/ViewModels/SiteDetailsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Sites/ViewModels/SiteDetailsViewVM.cs
index 92dd8273d..cacda1e8d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Sites/ViewModels/SiteDetailsViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Sites/ViewModels/SiteDetailsViewVM.cs
@@ -125,6 +125,12 @@ namespace Tango.MachineStudio.Sites.ViewModels
using (_notification.PushTaskItem("Saving site details..."))
{
+ //Check if site organization has changed and there are no machines that belongs to this site but different organization.
+ if (_db.Machines.Any(x => x.SiteGuid == Site.Guid && x.OrganizationGuid != Site.OrganizationGuid))
+ {
+ throw new InvalidOperationException($"One or more machines belongs to this site but not to '{Site.Organization.Name}' organization.");
+ }
+
//Remove site rmls.
Site.SitesRmls.ToList().Where(x => !Rmls.SynchedSource.ToList().Exists(y => y.Guid == x.RmlGuid)).ToList().ForEach(x => _db.SitesRmls.Remove(x));
Site.SitesCatalogs.ToList().Where(x => !Catalogs.SynchedSource.ToList().Exists(y => y.Guid == x.ColorCatalogGuid)).ToList().ForEach(x => _db.SitesCatalogs.Remove(x));