From bab9f04ae0f251acdb759e72fb54d84d042c533e Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Mon, 1 Nov 2021 19:44:34 +0200 Subject: Added Ha Amma spool support via sites. --- .../ViewModels/SiteDetailsViewVM.cs | 24 ++++++++++++++++++++++ .../Views/SiteDetailsView.xaml | 24 ++++++++++++++++++++-- 2 files changed, 46 insertions(+), 2 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio') 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 cacda1e8d..02c9f4346 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 @@ -63,6 +63,14 @@ namespace Tango.MachineStudio.Sites.ViewModels set { _machines = value; RaisePropertyChangedAuto(); } } + private SelectedObjectCollection _spoolTypes; + public SelectedObjectCollection SpoolTypes + { + get { return _spoolTypes; } + set { _spoolTypes = value; RaisePropertyChangedAuto(); } + } + + public RelayCommand SaveCommand { get; set; } public SiteDetailsViewVM() @@ -97,6 +105,7 @@ namespace Tango.MachineStudio.Sites.ViewModels .WithSiteRmls() .WithRmls() .WithOrganization() + .WithSpoolTypes() .BuildAsync(); } @@ -104,9 +113,18 @@ namespace Tango.MachineStudio.Sites.ViewModels var rmls = await _db.Rmls.OrderBy(x => x.Name).ToListAsync(); var catalogs = await _db.ColorCatalogs.OrderBy(x => x.Name).ToListAsync(); + var spoolTypes = await _db.SpoolTypes.OrderBy(x => x.LastUpdated).ToListAsync(); Rmls = new SelectedObjectCollection(rmls.ToObservableCollection(), Site.SitesRmls.Select(x => x.Rml).ToObservableCollection()); Catalogs = new SelectedObjectCollection(catalogs.ToObservableCollection(), Site.SitesCatalogs.Select(x => x.ColorCatalog).ToObservableCollection()); + SpoolTypes = new SelectedObjectCollection(spoolTypes.ToObservableCollection(), Site.SitesSpoolTypes.Select(x => x.SpoolType).ToObservableCollection()); + + var standardSpool = SpoolTypes.FirstOrDefault(x => x.Data.Name == "Standard Spool"); + if (standardSpool != null) + { + standardSpool.IsEnabled = false; + standardSpool.IsSelected = true; + } _siteBeforeSave = SiteDTO.FromObservable(Site); } @@ -134,6 +152,7 @@ namespace Tango.MachineStudio.Sites.ViewModels //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)); + Site.SitesSpoolTypes.ToList().Where(x => !SpoolTypes.SynchedSource.ToList().Exists(y => y.Guid == x.SpoolTypeGuid)).ToList().ForEach(x => _db.SitesSpoolTypes.Remove(x)); foreach (var selectedRml in Rmls.SynchedSource.Where(x => !Site.SitesRmls.ToList().Exists(y => y.RmlGuid == x.Guid))) { @@ -145,6 +164,11 @@ namespace Tango.MachineStudio.Sites.ViewModels _db.SitesCatalogs.Add(new SitesCatalog() { SiteGuid = Site.Guid, ColorCatalogGuid = selectedCatalog.Guid }); } + foreach (var selectedSpoolType in SpoolTypes.SynchedSource.Where(x => !Site.SitesSpoolTypes.ToList().Exists(y => y.SpoolTypeGuid == x.Guid))) + { + _db.SitesSpoolTypes.Add(new SitesSpoolType() { SiteGuid = Site.Guid, SpoolTypeGuid = selectedSpoolType.Guid }); + } + await _db.SaveChangesAsync(); if (_isNew) diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Sites/Views/SiteDetailsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Sites/Views/SiteDetailsView.xaml index 182f05be0..b4da6f35c 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Sites/Views/SiteDetailsView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Sites/Views/SiteDetailsView.xaml @@ -109,9 +109,9 @@ + - SITE RML @@ -131,7 +131,6 @@ - @@ -151,6 +150,27 @@ + SITE SPOOL TYPES + + + + + + + + + + + + + + + + + + + + -- cgit v1.3.1