aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultsViewVM.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultsViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/ViewModels/TestResultsViewVM.cs100
1 files changed, 97 insertions, 3 deletions
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();