diff options
| author | Roy <Roy.mail.net@gmail.com> | 2022-09-12 05:58:56 +0300 |
|---|---|---|
| committer | Roy <Roy.mail.net@gmail.com> | 2022-09-12 05:58:56 +0300 |
| commit | 34cb4b4ffeebb27c579c58a81320fb974f366aed (patch) | |
| tree | 009714dd5ea346c3ee13a6e805397cf82875d51c /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels | |
| parent | b31c6f64122ea7fbcab951ab0980b9a0db75b41b (diff) | |
| parent | ea4957385f2d1a3da2a3a6f5e0db95ca624c8173 (diff) | |
| download | Tango-34cb4b4ffeebb27c579c58a81320fb974f366aed.tar.gz Tango-34cb4b4ffeebb27c579c58a81320fb974f366aed.zip | |
Added RML Extensions Washing properties.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels')
5 files changed, 217 insertions, 26 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorCalibrationViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorCalibrationViewVM.cs index 2144d05f5..01c3b2d4f 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorCalibrationViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorCalibrationViewVM.cs @@ -223,7 +223,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels /// <summary> /// Applies calibration points to RML. /// </summary> - private void ApplyToRML(object obj) + private async void ApplyToRML(object obj) { if(SelectedTab != null && ActiveRML != null) { @@ -232,7 +232,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels { IsFree = false; DateTime lastUpdated = DateTime.UtcNow; - var rml = new RmlBuilder(_active_context).Set(ActiveRML.Guid).WithLiquidFactors().Build(); + var rml = await new RmlBuilder(_active_context).Set(ActiveRML.Guid).WithLiquidFactors().BuildAsync(); if (rml != null) { var liquidTypesRmls = rml.LiquidTypesRmls; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorParametersVewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorParametersVewVM.cs index 2ab1f81f1..d784c69a9 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorParametersVewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/ColorParametersVewVM.cs @@ -209,7 +209,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels OnRMLExtensionGUIDChanged(); } } - + protected string _selectedMachineGuid; /// <summary> /// Gets or sets the selected machine. @@ -431,8 +431,8 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels _active_context = ObservablesContext.CreateDefault(); - await Task.Factory.StartNew(() => - { + await Task.Run(async () => + { using (_notification.PushTaskItem("Loading Color Process Parameters ...")) { @@ -441,6 +441,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels { SelectedColorProcessParameter = new ColorProcessParametersBuilder(_active_context).Set(currentcolorProcessParameter.Guid).WithColorProcessData().WithColorProcessFactor().WithColorProcessInkUptake().Build(); } + if (SelectedColorProcessParameter == null) { @@ -448,6 +449,8 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels SelectedColorProcessParameter.WhitePointL = 0.0; SelectedColorProcessParameter.WhitePointA = 0.0; SelectedColorProcessParameter.WhitePointB = 0.0; + + SelectedColorProcessParameter.ColorProcessFactors.Add(new ColorProcessFactor() { FactorColor = FactorColors.CYAN, FactorPercent = 100, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); SelectedColorProcessParameter.ColorProcessFactors.Add(new ColorProcessFactor() { FactorColor = FactorColors.MAGENTA, FactorPercent = 100, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); SelectedColorProcessParameter.ColorProcessFactors.Add(new ColorProcessFactor() { FactorColor = FactorColors.YELLOW, FactorPercent = 100, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); @@ -461,7 +464,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels SelectedColorProcessParameter.ColorProcessInkUptake.Add(new ColorProcessInkUptake() { InkUptakeZoneType = InkUptakeZoneTypes.MININKUPTAKEZONE2, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); SelectedColorProcessParameter.ColorProcessInkUptake.Add(new ColorProcessInkUptake() { InkUptakeZoneType = InkUptakeZoneTypes.MAXINKUPTAKEZONE2, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); _active_context.ColorProcessParameters.Add(SelectedColorProcessParameter); - _active_context.SaveChangesAsync(); + await _active_context.SaveChangesAsync(); } else if(SelectedColorProcessParameter.ColorProcessInkUptake.Count == 0) { @@ -470,7 +473,13 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels SelectedColorProcessParameter.ColorProcessInkUptake.Add(new ColorProcessInkUptake() { InkUptakeZoneType = InkUptakeZoneTypes.MININKUPTAKEZONE2, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); SelectedColorProcessParameter.ColorProcessInkUptake.Add(new ColorProcessInkUptake() { InkUptakeZoneType = InkUptakeZoneTypes.MAXINKUPTAKEZONE2, ColorProcessParametersGuid = SelectedColorProcessParameter.Guid }); } - + var rml = await new RmlBuilder(_active_context).Set(RMLGUID).BuildAsync(); + if (rml != null && SelectedColorProcessParameter != null) + { + SelectedColorProcessParameter.WhitePointL = rml.WhitePointL; + SelectedColorProcessParameter.WhitePointA = rml.WhitePointA; + SelectedColorProcessParameter.WhitePointB = rml.WhitePointB; + } } }); @@ -775,6 +784,13 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels IsFree = false; SelectedColorProcessParameter.LastUpdated = DateTime.UtcNow; + var rml = await new RmlBuilder(_active_context).Set(RMLGUID).BuildAsync(); + if (rml != null) + { + rml.WhitePointL = SelectedColorProcessParameter.WhitePointL; + rml.WhitePointA = SelectedColorProcessParameter.WhitePointA; + rml.WhitePointB = SelectedColorProcessParameter.WhitePointB; + } foreach (var item in RemovedColorProcessDataBeforeSave) { diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs index 164d37b74..458bc913a 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/MainViewVM.cs @@ -303,11 +303,66 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels set { - _machines = value; RaisePropertyChanged(nameof(Machines)); + _machines = value; + LoadFilteredMachines(); + RaisePropertyChanged(nameof(Machines)); } } + private ObservableCollection<MachineModel> _filteremachines; + /// <summary> + /// Gets or sets the Machines. + /// </summary> + public ObservableCollection<MachineModel> FilteredMachines + { + get + { + return _filteremachines; + } + + set + { + _filteremachines = value; RaisePropertyChanged(nameof(FilteredMachines)); + } + + } + + private bool _showWithData; + /// <summary> + /// Gets or sets the bool show with data only. + /// </summary> + public bool ShowWithData + { + get { return _showWithData; } + set { + if(_showWithData != value) + { + _showWithData = value; + RaisePropertyChangedAuto(); + LoadFilteredMachines(); + } + } + } + + private void LoadFilteredMachines() + { + if(_showWithData) + FilteredMachines = Machines.Where(x => x.HasRMLTest).OrderBy(x => x.LastUpdated).ToObservableCollection(); + else + { + FilteredMachines = Machines.OrderBy(x=>x.Name).ToObservableCollection(); + } + + } + + private bool _canEdit; + public bool CanEdit + { + get { return _canEdit; } + set { _canEdit = value; + RaisePropertyChangedAuto(); } + } //private MachineTestResultsTabs PreviosSelectedTab { get; set; } //private MachineTestResultsTabs _selectedTab; @@ -792,19 +847,14 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels #endregion - private bool _canEdit; - public bool CanEdit - { - get { return _canEdit; } - set { _canEdit = value; - RaisePropertyChangedAuto(); } - } + public MainViewVM(INotificationProvider notificationProvider, IAuthenticationProvider authentication, IActionLogManager actionLogManager) { _notification = notificationProvider; _authentication = authentication; _actionLogManager = actionLogManager; + _showWithData = false; BackToThreadExtensionViewsCommand = new RelayCommand(BackToThreadExtensionViews, () => IsFree); SaveCommand = new RelayCommand(Save, () => IsFree); @@ -853,7 +903,6 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels AddGlossLevelItemCommand = new RelayCommand(AddGlossLevelItem); EditGlossLevelItemCommand = new RelayCommand(EditGlossLevelItem); - } @@ -924,7 +973,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels } } - private void LoadRmlProperties() + private void LoadRmlProperties() { Applications = _active_context.YarnApplications.ToObservableCollection(); Brands = _active_context.YarnBrands.ToObservableCollection(); @@ -942,12 +991,16 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels Texturing = _active_context.YarnTexturings.ToObservableCollection(); YarnTypes = _active_context.YarnTypes.ToObservableCollection(); IndustrySector = _active_context.YarnIndustrysectors.ToObservableCollection(); - Machines = ObservablesStaticCollections.Instance.Machines.Select(x => new MachineModel() + + var machines = new MachinesCollectionBuilder(_active_context).SetAll().WithConfiguration().Build(); + Machines = machines.Select(x => new MachineModel() { Guid = x.Guid, Name = x.Name, SerialNumber = x.SerialNumber, - IdsPacks = x.Configuration.IdsPacks.Where(z => !z.IsEmpty) + IdsPacks = x.Configuration.IdsPacks.Where(z => !z.IsEmpty), + LastUpdated = x.LastUpdated, + HasRMLTest = false }).ToObservableCollection(); } @@ -1014,12 +1067,13 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels guid = rml_extention.Guid; } + + + ActiveRML = await new RmlBuilder(_active_context).Set(SelectedRMLExtension.RMLGuid).WithLiquidFactors().BuildAsync(); + ActiveRMLExtension = await new RmlExtensionsBuilder(_active_context) .Set(guid) - .WithUser() .BuildAsync(); - - ActiveRML = new RmlBuilder(_active_context).Set(SelectedRMLExtension.RMLGuid).WithLiquidFactors().Build(); if (!String.IsNullOrEmpty(ActiveRML.Manufacturer) && false == Manufacturers.Any(x => x == ActiveRML.Manufacturer)) { @@ -1028,6 +1082,17 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels Manufacturers.Add(ActiveRML.Manufacturer); } + //var colorProcessParameters = _active_context.ColorProcessParameters.Where(x => x.RmlsExtensionsGuid == guid).Select(x=>x.MachineGuid).ToList(); + //var TestResultsCollection = await new RMLExtensionTestResultsCollectionBuilder(_active_context).SetAll().ForRMLExtension(guid).BuildAsync(); + //var test1 = TestResultsCollection.Select(x => x.MachineGuid).ToList(); + //var ColorCalibration = await new RMLExtensionColorCalibrationBuilder(_active_context).SetAll().ForRMLExtension(guid).WithTests().BuildAsync(); + //var test12 = ColorCalibration.Where(x=>x.RmlExtensionColorCalibrationsTests!= null && x.RmlExtensionColorCalibrationsTests.Count() > 0).Select(x => x.MachineGuid).ToList(); + //var testResults = await new RMLExtensionColorShadeBuilder(_active_context).SetAll().ForRMLExtension(guid).WithTests().BuildAsync(); + //var test13 = testResults.Where(x => x.RmlExtensionColorShadesTests != null && x.RmlExtensionColorShadesTests.Count() > 0).Select(x => x.MachineGuid).ToList(); + + //var ulist = colorProcessParameters.Union(test1).Union(test12).Union(test13).ToList(); + + var machineIdsHasTest = (from c in _active_context.ColorProcessParameters.Where(x => x.RmlsExtensionsGuid == guid) select new { MichineGUID = c.MachineGuid }). Union(from p in _active_context.RmlExtensionTestResults.Where(x => x.RmlsExtensionsGuid == guid) @@ -1035,9 +1100,11 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels if (machineIdsHasTest.Count > 0) { + ShowWithData = true; var MachineGuid = machineIdsHasTest.First().MichineGUID; Machines.Where(x => machineIdsHasTest.Any(y => y.MichineGUID == x.Guid)).ToList().ForEach(x => x.HasRMLTest = true); - SelectedMachine = Machines.First(x => x.Guid == MachineGuid); + LoadFilteredMachines(); + SelectedMachine = FilteredMachines.First(); } else { diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultViewVM.cs index 68a886f99..624ee7216 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultViewVM.cs @@ -18,6 +18,7 @@ using Tango.Core.Commands; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.ThreadExtensions.Models; using Tango.SharedUI; +using System.Collections.ObjectModel; namespace Tango.MachineStudio.ThreadExtensions.ViewModels { @@ -66,6 +67,18 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels RaisePropertyChanged(nameof(TestResultsFiles)); } } + + private ObservableCollection<WashingMaterialColorModel> _colorsToMaterialCollection; + + public ObservableCollection<WashingMaterialColorModel> ColorsToMaterialCollection + { + get { return _colorsToMaterialCollection; } + set { _colorsToMaterialCollection = value; + RaisePropertyChangedAuto(); + } + } + + public List<RmlExtensionTestResultsFile> TestResultsFiles { @@ -91,6 +104,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels DownLoadFileCommand = new RelayCommand<RmlExtensionTestResultsFile>(DownLoadFile); DeleteCommand = new RelayCommand<RmlExtensionTestResultsFile>(DeleteFile); DownLoadAllCommand = new RelayCommand(DownLoadAllFiles); + } #region TestResultsFiles diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultsViewVM.cs index 8a75c526f..ba7ae7238 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultsViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultsViewVM.cs @@ -34,6 +34,10 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels public event EventHandler SaveTestResults; #region Properties + + public List<WashingTestMaterial> WashingTestMaterials { get; set; } + + private SynchronizedObservableCollection<RmlExtensionTestResult> _selectedTestResults; public SynchronizedObservableCollection<RmlExtensionTestResult> SelectedTestResults @@ -125,6 +129,20 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels } } + private ObservableCollection<BtsrApplicationType> _btsrApplicationTypes; + public ObservableCollection<BtsrApplicationType> BtsrApplicationTypes + { + get { return _btsrApplicationTypes; } + set { _btsrApplicationTypes = value; RaisePropertyChangedAuto(); } + } + + private ObservableCollection<BtsrYarnType> _btsrYarnTypes; + public ObservableCollection<BtsrYarnType> BtsrYarnTypes + { + get { return _btsrYarnTypes; } + set { _btsrYarnTypes = value; RaisePropertyChangedAuto(); } + } + #endregion #region Commands @@ -269,15 +287,26 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels } _active_context = ObservablesContext.CreateDefault(); ResultTabs.Clear(); - LogManager.Log("Loading selected test results..."); + + if(WashingTestMaterials == null) + WashingTestMaterials = _active_context.WashingTestMaterials.OrderBy(x=> x.Name).ToList(); + + LogManager.Log("Loading selected test results..."); using (_notification.PushTaskItem("Loading Test Results Parameters ...")) { - var testResults = await new RMLExtensionTestResultsCollectionBuilder(_active_context).SetAll().ForRMLExtension(RMLExtemtionGUID).ForMachine(SelectedMachineGUID).WithRubbingAndTensileResults().WithTestResultsFiles().BuildAsync(); + + BtsrApplicationTypes = _active_context.BtsrApplicationTypes.ToObservableCollection(); + + BtsrYarnTypes = _active_context.BtsrYarnTypes.ToObservableCollection(); + + var testResults = await new RMLExtensionTestResultsCollectionBuilder(_active_context).SetAll().ForRMLExtension(RMLExtemtionGUID).ForMachine(SelectedMachineGUID).WithRubbingAndTensileResults().WithTestResultsFiles().WithWashingTestResults().WithBtsrApplicationTypes().WithBtsrYarnTypes().BuildAsync(); SelectedTestResults = testResults.OrderBy(x => x.ResultIndex).ToSynchronizedObservableCollection(); foreach (var result in SelectedTestResults) { - ResultTabs.Add(new TestResultViewVM(_notification, _actionLogManager) { TestResult = result, ThreadName = ThreadName }); + var testResultViewVM = new TestResultViewVM(_notification, _actionLogManager) { TestResult = result, ThreadName = ThreadName }; + CreateWashingResult(testResultViewVM); + ResultTabs.Add(testResultViewVM); if (result.ResultIndex == 1) { SelectedTab = ResultTabs[ResultTabs.Count - 1]; @@ -324,9 +353,57 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels tensileresults.Add(new TensileResult() { RmlExtensionTestResultsGuid = newtab.TestResult.Guid, TestResultColor = TestResultColors.WHITE, ColorPercent = null }); newtab.TestResult.TensileResults = tensileresults; + CreateWashingResult(newtab); + + return newtab; } + private void CreateWashingResult(TestResultViewVM testresultViewVM) + { + if(testresultViewVM.TestResult.RmlExtensionTestWashingResults != null && testresultViewVM.TestResult.RmlExtensionTestWashingResults.Count > 0 ) + { + var collection = new ObservableCollection<WashingMaterialColorModel>(); + Dictionary<int, WashingMaterialColorModel> colorDictionary = new Dictionary<int, WashingMaterialColorModel>(); + List< RmlExtensionTestWashingResult > washingResultsOrdersByColor = testresultViewVM.TestResult.RmlExtensionTestWashingResults.OrderBy(x=>x.IndexRow).ThenBy(c => c.WashingTestMaterials != null ? c.WashingTestMaterials.Name : c.WashingTestMaterialsGuid).ToList(); + foreach (var res in washingResultsOrdersByColor) + { + WashingMaterialColorModel wmodel = null; + if(false == colorDictionary.TryGetValue(res.IndexRow, out wmodel)) + { + wmodel = new WashingMaterialColorModel() { Color = res.Color }; + colorDictionary.Add(res.IndexRow, wmodel); + collection.Add(wmodel); + } + wmodel.AddMaterial(res.Guid, res.GetMaterialName, res.WashingValue); + } + testresultViewVM.ColorsToMaterialCollection = collection; + } + else + { + var whashingresults = new SynchronizedObservableCollection<RmlExtensionTestWashingResult>(); + var collecction = new ObservableCollection<WashingMaterialColorModel>(); + for (int index_row = 0; index_row < 6; index_row++) + { + var model = new WashingMaterialColorModel() { Color = -1 }; + + foreach (var material in WashingTestMaterials) + { + var rmlExtensionTestWashingResult = new RmlExtensionTestWashingResult() { RmlExtensionTestResultsGuid = testresultViewVM.TestResult.Guid, WashingTestMaterialsGuid = material.Guid, Color = -1, IndexRow = index_row }; + model.AddMaterial(rmlExtensionTestWashingResult.Guid, material.Name, null); + rmlExtensionTestWashingResult.WashingTestMaterials = material; + whashingresults.Add(rmlExtensionTestWashingResult); + + } + collecction.Add( model); + } + testresultViewVM.ColorsToMaterialCollection = collecction; + + testresultViewVM.TestResult.RmlExtensionTestWashingResults = whashingresults; + } + } + + #endregion #region Save @@ -369,6 +446,22 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels } } + public void ApplyToWashingResults(TestResultViewVM testresultViewVM) + { + foreach ( var model in testresultViewVM.ColorsToMaterialCollection) + { + foreach( var colormodel in model.ColorValues) + { + var result = testresultViewVM.TestResult.RmlExtensionTestWashingResults.FirstOrDefault(x=> x.Guid == colormodel.RmlExtensionTestWashingResultGUID); + if( result != null) + { + result.Color = model.Color; + result.WashingValue = colormodel.ColorValue; + } + } + } + } + public async void Save() { if (String.IsNullOrEmpty(SelectedMachineGUID)) @@ -383,6 +476,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels { foreach (var tab in ResultTabs) { + ApplyToWashingResults(tab); tab.TestResult.LastUpdated = DateTime.UtcNow; } _active_context.SaveChanges(); |
