From e2b0b25d6e0d307c154e478caad42c25dad9eabd Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Thu, 15 Sep 2022 13:26:17 +0300 Subject: MS. Performance when open RML extensions. Bug during delete tab - remove objects before save. Related Work Items: #7357 --- .../ViewModels/MainViewVM.cs | 21 +++++++------- .../ViewModels/TestResultsViewVM.cs | 32 ++++++++++++++++------ 2 files changed, 34 insertions(+), 19 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules') 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 458bc913a..686d95ccc 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 @@ -992,16 +992,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels YarnTypes = _active_context.YarnTypes.ToObservableCollection(); IndustrySector = _active_context.YarnIndustrysectors.ToObservableCollection(); - 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), - LastUpdated = x.LastUpdated, - HasRMLTest = false - }).ToObservableCollection(); + } @@ -1058,6 +1049,16 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels _active_context = ObservablesContext.CreateDefault(); LoadRmlProperties(); + var machines = await new MachinesCollectionBuilder(_active_context).SetAll().WithConfiguration().BuildListAsync(); + Machines = machines.Select(x => new MachineModel() + { + Guid = x.Guid, + Name = x.Name, + SerialNumber = x.SerialNumber, + IdsPacks = x.Configuration.IdsPacks.Where(z => !z.IsEmpty), + LastUpdated = x.LastUpdated, + HasRMLTest = false + }).ToObservableCollection(); if (guid == null) { 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 ba7ae7238..c63a34394 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 @@ -198,9 +198,13 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels _active_context.TensileResults.RemoveRange(tab.TestResult.TensileResults); tab.TestResult.TensileResults = null; - + + _active_context.RmlExtensionTestWashingResults.RemoveRange(tab.TestResult.RmlExtensionTestWashingResults); + tab.TestResult.RmlExtensionTestWashingResults = null; + _active_context.RmlExtensionTestResults.Remove(tab.TestResult); + ResultTabs.Remove(tab); SelectedTab = ResultTabs.LastOrDefault(); _active_context.SaveChanges(); @@ -211,7 +215,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels /// /// Adds a new tab. /// - private bool AddNewTab(String name = null) + private bool AddNewTab(String name = null) { if (ResultTabs.Count > 7) { @@ -226,11 +230,21 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels if (!String.IsNullOrWhiteSpace(name)) { - var tab = CreateNewTestResultVM(name, (ResultTabs.Count + 1)); - ResultTabs.Add(tab); - _active_context.RmlExtensionTestResults.Add(tab.TestResult); - SelectedTab = tab; - return true; + try + { + var tab = CreateNewTestResultVM(name, (ResultTabs.Count + 1)); + ResultTabs.Add(tab); + _active_context.RmlExtensionTestResults.Add(tab.TestResult); + _active_context.SaveChanges(); + SelectedTab = ResultTabs.FirstOrDefault(x=> x.TestResult.Guid == tab.TestResult.Guid); + + return true; + } + catch(Exception ex) + { + LogManager.Log(ex, $"Error add new Tab TestResults.\n{ex.FlattenMessage()}"); + return false; + } } else { @@ -472,7 +486,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels try { IsFree = false; - await Task.Factory.StartNew(() => + await Task.Run(() => { foreach (var tab in ResultTabs) { @@ -482,7 +496,7 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels _active_context.SaveChanges(); }); - // LoadTestResults(); + //LoadTestResults(); } catch (Exception ex) { -- cgit v1.3.1 From 723a9802023d335db5325f4af130877560857499 Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Thu, 15 Sep 2022 21:03:26 +0300 Subject: MS. RML Extension - save test results is failed when user add new machine. --- .../ViewModels/TestResultsViewVM.cs | 42 ++++++++++------------ 1 file changed, 19 insertions(+), 23 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules') 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 c63a34394..34ceb9ce8 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 @@ -234,8 +234,10 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels { var tab = CreateNewTestResultVM(name, (ResultTabs.Count + 1)); ResultTabs.Add(tab); + SelectedTestResults.Add(tab.TestResult); _active_context.RmlExtensionTestResults.Add(tab.TestResult); - _active_context.SaveChanges(); + + _active_context.SaveChanges(); SelectedTab = ResultTabs.FirstOrDefault(x=> x.TestResult.Guid == tab.TestResult.Guid); return true; @@ -288,31 +290,28 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels { if (String.IsNullOrEmpty(SelectedMachineGUID)) { - // _notification.ShowWarning(LogManager.Log($" Please, select machine.", LogCategory.Warning)); return; } try { IsFree = false; - if (_active_context != null) - { - _active_context.Dispose(); - } - _active_context = ObservablesContext.CreateDefault(); - ResultTabs.Clear(); - - if(WashingTestMaterials == null) - WashingTestMaterials = _active_context.WashingTestMaterials.OrderBy(x=> x.Name).ToList(); - LogManager.Log("Loading selected test results..."); + if (_active_context != null) + { + _active_context.Dispose(); + } + + _active_context = ObservablesContext.CreateDefault(); + ResultTabs.Clear(); + using (_notification.PushTaskItem("Loading Test Results Parameters ...")) { BtsrApplicationTypes = _active_context.BtsrApplicationTypes.ToObservableCollection(); - BtsrYarnTypes = _active_context.BtsrYarnTypes.ToObservableCollection(); + WashingTestMaterials = _active_context.WashingTestMaterials.OrderBy(x=> x.Name).ToList(); 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(); @@ -321,24 +320,20 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels var testResultViewVM = new TestResultViewVM(_notification, _actionLogManager) { TestResult = result, ThreadName = ThreadName }; CreateWashingResult(testResultViewVM); ResultTabs.Add(testResultViewVM); - if (result.ResultIndex == 1) - { - SelectedTab = ResultTabs[ResultTabs.Count - 1]; - } + } if (ResultTabs.Count == 0) { - SelectedTab = CreateNewTestResultVM("Untitled", 1); - ResultTabs.Add(SelectedTab); - _active_context.RmlExtensionTestResults.Add(SelectedTab.TestResult); - await _active_context.SaveChangesAsync(); + AddNewTab("Untitled"); } + if(ResultTabs.Count > 0) + SelectedTab = ResultTabs[ResultTabs.Count - 1]; } IsFree = true; } catch (Exception ex) { - LogManager.Log(ex, $"Error loading TestResults.\n{ex.FlattenMessage()}"); + LogManager.Log(ex, $"Error loading TestResults.\n{ex.FlattenMessage()}\n Inner Exception: {ex.InnerException.InnerException.ToString()}"); } finally { @@ -352,6 +347,8 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels newtab.TestResult = new RmlExtensionTestResult() { RmlsExtensionsGuid = RMLExtemtionGUID, MachineGuid = SelectedMachineGUID, ResultIndex = index, Name = name, BtsrMax = 0.0, BtsrMin = 0.0, DryerTemperature = 0, TunnelTemperature = 0, TunnelFlow = 0.0, TunnelAvgTemperature = 0.0, TensionHeadMax = 0.0, TensionHeadMin = 0.0, TensioinAfterDryerMax = 0.0, TensionAfterDryerMin = 0.0, TensionWinderMax = 0.0, TensionWinderMin = 0.0, PullerTensionMax = 0.0, PullerTensionMin = 0.0, ExitTensionMax = 0.0, ExitTensionMin = 0.0, SeverityZone1Max = 0.0, SeverityZone1Min = 0.0, SeverityZone2Max = 0.0, SeverityZone2Min = 0.0, RefLubVersion="", RefCof = 0.0, RefLub = 0.0, ThreadLubVersion = "", ThreadCof = 0.0, ThreadLub = 0.0, Conclusions="", Comment=""}; + + var rubbingresults = new SynchronizedObservableCollection(); rubbingresults.Add(new RubbingResult() { RmlExtensionTestResultsGuid = newtab.TestResult.Guid, TestResultColor = TestResultColors.CYAN }); rubbingresults.Add(new RubbingResult() { RmlExtensionTestResultsGuid = newtab.TestResult.Guid, TestResultColor = TestResultColors.MAGENTA }); @@ -407,7 +404,6 @@ namespace Tango.MachineStudio.ThreadExtensions.ViewModels model.AddMaterial(rmlExtensionTestWashingResult.Guid, material.Name, null); rmlExtensionTestWashingResult.WashingTestMaterials = material; whashingresults.Add(rmlExtensionTestWashingResult); - } collecction.Add( model); } -- cgit v1.3.1