diff options
| author | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2022-09-15 13:26:17 +0300 |
|---|---|---|
| committer | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2022-09-15 13:26:17 +0300 |
| commit | e2b0b25d6e0d307c154e478caad42c25dad9eabd (patch) | |
| tree | c118b162f4562647be2df54da2ada21b3100e0c8 /Software/Visual_Studio | |
| parent | 012d0255d261fb6ddacbce7cb4ef007786e91dff (diff) | |
| download | Tango-e2b0b25d6e0d307c154e478caad42c25dad9eabd.tar.gz Tango-e2b0b25d6e0d307c154e478caad42c25dad9eabd.zip | |
MS. Performance when open RML extensions. Bug during delete tab - remove objects before save.
Related Work Items: #7357
Diffstat (limited to 'Software/Visual_Studio')
4 files changed, 67 insertions, 71 deletions
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 /// <summary> /// Adds a new tab. /// </summary> - 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) { diff --git a/Software/Visual_Studio/Tango.BL/Builders/RMLExtensionTestResultsCollectionBuilder.cs b/Software/Visual_Studio/Tango.BL/Builders/RMLExtensionTestResultsCollectionBuilder.cs index a9aabdbdd..8accb9a90 100644 --- a/Software/Visual_Studio/Tango.BL/Builders/RMLExtensionTestResultsCollectionBuilder.cs +++ b/Software/Visual_Studio/Tango.BL/Builders/RMLExtensionTestResultsCollectionBuilder.cs @@ -15,27 +15,6 @@ namespace Tango.BL.Builders { } - public virtual RMLExtensionTestResultsCollectionBuilder WithRubbingAndTensileResults() - { - return AddStep(2, () => - { - foreach (var result in Entities.ToList()) - { - Context.RubbingResults.Where(x => x.RmlExtensionTestResultsGuid == result.Guid).OrderBy(x => x.Color).ToList(); - Context.TensileResults.Where(x => x.RmlExtensionTestResultsGuid == result.Guid).OrderByDescending(i => i.ColorPercent.HasValue).ThenBy(x => x.ColorPercent).ThenByDescending(x => x.Color).ToList(); - } - }); - } - public virtual RMLExtensionTestResultsCollectionBuilder WithTestResultsFiles() - { - return AddStep(3, () => - { - foreach (var result in Entities.ToList()) - { - Context.RmlExtensionTestResultsFiles.Where(x => x.RmlExtensionTestResultsGuid == result.Guid).OrderBy(x => x.FileName).ToList(); - } - }); - } public virtual RMLExtensionTestResultsCollectionBuilder ForRMLExtension(String rmlExtensionGUID) { return AddQueryStep(0, (query) => @@ -50,6 +29,7 @@ namespace Tango.BL.Builders } }); } + public virtual RMLExtensionTestResultsCollectionBuilder ForMachine(String machineGUID) { return AddQueryStep(1, (query) => @@ -65,9 +45,23 @@ namespace Tango.BL.Builders }); } + public virtual RMLExtensionTestResultsCollectionBuilder WithRubbingAndTensileResults() + { + return AddQueryStep(2, (query) => + { + return query.Include(x => x.RubbingResults).Include(x => x.TensileResults); ; + }); + + } + public virtual RMLExtensionTestResultsCollectionBuilder WithWashingTestResults() { - return AddStep(4, () => + return AddQueryStep(3, (query) => + { + return query.Include(x => x.RmlExtensionTestWashingResults);//.Include(x => x.RmlExtensionTestWashingResults.WashingTestMaterials); + }); + + /* return AddStep(4, () => { foreach (var result in Entities.ToList()) { @@ -78,30 +72,30 @@ namespace Tango.BL.Builders } } - }); + });*/ } public virtual RMLExtensionTestResultsCollectionBuilder WithBtsrApplicationTypes() { - return AddStep(5, () => + return AddQueryStep(4, (query) => { - foreach (var result in Entities.ToList()) - { - if(!String.IsNullOrEmpty(result.BtsrApplicationTypeGuid)) - result.BtsrApplicationType = Context.BtsrApplicationTypes.FirstOrDefault(x => x.Guid == result.BtsrApplicationTypeGuid); - } + return query.Include(x => x.BtsrApplicationType) ; }); } public virtual RMLExtensionTestResultsCollectionBuilder WithBtsrYarnTypes() { - return AddStep(6, () => + return AddQueryStep(5, (query) => { - foreach (var result in Entities.ToList()) - { - if (!String.IsNullOrEmpty(result.BtsrYarnTypeGuid)) - result.BtsrYarnType = Context.BtsrYarnTypes.FirstOrDefault(x => x.Guid == result.BtsrYarnTypeGuid); - } + return query.Include(x => x.BtsrYarnType); + }); + } + + public virtual RMLExtensionTestResultsCollectionBuilder WithTestResultsFiles() + { + return AddQueryStep(6, (query) => + { + return query.Include(x => x.RmlExtensionTestResultsFiles); }); } } diff --git a/Software/Visual_Studio/Tango.BL/Builders/machinesCollectionBuilder.cs b/Software/Visual_Studio/Tango.BL/Builders/machinesCollectionBuilder.cs index 25ca3e8f3..38d31feea 100644 --- a/Software/Visual_Studio/Tango.BL/Builders/machinesCollectionBuilder.cs +++ b/Software/Visual_Studio/Tango.BL/Builders/machinesCollectionBuilder.cs @@ -21,34 +21,21 @@ namespace Tango.BL.Builders { return query.Include(x => x.MachineVersion); }); - } public virtual MachinesCollectionBuilder WithOrganization() { - return AddStep(2, () => + return AddQueryStep(2, (query) => { - foreach (var machine in Entities.ToList()) - { - Context.Organizations.Where(x => x.Guid == machine.OrganizationGuid) - .Include(x => x.Address) - .Include(x => x.Contact).FirstOrDefault(); - } + return query.Include(x => x.Organization); }); } public virtual MachinesCollectionBuilder WithConfiguration() { - return AddStep(3, () => + return AddQueryStep(3, (query) => { - foreach (var machine in Entities.ToList()) - { - new ConfigurationBuilder(Context) - .Set(machine.ConfigurationGuid) - .WithIdsPacks() - .WithHardwareVersion() - .Build(); - } + return query.Include(x => x.Configuration).Include(x => x.Configuration.IdsPacks); }); } } |
