diff options
Diffstat (limited to 'Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs')
| -rw-r--r-- | Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs index d1c5a8536..f0950af09 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs @@ -200,6 +200,21 @@ namespace Tango.PPC.Jobs.ViewModels /// </summary> public IAutoCompleteProvider TwineCatalogAutoCompleteProvider { get; set; } + /// <summary> + /// Gets or sets the coats catalog automatic complete provider. + /// </summary> + public IAutoCompleteProvider CoatsCatalogAutoCompleteProvider { get; set; } + + private List<ColorCatalog> _coatsCatalogItems; + /// <summary> + /// Gets or sets the coats catalog items. + /// </summary> + public List<ColorCatalog> CoatsCatalogItems + { + get { return _coatsCatalogItems; } + set { _coatsCatalogItems = value; RaisePropertyChangedAuto(); } + } + #endregion #region Commands @@ -255,6 +270,11 @@ namespace Tango.PPC.Jobs.ViewModels public RelayCommand<BrushStop> OpenTwineCatalogCommand { get; set; } /// <summary> + /// Gets or sets the open coats catalog command. + /// </summary> + public RelayCommand<BrushStop> OpenCoatsCatalogCommand { get; set; } + + /// <summary> /// Gets or sets the increase decrease samples to dye command. /// </summary> public RelayCommand<String> IncreaseDecreaseSamplesToDyeCommand { get; set; } @@ -338,6 +358,7 @@ namespace Tango.PPC.Jobs.ViewModels FineTuneItems = new ObservableCollection<FineTuneItem>(); ApprovalFineTuneItems = new ObservableCollection<FineTuneItem>(); TwineCatalogItems = new List<ColorCatalog>(); + CoatsCatalogItems = new List<ColorCatalog>(); CustomersAutoCompleteProvider = new AutoCompleteProvider<Customer>((customer, filter) => { @@ -350,6 +371,11 @@ namespace Tango.PPC.Jobs.ViewModels return !String.IsNullOrWhiteSpace(filter) && color.RmlGuid == Job.Rml.Guid && color.Name.ToLower().StartsWith(filter.ToLower()); }); + CoatsCatalogAutoCompleteProvider = new AutoCompleteProvider<ColorCatalog>((color, filter) => + { + return !String.IsNullOrWhiteSpace(filter) && color.RmlGuid == Job.Rml.Guid && color.Name.ToLower().StartsWith(filter.ToLower()); + }); + //Initialize Commands AddSolidSegmentCommand = new RelayCommand(() => AddSolidSegment()); AddBrushStopCommand = new RelayCommand<Segment>(AddBrushStop); @@ -393,6 +419,7 @@ namespace Tango.PPC.Jobs.ViewModels RepeatFineTuningCommand = new RelayCommand(RepeatFineTuning); ApproveFineTuningCommand = new RelayCommand(ApproveFineTuning); OpenTwineCatalogCommand = new RelayCommand<BrushStop>(OpenTwineCatalog); + OpenCoatsCatalogCommand = new RelayCommand<BrushStop>(OpenCoatsCatalog); ExportEmbroideryCommand = new RelayCommand(ExportEmbroidery); } @@ -448,6 +475,7 @@ namespace Tango.PPC.Jobs.ViewModels LogManager.Log("Loading Customers..."); Customers = await _db.Customers.Where(x => x.OrganizationGuid == MachineProvider.Machine.OrganizationGuid).ToListAsync(); TwineCatalogItems = await _db.ColorCatalogs.Where(x => x.RmlGuid == Job.Rml.Guid && x.ColorSpace.Code == (int)BL.Enumerations.ColorSpaces.Twine).OrderBy(x => x.Name).ToListAsync(); + CoatsCatalogItems = await _db.ColorCatalogs.Where(x => x.RmlGuid == Job.Rml.Guid && x.ColorSpace.Code == (int)BL.Enumerations.ColorSpaces.Coats).OrderBy(x => x.Name).ToListAsync(); foreach (var segment in Job.Segments) { @@ -610,13 +638,21 @@ namespace Tango.PPC.Jobs.ViewModels protected virtual async void OnRmlChanged(object sender, Rml rml) { TwineCatalogItems = await _db.ColorCatalogs.Where(x => x.RmlGuid == rml.Guid && x.ColorSpace.Code == (int)BL.Enumerations.ColorSpaces.Twine).OrderBy(x => x.Name).ToListAsync(); + CoatsCatalogItems = await _db.ColorCatalogs.Where(x => x.RmlGuid == rml.Guid && x.ColorSpace.Code == (int)BL.Enumerations.ColorSpaces.Coats).OrderBy(x => x.Name).ToListAsync(); - //Replace all brush stops color catalogs. + //Replace all brush stops twine color catalogs. foreach (var stop in Job.Segments.SelectMany(x => x.BrushStops).Where(x => x.ColorCatalog != null && x.BrushColorSpace == BL.Enumerations.ColorSpaces.Twine).ToList()) { var replacement = TwineCatalogItems.SingleOrDefault(x => x.Name == stop.ColorCatalog.Name); stop.ColorCatalog = replacement; } + + //Replace all brush stops coats color catalogs. + foreach (var stop in Job.Segments.SelectMany(x => x.BrushStops).Where(x => x.ColorCatalog != null && x.BrushColorSpace == BL.Enumerations.ColorSpaces.Coats).ToList()) + { + var replacement = CoatsCatalogItems.SingleOrDefault(x => x.Name == stop.ColorCatalog.Name); + stop.ColorCatalog = replacement; + } } #endregion @@ -888,6 +924,20 @@ namespace Tango.PPC.Jobs.ViewModels } } + private async void OpenCoatsCatalog(BrushStop stop) + { + var catalogItem = await NavigationManager.NavigateForResult<JobsModule, CoatsCatalogView, CatalogItem, TwineCatalogNavigationObject>(new TwineCatalogNavigationObject() + { + BrushStop = stop, + RML = Job.Rml, + }, true); + + if (catalogItem != null) + { + stop.ColorCatalog = CoatsCatalogItems.SingleOrDefault(x => x.Name == catalogItem.Entity.Name); + } + } + private void ArrangeBrushStopsIndices(Segment segment) { for (int i = 0; i < segment.BrushStops.Count; i++) |
