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 | |
| parent | b31c6f64122ea7fbcab951ab0980b9a0db75b41b (diff) | |
| parent | ea4957385f2d1a3da2a3a6f5e0db95ca624c8173 (diff) | |
| download | Tango-34cb4b4ffeebb27c579c58a81320fb974f366aed.tar.gz Tango-34cb4b4ffeebb27c579c58a81320fb974f366aed.zip | |
Added RML Extensions Washing properties.
Diffstat (limited to 'Software')
44 files changed, 2602 insertions, 395 deletions
diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf Binary files differindex 38fb1c20a..652d19947 100644 --- a/Software/DB/Tango.mdf +++ b/Software/DB/Tango.mdf diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf Binary files differindex e3164f427..fffed8a1d 100644 --- a/Software/DB/Tango_log.ldf +++ b/Software/DB/Tango_log.ldf diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/ColorCalibrationViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/ColorCalibrationViewVM.cs index 30e17d6db..feee2637a 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/ColorCalibrationViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/ColorCalibrationViewVM.cs @@ -100,9 +100,9 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels } - private void OnChangeSelectedRML() + private async void OnChangeSelectedRML() { - Invalidate(); + await Invalidate(); } #region RML @@ -113,7 +113,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels { IsFree = false; - await Task.Factory.StartNew(() => + await Task.Run(() => { using (_notification.PushTaskItem("Loading RML data...")) { diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs index c2b00fe92..bac5f62b8 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/MachineModel.cs @@ -26,6 +26,17 @@ namespace Tango.MachineStudio.ThreadExtensions.Models } } + private DateTime _lastUpdated; + /// <summary> + /// Gets or sets the entity last updated data and time. + /// </summary> + public DateTime LastUpdated + { + get { return _lastUpdated; } + set { _lastUpdated = value; + RaisePropertyChanged(nameof(LastUpdated)); } + } + private bool _hasRMLTest; public bool HasRMLTest diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/WashingMaterialColorModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/WashingMaterialColorModel.cs new file mode 100644 index 000000000..868ce1d58 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Models/WashingMaterialColorModel.cs @@ -0,0 +1,255 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Core; + +namespace Tango.MachineStudio.ThreadExtensions.Models +{ + public class WashingMaterialColorModel : ExtendedObject + { + public class MaterialColorValueModel: ExtendedObject + { + private string _materialName; + + public string MaterialName + { + get { return _materialName; } + set + { + _materialName = value; + RaisePropertyChangedAuto(); + } + } + + private double? _colorValue; + + public double? ColorValue + { + get { return _colorValue; } + set { + _colorValue= value; + RaisePropertyChangedAuto(); + } + } + + public string RmlExtensionTestWashingResultGUID { get; set; } + } + + private int _index; + + public int Index + { + get { return _index; } + set { _index = value; } + } + + private int _color; + + public int Color + { + get { return _color; } + set + { + _color = value; + RaisePropertyChangedAuto(); + } + } + + private List<MaterialColorValueModel> _colorValues; + + public List<MaterialColorValueModel> ColorValues + { + get { return _colorValues; } + set { _colorValues = value; + RaisePropertyChangedAuto(); } + } + + + public double? WashingValue1 + { + get { + if (ColorValues.Count >= 1) + return ColorValues[0].ColorValue; + return null; + } + set { + if (ColorValues.Count >= 1) + ColorValues[0].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public double? WashingValue2 + { + get + { + if (ColorValues.Count > 1) + return ColorValues[1].ColorValue; + return null; + } + set + { + if (ColorValues.Count > 1) + ColorValues[1].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public double? WashingValue3 + { + get + { + if (ColorValues.Count > 2) + return ColorValues[2].ColorValue; + return null; + } + set + { + if (ColorValues.Count > 2) + ColorValues[2].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public double? WashingValue4 + { + get + { + if (ColorValues.Count > 3) + return ColorValues[3].ColorValue; + return null; + } + set + { + if (ColorValues.Count > 3) + ColorValues[3].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public double? WashingValue5 + { + get + { + if (ColorValues.Count > 4) + return ColorValues[4].ColorValue; + return null; + } + set + { + if (ColorValues.Count > 4) + ColorValues[4].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public double? WashingValue6 + { + get + { + if (ColorValues.Count > 5) + return ColorValues[5].ColorValue; + return null; + } + set + { + if (ColorValues.Count > 5) + ColorValues[5].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public double? WashingValue7 + { + get + { + if (ColorValues.Count > 6) + return ColorValues[6].ColorValue; + return null; + } + set + { + if (ColorValues.Count > 6) + ColorValues[6].ColorValue = value; + RaisePropertyChangedAuto(); + } + } + + public string Header1 + { + get + { + if (ColorValues.Count >= 1) + return ColorValues[0].MaterialName; + return null; + } + } + public string Header2 + { + get + { + if (ColorValues.Count > 1) + return ColorValues[1].MaterialName; + return null; + } + } + public string Header3 + { + get + { + if (ColorValues.Count > 2) + return ColorValues[2].MaterialName; + return null; + } + } + public string Header4 + { + get + { + if (ColorValues.Count > 3) + return ColorValues[3].MaterialName; + return null; + } + } + public string Header5 + { + get + { + if (ColorValues.Count > 4) + return ColorValues[4].MaterialName; + return null; + } + } + public string Header6 + { + get + { + if (ColorValues.Count > 5) + return ColorValues[5].MaterialName; + return null; + } + } + public string Header7 + { + get + { + if (ColorValues.Count > 6) + return ColorValues[6].MaterialName; + return null; + } + } + + public WashingMaterialColorModel() + { + ColorValues = new List<MaterialColorValueModel>(); + } + + public void AddMaterial(string rmlExtensionTestWashingResultGuid, string materialName, double? colorValue) + { + ColorValues.Add(new MaterialColorValueModel(){ MaterialName = materialName, ColorValue = colorValue, RmlExtensionTestWashingResultGUID = rmlExtensionTestWashingResultGuid}); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Tango.MachineStudio.ThreadExtensions.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Tango.MachineStudio.ThreadExtensions.csproj index f8d6419f6..000ab221a 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Tango.MachineStudio.ThreadExtensions.csproj +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Tango.MachineStudio.ThreadExtensions.csproj @@ -117,6 +117,7 @@ <Compile Include="Excel\TestResultsExcelModel.cs" /> <Compile Include="Excel\ThreadCharacteristicsExelModel.cs" /> <Compile Include="Models\UserModel.cs" /> + <Compile Include="Models\WashingMaterialColorModel.cs" /> <Compile Include="ViewModelLocator.cs" /> <Compile Include="ViewModels\AddItemDialogVM.cs" /> <Compile Include="ViewModels\CalibrationDataVM.cs" /> @@ -258,6 +259,10 @@ <Project>{b60c695c-61e8-4091-b506-4c45349c04aa}</Project> <Name>Tango.ColorCalibration</Name> </ProjectReference> + <ProjectReference Include="..\..\..\Tango.ColorPicker\Tango.ColorPicker.csproj"> + <Project>{a2f5af44-29ff-45d6-9d25-ecda5cce88b5}</Project> + <Name>Tango.ColorPicker</Name> + </ProjectReference> <ProjectReference Include="..\..\..\Tango.Core\Tango.Core.csproj"> <Project>{a34ee0f0-649d-41c8-8489-b6f1cc6924ee}</Project> <Name>Tango.Core</Name> 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(); diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/ColorParametersView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/ColorParametersView.xaml index 504bf0610..376392d89 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/ColorParametersView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/ColorParametersView.xaml @@ -335,13 +335,13 @@ <TextBlock FontSize="12" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10 0 0 0" Foreground="{StaticResource GrayBrush200}">White point</TextBlock> </Border> <Border BorderThickness="1 1 0 0" Background="Transparent" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown Minimum="-500" Maximum="500" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" Value="{Binding Path=DataContext.ActiveRML.WhitePointL, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + <mahapps:NumericUpDown Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" Value="{Binding Path= WhitePointL, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> </Border> <Border BorderThickness="1 1 0 0" Background="Transparent" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown Minimum="-500" Maximum="500" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" Value="{Binding Path=DataContext.ActiveRML.WhitePointA,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + <mahapps:NumericUpDown Minimum="-128" Maximum="127" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" Value="{Binding Path= WhitePointA,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> </Border> <Border BorderThickness="1 1 0 0" Background="Transparent" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown Minimum="-500" Maximum="500" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" Value="{Binding Path=DataContext.ActiveRML.WhitePointB,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + <mahapps:NumericUpDown Minimum="-128" Maximum="127" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HasDecimals="True" HorizontalContentAlignment="Left" Value="{Binding Path=WhitePointB,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> </Border> </UniformGrid> </Border> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/MachineTestResultsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/MachineTestResultsView.xaml index 820c68715..4a0839164 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/MachineTestResultsView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/MachineTestResultsView.xaml @@ -24,9 +24,13 @@ <Grid> <DockPanel> <StackPanel Orientation="Horizontal" DockPanel.Dock="Top"> - <TextBlock Margin="40 10" FontSize="20" FontWeight="SemiBold" FontStyle="Italic">TARGET MACHINE</TextBlock> + <StackPanel Margin="40 10"> + <TextBlock FontSize="20" FontWeight="SemiBold" FontStyle="Italic">TARGET MACHINE</TextBlock> + <CheckBox Margin="0 10" IsChecked="{Binding ShowWithData}" >Show machines with data only</CheckBox> + </StackPanel> - <controls:SearchComboBox FontSize="20" SelectedItem="{Binding SelectedMachine,Mode=TwoWay}" materialDesign:HintAssist.Hint="Serial Number" Width="280" HorizontalContentAlignment="Stretch" SearchProperty="Name" ItemsSource="{Binding Machines}"> + + <controls:SearchComboBox FontSize="20" SelectedItem="{Binding SelectedMachine,Mode=TwoWay}" materialDesign:HintAssist.Hint="Serial Number" Width="280" HorizontalContentAlignment="Stretch" SearchProperty="Name" ItemsSource="{Binding FilteredMachines}" > <controls:SearchComboBox.ItemTemplate> <DataTemplate> <StackPanel> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml index f6262b52d..4ebc9077b 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml @@ -12,10 +12,12 @@ xmlns:localconverters="clr-namespace:Tango.MachineStudio.ThreadExtensions.Converters" xmlns:global="clr-namespace:Tango.MachineStudio.ThreadExtensions" xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls" + xmlns:colorPicker="clr-namespace:Tango;assembly=Tango.ColorPicker" + xmlns:components="clr-namespace:Tango.SharedUI.Components;assembly=Tango.SharedUI" xmlns:autoComplete="clr-namespace:Tango.AutoComplete.Editors;assembly=Tango.AutoComplete" xmlns:fa="http://schemas.fontawesome.io/icons/" mc:Ignorable="d" - d:DesignHeight="950" d:DesignWidth="1200" Background="Transparent" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}" FontSize="16"> + d:DesignHeight="950" d:DesignWidth="1200" Background="Transparent" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}" FontSize="14"> <UserControl.Resources> @@ -23,7 +25,8 @@ <localconverters:ColorWithPercentToBrushConverter x:Key="ColorWithPercentToBrushConverter"/> <converters:EnumToDescriptionConverter x:Key="EnumToDescriptionConverter" /> <autoCompleteMachine:MachinesProvider x:Key="MachinesProvider" /> - + <converters:ColorToIntegerConverter x:Key="ColorToIntegerConverter" /> + <Style TargetType="{x:Type ListBoxItem}" x:Key="basicListBoxItem"> <Setter Property="Background" Value="Transparent"/> @@ -156,6 +159,8 @@ </Setter> </Style> + + </UserControl.Resources> <Grid DataContext="{Binding TestResultsViewVM}"> <!--<Grid.RowDefinitions> @@ -169,7 +174,7 @@ <RowDefinition Height="1*"/> </Grid.RowDefinitions> - <StackPanel Orientation="Horizontal" Margin="35 0 0 0"> + <StackPanel x:Name="TabControlbuttons" Orientation="Horizontal" Margin="35 0 0 0"> <ListBox Style="{x:Null}" HorizontalAlignment="Left" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" ItemContainerStyle="{StaticResource basicListBoxItem}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" Background="Transparent" BorderThickness="0" ItemsSource="{Binding ResultTabs}" SelectedItem="{Binding SelectedTab}"> <ListBox.ItemsPanel> <ItemsPanelTemplate> @@ -244,10 +249,7 @@ </ItemsControl> <Grid Grid.Column="0" MinWidth="600" HorizontalAlignment="Left" > - <Grid.RowDefinitions> - <RowDefinition Height="3*"/> - <RowDefinition Height="1*"/> - </Grid.RowDefinitions> + <Grid.ColumnDefinitions> <ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/> @@ -255,70 +257,155 @@ <Border Padding="10 10 20 10" Grid.ColumnSpan="2" Grid.Row="0" BorderBrush="Transparent" BorderThickness="1" > <ScrollViewer VerticalScrollBarVisibility="Auto" > - <Grid HorizontalAlignment="Left"> - <Grid.ColumnDefinitions> - <ColumnDefinition Width="1*"></ColumnDefinition> - <ColumnDefinition Width="1*"></ColumnDefinition> - </Grid.ColumnDefinitions> - <Grid.RowDefinitions> - <RowDefinition Height="Auto"/> - <RowDefinition Height="Auto"/> - <RowDefinition Height="1*"/> - </Grid.RowDefinitions> - <Border> - <StackPanel x:Name="DryerTempPanel" HorizontalAlignment="Stretch" Grid.Column="0" Grid.Row="0" > - <DockPanel Margin="0 10 0 0"> - <Button DockPanel.Dock="Right" Margin="0 0 40 0" HorizontalAlignment="Left" Padding="0" Width="200" Command="{Binding ApplyToProcessParametersCommand}" ToolTip="Apply to Process Parameters" VerticalContentAlignment="Center"> - <TextBlock FontSize="14" Background="Transparent" VerticalAlignment="Center" Margin="0 2 0 0">Apply to Process Parameters</TextBlock> + <Grid HorizontalAlignment="Left"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="1*"></ColumnDefinition> + <ColumnDefinition Width="1*"></ColumnDefinition> + </Grid.ColumnDefinitions> + <DockPanel Grid.Column="0" > + <Border DockPanel.Dock="Top"> + <StackPanel x:Name="DryerTempPanel" HorizontalAlignment="Stretch" > + <DockPanel Margin="0 0 0 0"> + <Button DockPanel.Dock="Right" Margin="0 0 40 0" HorizontalAlignment="Left" Padding="0" Width="200" Command="{Binding ApplyToProcessParametersCommand}" ToolTip="Apply to Process Parameters" VerticalContentAlignment="Center" Height="28"> + <TextBlock FontSize="14" Background="Transparent" VerticalAlignment="Center">Apply to Process Parameters</TextBlock> </Button> - <TextBlock HorizontalAlignment="Center" FontSize="21" Margin="180 10 0 0"> Process Parameters</TextBlock> - </DockPanel> - <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="20 10 40 10"> - <UniformGrid Columns="2" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=RubbingResultsGrid, Path= ActualWidth }" > + <TextBlock HorizontalAlignment="Center" FontSize="18" Margin="180 10 0 0"> Process Parameters</TextBlock> + </DockPanel> + <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="20 5 40 5"> + <UniformGrid Columns="2" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=RubbingResultsGrid, Path= ActualWidth }" > <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Dryer temperature</TextBlock> - </Border> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Dryer temperature</TextBlock> + </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown HasDecimals="False" HorizontalContentAlignment="Left" Minimum="0" Maximum="300" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" Value="{Binding SelectedTab.TestResult.DryerTemperature, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> - </Border> + <mahapps:NumericUpDown HasDecimals="False" HorizontalContentAlignment="Left" Minimum="0" Maximum="300" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" Value="{Binding SelectedTab.TestResult.DryerTemperature, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + </Border> <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tunnel temperature</TextBlock> - </Border> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tunnel temperature</TextBlock> + </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="False" Minimum="0" Maximum="400" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TunnelTemperature,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> - </Border> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="False" Minimum="0" Maximum="400" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TunnelTemperature,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + </Border> <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tunnel flow</TextBlock> - </Border> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tunnel flow</TextBlock> + </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="20" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TunnelFlow,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> - </Border> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="20" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TunnelFlow,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + </Border> <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tunnel AVG temperature</TextBlock> - </Border> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tunnel AVG temperature</TextBlock> + </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="400" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TunnelAvgTemperature,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="400" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TunnelAvgTemperature,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0"></mahapps:NumericUpDown> + </Border> + </UniformGrid> </Border> - </UniformGrid> - </Border> - </StackPanel></Border> - <StackPanel x:Name="RubbingResultsPanel" Grid.Column="0" Grid.Row="1" Margin="0 5 0 0"> - <TextBlock HorizontalAlignment="Center" FontSize="21"> Rubbing results</TextBlock> + </StackPanel> + </Border> + <StackPanel x:Name="RubbingResultsPanel" DockPanel.Dock="Top" Margin="0 5 0 0"> + <TextBlock HorizontalAlignment="Center" FontSize="18"> Rubbing results</TextBlock> + + <DataGrid x:Name="RubbingResultsGrid" HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" MaxHeight="280" RowHeight="20" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.TestResult.RubbingResults}" Margin="20 5 40 5" FontSize="14"> + <DataGrid.ColumnHeaderStyle > + <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}"> + <Setter Property="FontSize" Value="14"/> + <Setter Property="HorizontalAlignment" Value="Left"/> + <Setter Property="Margin" Value="2 0 0 0"/> + <Setter Property="Padding" Value="0 5"/> + <Setter Property="FrameworkElement.HorizontalAlignment" Value="Stretch"/> + <Setter Property="HorizontalContentAlignment" Value="Left"/> + </Style> + </DataGrid.ColumnHeaderStyle> + <DataGrid.CellStyle> + <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> + <Setter Property="BorderThickness" Value="0"/> + <Setter Property="FocusVisualStyle" Value="{x:Null}"/> + <Setter Property="VerticalContentAlignment" Value="Center"></Setter> + <Setter Property="Padding" Value="0"></Setter> + <Setter Property="Margin" Value="0 0 0 0"></Setter> + <Setter Property="VerticalAlignment" Value="Center"></Setter> + </Style> + </DataGrid.CellStyle> + <DataGrid.Columns> + <DataGridTemplateColumn Header="Color" Width="80"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <Border BorderThickness="0" Background="{Binding TestResultColor, Converter={StaticResource ColorNameToBrushConverter}}"> + <TextBlock Text="{Binding TestResultColor, Converter={StaticResource EnumToDescriptionConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10 0 0 0"></TextBlock> + </Border> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + + <mahapps:DataGridNumericUpDownColumn Header="DeltaE CIE 100%" Minimum="0" Maximum="100" Binding="{Binding DeltaeCie100, StringFormat={}{0:F2}}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" FontSize="14" TextBlock.FontSize="14"/> + + + <DataGridTemplateColumn Header="GS 100%" Width="1*"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" VerticalAlignment="Center" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Gs100,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + + <mahapps:DataGridNumericUpDownColumn Header="DeltaE CIE 200%" Minimum="0" Maximum="100" Binding="{Binding DeltaeCie200}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" FontSize="14" TextBlock.FontSize="14"/> + + <DataGridTemplateColumn Header="GS 200%" Width="1*"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" VerticalAlignment="Center" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Gs200,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + </DataGrid.Columns> + </DataGrid> + + </StackPanel> + + <StackPanel x:Name="WashingTestResultsPanel" DockPanel.Dock="Top" Margin="0 5 0 0"> + <TextBlock HorizontalAlignment="Center" FontSize="18"> Washing results</TextBlock> + <!--<DataGrid x:Name="WashingTestResultsHeader" HeadersVisibility="None" HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" MaxHeight="280" RowHeight="20" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.ColorsToMaterialCollection}" Margin="20 10 40 10" FontSize="14"> + <DataGrid.CellStyle> + <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> + <Setter Property="FocusVisualStyle" Value="{x:Null}"/> + <Setter Property="VerticalContentAlignment" Value="Center"></Setter> + <Setter Property="Padding" Value="0"></Setter> + <Setter Property="Margin" Value="0 0 0 0"></Setter> + </Style> + </DataGrid.CellStyle> + <DataGrid.Columns> + <DataGridTextColumn Width="100"></DataGridTextColumn> + <DataGridTextColumn Width="1*" Binding="{Binding Header1}" FontSize="14"/> + <DataGridTextColumn Width="1*" Binding="{Binding Header2}" FontSize="14"/> + <DataGridTextColumn Width="1*" Binding="{Binding Header3}" FontSize="14"/> + <DataGridTextColumn Width="1*" Binding="{Binding Header4}" FontSize="14"/> + <DataGridTextColumn Width="1*" Binding="{Binding Header5}" FontSize="14"/> + <DataGridTextColumn Width="1*" Binding="{Binding Header6}" FontSize="14"/> + <DataGridTextColumn Width="1*" Binding="{Binding Header7}" FontSize="14"/> + </DataGrid.Columns> + </DataGrid>--> + + <DataGrid x:Name="WashingTestResultsGrid" HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" MaxHeight="280" RowHeight="20" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.ColorsToMaterialCollection}" Margin="20 10 40 10" FontSize="14"> + + <DataGrid.Resources> + <components:BindingProxy x:Key="proxy" Data="{Binding SelectedTab.ColorsToMaterialCollection}" /> + </DataGrid.Resources> - <DataGrid x:Name="RubbingResultsGrid" HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" MaxHeight="280" RowHeight="26" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.TestResult.RubbingResults}" Margin="20 10 40 10" FontSize="16"> <DataGrid.ColumnHeaderStyle > <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}"> - <Setter Property="FontSize" Value="16"/> + <Setter Property="FontSize" Value="14"/> <Setter Property="HorizontalAlignment" Value="Left"/> <Setter Property="Margin" Value="2 0 0 0"/> - <Setter Property="Padding" Value="0 5"/> + <Setter Property="Padding" Value="0 4"/> <Setter Property="FrameworkElement.HorizontalAlignment" Value="Stretch"/> <Setter Property="HorizontalContentAlignment" Value="Left"/> </Style> </DataGrid.ColumnHeaderStyle> <DataGrid.CellStyle> <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> - <Setter Property="BorderThickness" Value="0"/> <Setter Property="FocusVisualStyle" Value="{x:Null}"/> <Setter Property="VerticalContentAlignment" Value="Center"></Setter> <Setter Property="Padding" Value="0"></Setter> @@ -326,36 +413,146 @@ </Style> </DataGrid.CellStyle> <DataGrid.Columns> - <DataGridTemplateColumn Header="Color" Width="80"> + <DataGridTemplateColumn Header="" Width="100"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> - <Border BorderThickness="0" Background="{Binding TestResultColor, Converter={StaticResource ColorNameToBrushConverter}}"> - <TextBlock Text="{Binding TestResultColor, Converter={StaticResource EnumToDescriptionConverter}}" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10 0 0 0"></TextBlock> - </Border> + <Grid> + <ToggleButton Cursor="Hand" x:Name="PopupButton" BorderThickness="0" Height="26" Background="Transparent" VerticalAlignment="Center" Margin="0 0 0 0" IsChecked="{Binding ElementName=Popup, Path=IsOpen}"> + <ToggleButton.Style> + <Style TargetType="ToggleButton" BasedOn="{StaticResource emptyToggleButton}"> + <Style.Triggers> + <DataTrigger Binding="{Binding IsOpen, ElementName=Popup}" Value="True"> + <Setter Property="IsEnabled" Value="False" /> + </DataTrigger> + </Style.Triggers> + </Style> + </ToggleButton.Style> + + <StackPanel Orientation="Horizontal"> + <materialDesign:PackIcon VerticalAlignment="Center" Kind="Pencil" Width="20" Height="20"> + <materialDesign:PackIcon.Foreground> + <SolidColorBrush Color="{Binding Color,Mode=OneWay, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource ColorToIntegerConverter},Delay=100}"></SolidColorBrush> + </materialDesign:PackIcon.Foreground> + </materialDesign:PackIcon> + <TextBlock Margin="5 0 0 0" FontSize="14" VerticalAlignment="Center">COLOR</TextBlock> + </StackPanel> + </ToggleButton> + <Popup x:Name="Popup" MouseDown="Popup_MouseDown" PopupAnimation="Fade" StaysOpen="False" PlacementTarget="{Binding ElementName=PopupButton}" Placement="Bottom" AllowsTransparency="True"> + <Border Background="{StaticResource WhiteBrush}" CornerRadius="5" Margin="10"> + <Border.Effect> + <DropShadowEffect ShadowDepth="0" BlurRadius="10" /> + </Border.Effect> + <Grid Margin="10" x:Name="pgrid"> + <DockPanel> + <TextBlock DockPanel.Dock="Top" HorizontalAlignment="Center">COLOR</TextBlock> + <Viewbox Width="300" Height="180" VerticalAlignment="Center" Stretch="Fill"> + <colorPicker:ColorCanvas SelectedColor="{Binding Color ,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource ColorToIntegerConverter}}" Background="Transparent" BorderThickness="0" Height="150" Width="230" /> + </Viewbox> + </DockPanel> + </Grid> + </Border> + </Popup> + </Grid> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> - <mahapps:DataGridNumericUpDownColumn Header="DeltaE CIE 100%" Minimum="0" Maximum="100" Binding="{Binding DeltaeCie100, StringFormat={}{0:F2}}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" /> - + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color1grid" > + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header1}"/> + </Grid> + </DataGridTemplateColumn.Header> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue1, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> - <DataGridTemplateColumn Header="GS 100%" Width="1*"> + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color2grid"> + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header2}"/> + </Grid> + </DataGridTemplateColumn.Header> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Gs100,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5"/> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue2, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> </StackPanel> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> - <mahapps:DataGridNumericUpDownColumn Header="DeltaE CIE 200%" Minimum="0" Maximum="100" Binding="{Binding DeltaeCie200}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" FontSize="16"/> - - <DataGridTemplateColumn Header="GS 200%" Width="1*"> + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color53grid"> + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header3}"/> + </Grid> + </DataGridTemplateColumn.Header> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue3, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color4grid"> + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header4}"/> + </Grid> + </DataGridTemplateColumn.Header> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue4, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color5grid"> + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header5}"/> + </Grid> + </DataGridTemplateColumn.Header> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Gs200,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5"/> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue5, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color6grid"> + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header6}"/> + </Grid> + </DataGridTemplateColumn.Header> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue6, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="2" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> + </StackPanel> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + <DataGridTemplateColumn Width="1*"> + <DataGridTemplateColumn.Header> + <Grid Margin="0" x:Name="Color7grid"> + <TextBlock Text="{Binding Source={StaticResource proxy},Path=Data.[0].Header7}"/> + </Grid> + </DataGridTemplateColumn.Header> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="1" Maximum="5" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="False" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding Path = WashingValue7, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="2" StringFormat="{}{0:F1}" HorizontalAlignment="Right" MinWidth="26" Interval="0.5" VerticalAlignment="Center"/> </StackPanel> </DataTemplate> </DataGridTemplateColumn.CellTemplate> @@ -364,91 +561,200 @@ </DataGrid> </StackPanel> - <StackPanel x:Name="TensionresultsPanel" Grid.Column="1" Grid.Row="0" Margin="0 20 0 0" > - <TextBlock HorizontalAlignment="Center" FontSize="21"> Tension through the thread path</TextBlock> - <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="0 10 20 10" > - <UniformGrid Columns="4" Background="{StaticResource TransparentBackgroundBrush}" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=MechanicalPropertiesGrid, Path= ActualWidth }" > - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" Margin="5 0 0 0" VerticalAlignment="Center">Tension in Zone</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" Margin="5 0 0 0" VerticalAlignment="Center">Tensiometer (gr)</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" Margin="5 0 0 0" VerticalAlignment="Center">Tension in Zone</TextBlock> - </Border> + + <Grid VerticalAlignment="Stretch" DockPanel.Dock="Top" Margin="10 30 10 20"> + <DockPanel x:Name="ImportExcelFile" LastChildFill="True"> + <DockPanel DockPanel.Dock="Top" Margin="0 0 20 0"> + <Button Margin="10 0 0 0" Padding="2" Height="24" Cursor="Hand" Width="100" Command="{Binding SelectedTab.UploadCommand}" ToolTip="Upload selected files">Upload</Button> + <Button DockPanel.Dock="Right" Margin="0 0 10 0" HorizontalAlignment="Right" Padding="2" Height="24" Cursor="Hand" Width="100" Command="{Binding SelectedTab.DownLoadAllCommand}" ToolTip="Upload selected files">Download All</Button> + </DockPanel> + + <Grid Margin="0 0 20 0" VerticalAlignment="Stretch" > + <DataGrid Margin="10" RowHeight="20" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.TestResultsFiles}" IsReadOnly="True" + ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto" MinHeight="40"> + <DataGrid.ColumnHeaderStyle > + <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}"> + <Setter Property="FontSize" Value="14"/> + <Setter Property="HorizontalAlignment" Value="Left"/> + <Setter Property="Margin" Value="2 0 0 0"/> + <Setter Property="Padding" Value="0 5"/> + <Setter Property="FrameworkElement.HorizontalAlignment" Value="Stretch"/> + <Setter Property="HorizontalContentAlignment" Value="Left"/> + </Style> + </DataGrid.ColumnHeaderStyle> + <DataGrid.CellStyle> + <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> + <Setter Property="BorderThickness" Value="0"/> + <Setter Property="FocusVisualStyle" Value="{x:Null}"/> + <Setter Property="VerticalContentAlignment" Value="Center"></Setter> + <Setter Property="Padding" Value="0"></Setter> + <Setter Property="Margin" Value="0 0 0 0"></Setter> + </Style> + </DataGrid.CellStyle> + <DataGrid.Columns> + <DataGridTextColumn Header="File Name" Binding="{Binding FileName}" Width="1*" FontSize="14"/> + <DataGridTextColumn Header="Progress" Width="1*" /> + <DataGridTemplateColumn Header="DownLoad" Width="140"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <Button Style="{StaticResource emptyButton}" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid},AncestorLevel=2},Path=DataContext.SelectedTab.DownLoadFileCommand}" CommandParameter="{Binding}"> + <StackPanel Orientation="Horizontal"> + <TextBlock FontSize="14" Text="Download" VerticalAlignment="Center"></TextBlock> + <materialDesign:PackIcon VerticalAlignment="Center" Margin="5 0 0 0" Kind="Download" Width="18" /> + </StackPanel> + </Button> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + <DataGridTemplateColumn Header="Delete" Width="140"> + <DataGridTemplateColumn.CellTemplate> + <DataTemplate> + <Button Style="{StaticResource emptyButton}" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid},AncestorLevel=2},Path=DataContext.SelectedTab.DeleteCommand}" CommandParameter="{Binding}"> + <StackPanel Orientation="Horizontal"> + <TextBlock FontSize="14" Text="Delete" VerticalAlignment="Center"></TextBlock> + <materialDesign:PackIcon VerticalAlignment="Center" Margin="5 0 0 0" Kind="Delete" Width="18" /> + </StackPanel> + </Button> + </DataTemplate> + </DataGridTemplateColumn.CellTemplate> + </DataGridTemplateColumn> + </DataGrid.Columns> + </DataGrid> + </Grid> + </DockPanel> + </Grid> + </DockPanel> + <DockPanel Grid.Column="1" LastChildFill="True"> + <StackPanel x:Name="TensionresultsPanel" DockPanel.Dock="Top" Margin="0 20 0 0" > + <TextBlock HorizontalAlignment="Center" FontSize="18"> Tension through the thread path</TextBlock> + <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="0 5 20 5" > + <Grid Background="{StaticResource TransparentBackgroundBrush}" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=MechanicalPropertiesGrid, Path= ActualWidth }" > + <Grid.ColumnDefinitions> + <ColumnDefinition Width="2*"/> + <ColumnDefinition Width="1*"/> + <ColumnDefinition Width="2*"/> + <ColumnDefinition Width="1*"/> + <ColumnDefinition Width="2*"/> + <ColumnDefinition Width="1*"/> + </Grid.ColumnDefinitions> + <Grid.RowDefinitions> + <RowDefinition Height="24"/> + <RowDefinition Height="24"/> + <RowDefinition Height="24"/> + <RowDefinition Height="24"/> + </Grid.RowDefinitions> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" Margin="5 0 0 0" VerticalAlignment="Center">MS</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0">Head</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Light" Margin="0 0 0 0" VerticalAlignment="Center" FontSize="14">Tension in Zone</TextBlock> + </Border> + <Border Grid.Column="1" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Light" Margin="10 0 0 0" VerticalAlignment="Center" FontSize="14">Tensiometer (gr)</TextBlock> + </Border> + <Border Grid.Column="2" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Light" Margin="0 0 0 0" VerticalAlignment="Center" FontSize="14">Tension in Zone</TextBlock> + </Border> + <Border Grid.Column="3" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Light" Margin="0 0 0 0" VerticalAlignment="Center" FontSize="14">MS</TextBlock> + </Border> + + <Border Grid.Column="4" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Light" Margin="0 0 0 0" VerticalAlignment="Center" FontSize="14">BTSR options</TextBlock> + </Border> + <Border Grid.Column="5" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Light" Margin="10 0 0 0" VerticalAlignment="Center" FontSize="14"></TextBlock> + </Border> + <Border Grid.Row="1" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Head</TextBlock> + </Border> + <Border Grid.Row="1" Grid.Column="1" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> <StackPanel Orientation="Horizontal"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionHeadMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> - <!--<TextBlock FontSize="16" VerticalAlignment="Center"> -</TextBlock> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionHeadMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionHeadMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + <!--<TextBlock FontSize="14" VerticalAlignment="Center"> -</TextBlock> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionHeadMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> </StackPanel> </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0">BTSR</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Grid.Row="1" Grid.Column="2" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">BTSR</TextBlock> + </Border> + <Border Grid.Row="1" Grid.Column="3" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> <StackPanel Orientation="Horizontal"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.BtsrMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> - <!--<TextBlock FontSize="16" VerticalAlignment="Center"> -</TextBlock> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.BtsrMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.BtsrMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + <!--<TextBlock FontSize="14" VerticalAlignment="Center"> -</TextBlock> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.BtsrMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> </StackPanel> </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0">After dryer</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Grid.Row="1" Grid.Column="4" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Application Type</TextBlock> + </Border> + <Border Grid.Row="1" Grid.Column="5" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Margin="0 0 5 2"> + <ComboBox HorizontalAlignment="Stretch" ItemsSource="{Binding BtsrApplicationTypes}" SelectedItem="{Binding SelectedTab.TestResult.BtsrApplicationType}" DisplayMemberPath="Description" FontSize="14" Background="{StaticResource MainWindow.Background}" Padding="0" Style="{StaticResource TransparentComboBoxStyle}"></ComboBox> + </Border> + </Border> + <Border Grid.Row="2" Grid.Column="0" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">After dryer</TextBlock> + </Border> + <Border Grid.Row="2" Grid.Column="1" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> <StackPanel Orientation="Horizontal"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionAfterDryerMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> - <!--<TextBlock FontSize="16" VerticalAlignment="Center"> -</TextBlock> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensioinAfterDryerMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionAfterDryerMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + <!--<TextBlock FontSize="14" VerticalAlignment="Center"> -</TextBlock> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensioinAfterDryerMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> </StackPanel> </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0" >Puller tension</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Grid.Row="2" Grid.Column="2" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Puller tension</TextBlock> + </Border> + <Border Grid.Row="2" Grid.Column="3" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> <StackPanel Orientation="Horizontal"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.PullerTensionMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> - <!--<TextBlock FontSize="16" VerticalAlignment="Center"> -</TextBlock> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.PullerTensionMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.PullerTensionMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + <!--<TextBlock FontSize="14" VerticalAlignment="Center"> -</TextBlock> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.PullerTensionMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> </StackPanel> </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0">Winder</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Grid.Row="2" Grid.Column="4" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Yarn Type</TextBlock> + </Border> + <Border Grid.Row="2" Grid.Column="5" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Margin="0 0 5 2"> + <ComboBox HorizontalAlignment="Stretch" ItemsSource="{Binding BtsrYarnTypes}" SelectedItem="{Binding SelectedTab.TestResult.BtsrYarnType}" DisplayMemberPath="Description" FontSize="14" Background="{StaticResource MainWindow.Background}" Padding="0" Style="{StaticResource TransparentComboBoxStyle}"></ComboBox> + </Border> + </Border> + <Border Grid.Row="3" Grid.Column="0" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Winder</TextBlock> + </Border> + <Border Grid.Row="3" Grid.Column="1" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> <StackPanel Orientation="Horizontal"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionWinderMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> - <!--<TextBlock FontSize="16" VerticalAlignment="Center"> -</TextBlock> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionWinderMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionWinderMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + <!--<TextBlock FontSize="14" VerticalAlignment="Center"> -</TextBlock> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.TensionWinderMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> </StackPanel> </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0">Winder Exit Tension</TextBlock> + <Border Grid.Row="3" Grid.Column="2" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Winder Exit Tension</TextBlock> </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <Border Grid.Row="3" Grid.Column="3" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> <StackPanel Orientation="Horizontal"> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.ExitTensionMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> - <!--<TextBlock FontSize="16" VerticalAlignment="Center"> -</TextBlock> - <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.ExitTensionMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.ExitTensionMin,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + <!--<TextBlock FontSize="14" VerticalAlignment="Center"> -</TextBlock> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100000" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.ExitTensionMax,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" MinWidth="26"/>--> </StackPanel> </Border> - </UniformGrid> - </Border> + <Border Grid.Row="3" Grid.Column="4" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Tension Error</TextBlock> + </Border> + <Border Grid.Row="3" Grid.Column="5" BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <StackPanel Orientation="Horizontal"> + <mahapps:NumericUpDown HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.BtsrTensionError,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Right" MinWidth="26"/> + </StackPanel> + </Border> + </Grid> + </Border> </StackPanel> - <StackPanel x:Name="MechanicalPropertiesPanel" Grid.Column="1" Grid.Row="1" Margin="0 5 0 0"> - <TextBlock HorizontalAlignment="Center" FontSize="21" >Mechanical properties</TextBlock> - <DataGrid x:Name="MechanicalPropertiesGrid" HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" MaxHeight="250" RowHeight="26" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.TestResult.TensileResults}" Margin="0 10 20 10" FontSize="16"> + <StackPanel x:Name="MechanicalPropertiesPanel" DockPanel.Dock="Top" Margin="0 5 0 0"> + <TextBlock HorizontalAlignment="Center" FontSize="18" >Mechanical properties</TextBlock> + <DataGrid x:Name="MechanicalPropertiesGrid" HorizontalAlignment="Left" VerticalScrollBarVisibility ="Auto" MaxHeight="250" RowHeight="20" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.TestResult.TensileResults}" Margin="0 5 20 5" FontSize="14"> <DataGrid.ColumnHeaderStyle > <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}"> - <Setter Property="FontSize" Value="16"/> + <Setter Property="FontSize" Value="14"/> <Setter Property="HorizontalAlignment" Value="Left"/> <Setter Property="Margin" Value="2 0 0 0"/> <Setter Property="Padding" Value="0 5"/> @@ -466,8 +772,8 @@ </Style> </DataGrid.CellStyle> <DataGrid.Columns> - <DataGridTextColumn Header="% Color" Binding="{ Binding ColorPercent}" MinWidth="100"></DataGridTextColumn> - <DataGridTemplateColumn Header="Color" Width="80"> + <DataGridTextColumn Header="% Color" Binding="{ Binding ColorPercent}" MinWidth="100" FontSize="14" TextBlock.FontSize="14" ></DataGridTextColumn> + <DataGridTemplateColumn Header="Color" Width="80" > <DataGridTemplateColumn.CellTemplate> <DataTemplate> <Border BorderThickness="0"> @@ -483,12 +789,13 @@ </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> - <mahapps:DataGridNumericUpDownColumn Header="Load at 
Maximum 
Load(N)" Minimum="0" Maximum="100" Binding="{Binding MaxLoad, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" /> - <mahapps:DataGridNumericUpDownColumn Header="STDEV" Minimum="0" Maximum="100" Binding="{Binding StdevMaxLoad}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" /> - <mahapps:DataGridNumericUpDownColumn Header="% Change" Minimum="-100" Maximum="100" Binding="{Binding PercentChangeLoad, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDownWithTrigger}" StringFormat="{}{0:F2}" > + <mahapps:DataGridNumericUpDownColumn Header="Load at 
Maximum 
Load(N)" Minimum="0" Maximum="100" Binding="{Binding MaxLoad, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" FontSize="14"/> + <mahapps:DataGridNumericUpDownColumn Header="STDEV" Minimum="0" Maximum="100" Binding="{Binding StdevMaxLoad}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" FontSize="14"/> + <mahapps:DataGridNumericUpDownColumn Header="% Change" Minimum="-100" Maximum="100" Binding="{Binding PercentChangeLoad, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDownWithTrigger}" StringFormat="{}{0:F2}" FontSize="14"> <mahapps:DataGridNumericUpDownColumn.CellStyle> <Style TargetType="DataGridCell"> <Setter Property="Visibility" Value="Visible"/> + <Setter Property="FontSize" Value="14"/> <Style.Triggers> <DataTrigger Binding="{ Binding IsWhiteColor}" Value="True"> <Setter Property="Visibility" Value="Hidden"/> @@ -498,15 +805,16 @@ </mahapps:DataGridNumericUpDownColumn.CellStyle> </mahapps:DataGridNumericUpDownColumn> - <mahapps:DataGridNumericUpDownColumn Header="Percentage 
Strain at 
Maximum Load" Minimum="0" Maximum="100" Binding="{Binding StrainMaxLoad, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" > - - </mahapps:DataGridNumericUpDownColumn> - - <mahapps:DataGridNumericUpDownColumn Header="STDEV" Minimum="0" Maximum="100" Binding="{Binding StdevStrainMaxLoad}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" /> + <mahapps:DataGridNumericUpDownColumn Header="Percentage 
Strain at 
Maximum Load" Minimum="0" Maximum="100" FontSize="14" TextBlock.FontSize="14" Binding="{Binding StrainMaxLoad, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" /> + + - <mahapps:DataGridNumericUpDownColumn Header="% Change" Minimum="-100" Maximum="100" Binding="{Binding PercentChangeStrain, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDownWithTrigger}" StringFormat="{}{0:F2}"> + <mahapps:DataGridNumericUpDownColumn Header="STDEV" Minimum="0" Maximum="100" FontSize="14" Binding="{Binding StdevStrainMaxLoad}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDown}" StringFormat="{}{0:F2}" TextBlock.FontSize="14"/> + + <mahapps:DataGridNumericUpDownColumn Header="% Change" Minimum="-100" Maximum="100" FontSize="14" TextBlock.FontSize="14" Binding="{Binding PercentChangeStrain, UpdateSourceTrigger=PropertyChanged}" HideUpDownButtons="True" Width="1*" ElementStyle="{StaticResource CellNumericUpDown}" EditingElementStyle="{StaticResource EditableCellNumericUpDownWithTrigger}" StringFormat="{}{0:F2}"> <mahapps:DataGridNumericUpDownColumn.CellStyle> <Style TargetType="DataGridCell"> + <Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="Visibility" Value="Visible"/> <Style.Triggers> <DataTrigger Binding="{ Binding IsWhiteColor}" Value="True"> @@ -515,74 +823,40 @@ </Style.Triggers> </Style> </mahapps:DataGridNumericUpDownColumn.CellStyle> - </mahapps:DataGridNumericUpDownColumn> + </mahapps:DataGridNumericUpDownColumn> </DataGrid.Columns> </DataGrid> </StackPanel> - <StackPanel x:Name="UniformityPanel" HorizontalAlignment="Center" Grid.Column="0" Grid.Row="2" > - <TextBlock HorizontalAlignment="Center" Margin="0 5 0 0" FontSize="21"> Uniformity</TextBlock> - <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="20 10 40 10"> - <UniformGrid Columns="2" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=RubbingResultsGrid, Path= ActualWidth }" > - <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" Margin="5 0 0 0" VerticalAlignment="Center">Uniformity</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" VerticalAlignment="Center" Margin="5 0 0 0">Severity</TextBlock> - </Border> - <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}" > - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Zone 1</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.SeverityZone1Min,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" FontSize="16" MinWidth="26"></mahapps:NumericUpDown> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">-</TextBlock> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.SeverityZone1Max,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0 0 0 0" Width="Auto" FontSize="16" StringFormat="{}{0:F1}" ></mahapps:NumericUpDown> - </StackPanel> - </Border> - <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Zone 2</TextBlock> - </Border> - <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.SeverityZone2Min,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" MaxWidth="20" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" FontSize="16" MinWidth="26"></mahapps:NumericUpDown> - <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">-</TextBlock> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.SeverityZone2Max,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0 0 0 0" Width="Auto" FontSize="16" StringFormat="{}{0:F1}" ></mahapps:NumericUpDown> - </StackPanel> - </Border> - </UniformGrid> - </Border> - </StackPanel> - <StackPanel x:Name="COFPanel" HorizontalAlignment="Center" Grid.Column="1" Grid.Row="2" > - <TextBlock HorizontalAlignment="Center" Margin="0 5 0 0" FontSize="21"> COF</TextBlock> - <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="0 10 20 10" > + <StackPanel x:Name="COFPanel" HorizontalAlignment="Center" DockPanel.Dock="Top" > + <TextBlock HorizontalAlignment="Center" Margin="0 5 0 0" FontSize="18"> COF</TextBlock> + <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="0 5 20 5" > <UniformGrid Columns="4" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=MechanicalPropertiesGrid, Path= ActualWidth }" > <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" Margin="5 0 0 0" VerticalAlignment="Center">Thread name</TextBlock> + <TextBlock FontWeight="Normal" Margin="5 0 0 0" VerticalAlignment="Center" FontSize="14">Thread name</TextBlock> </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" VerticalAlignment="Center" Margin="5 0 0 0">Lub version</TextBlock> + <TextBlock FontWeight="Normal" VerticalAlignment="Center" Margin="5 0 0 0" FontSize="14">Lub version</TextBlock> </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" VerticalAlignment="Center" Margin="5 0 0 0">COF</TextBlock> + <TextBlock FontWeight="Normal" VerticalAlignment="Center" Margin="10 0 0 0" FontSize="14">COF</TextBlock> </Border> <Border BorderThickness="0 1 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBlock FontWeight="Light" VerticalAlignment="Center" Margin="5 0 0 0">Lub amount</TextBlock> + <TextBlock FontWeight="Normal" VerticalAlignment="Center" Margin="10 0 0 0" HorizontalAlignment="Left" FontSize="14">Lub amount</TextBlock> </Border> - <Border BorderThickness="1 0 1 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}" > <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">REF</TextBlock> </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBox Margin="5 0 0 0" VerticalAlignment="Center" Text="{Binding SelectedTab.TestResult.RefLubVersion}"></TextBox> + <TextBox Margin="5 0 25 0" VerticalAlignment="Center" Text="{Binding SelectedTab.TestResult.RefLubVersion}"></TextBox> </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.RefCof,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" MaxWidth="20" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="16"></mahapps:NumericUpDown> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.RefCof,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="14" MinWidth="20"></mahapps:NumericUpDown> </Border> <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.RefLub,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" MaxWidth="20" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="16"></mahapps:NumericUpDown> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.RefLub,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="14" MinWidth="20"></mahapps:NumericUpDown> </Border> @@ -590,97 +864,70 @@ <TextBlock Margin="5 0 0 0" VerticalAlignment="Center" Text="{Binding ThreadName}"></TextBlock> </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <TextBox Margin="5 0 0 0" VerticalAlignment="Center" Text="{Binding SelectedTab.TestResult.ThreadLubVersion}"></TextBox> + <TextBox Margin="5 0 25 0" VerticalAlignment="Stretch" Text="{Binding SelectedTab.TestResult.ThreadLubVersion}" ></TextBox> </Border> <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.ThreadCof,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" MaxWidth="20" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="16"></mahapps:NumericUpDown> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.ThreadCof,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="14" MinWidth="20"></mahapps:NumericUpDown> </Border> <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> - <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.ThreadLub,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" MaxWidth="20" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="16"></mahapps:NumericUpDown> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="100" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.ThreadLub,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0" Padding="0" StringFormat="{}{0:F2}" HorizontalAlignment="Left" FontSize="14" MinWidth="20"></mahapps:NumericUpDown> </Border> </UniformGrid> - </Border> + </Border> </StackPanel> - </Grid> - </ScrollViewer> - </Border> - - <Grid Grid.Row="1" Grid.Column="1" Margin="0 0 20 20"> - <Grid.ColumnDefinitions> - <ColumnDefinition Width="120"/> - <ColumnDefinition Width="1*"/> - </Grid.ColumnDefinitions> - <Grid.RowDefinitions> - <RowDefinition Height="1*"/> - <RowDefinition Height="1*" /> - </Grid.RowDefinitions> - - <TextBlock FontSize="21" HorizontalAlignment="Left" VerticalAlignment="Center">Conclusion:</TextBlock> - <TextBox Grid.Column="1" Margin="20 0 20 0" HorizontalAlignment="Stretch" Height="46" Text="{Binding SelectedTab.TestResult.Conclusions}" Style="{StaticResource Rounded_Corners_TextBox_Multiline}"></TextBox> + <StackPanel x:Name="UniformityPanel" HorizontalAlignment="Center" DockPanel.Dock="Top"> + <TextBlock HorizontalAlignment="Center" Margin="0 5 0 0" FontSize="18"> Uniformity</TextBlock> + <Border BorderThickness="1" BorderBrush="{StaticResource GrayBrush200}" Margin="0 5 20 0"> + <UniformGrid Columns="2" HorizontalAlignment="Left" MinWidth="{ Binding ElementName=COFPanel, Path= ActualWidth }" > + <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Normal" Margin="5 0 0 0" VerticalAlignment="Center" FontSize="14">Uniformity</TextBlock> + </Border> + <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock FontWeight="Normal" VerticalAlignment="Center" Margin="0" FontSize="14">Severity</TextBlock> + </Border> + <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}" > + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Zone 1</TextBlock> + </Border> + <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush700}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <DockPanel HorizontalAlignment="Left" VerticalAlignment="Center"> + <mahapps:NumericUpDown DockPanel.Dock="Left" VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.SeverityZone1Min,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" FontSize="14" MinWidth="0"></mahapps:NumericUpDown> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center" DockPanel.Dock="Left">-</TextBlock> + <mahapps:NumericUpDown VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.SeverityZone1Max,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0 0 0 0" FontSize="14" StringFormat="{}{0:F1}" MinWidth="0"></mahapps:NumericUpDown> + </DockPanel> + </Border> + <Border BorderThickness="0 0 1 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Zone 2</TextBlock> + </Border> + <Border BorderThickness="0 0 0 1" Background="{StaticResource TransparentBackgroundBrush}" BorderBrush="{StaticResource BorderBrushGainsboro}"> + <DockPanel HorizontalAlignment="Left" VerticalAlignment="Center"> + <mahapps:NumericUpDown DockPanel.Dock="Left" VerticalAlignment="Center" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Right" Value="{Binding SelectedTab.TestResult.SeverityZone2Min,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0 0 0 0" Padding="0" StringFormat="{}{0:F1}" HorizontalAlignment="Right" FontSize="14" MinWidth="0"></mahapps:NumericUpDown> + <TextBlock DockPanel.Dock="Left" Margin="5 0 0 0" VerticalAlignment="Center">-</TextBlock> + <mahapps:NumericUpDown DockPanel.Dock="Left" HasDecimals="True" Minimum="0" Maximum="10" InterceptArrowKeys="True" Background="Transparent" BorderThickness="0" HideUpDownButtons="True" InterceptMouseWheel="True" HorizontalContentAlignment="Left" Value="{Binding SelectedTab.TestResult.SeverityZone2Max,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0 0 0 0" Width="Auto" StringFormat="{}{0:F1}" FontSize="14" MinWidth="0"></mahapps:NumericUpDown> + </DockPanel> + </Border> + </UniformGrid> + </Border> + </StackPanel> + <DockPanel Margin="0 0 0 0" DockPanel.Dock="Top"> + <DockPanel DockPanel.Dock="Left" HorizontalAlignment="Stretch"> + <TextBlock FontSize="18" HorizontalAlignment="Left" VerticalAlignment="Center">Conclusion:</TextBlock> + <TextBox Margin="20 0 20 0" HorizontalAlignment="Stretch" Height="80" Text="{Binding SelectedTab.TestResult.Conclusions}" Style="{StaticResource Rounded_Corners_TextBox_Multiline}" Width="315"></TextBox> + </DockPanel> + <DockPanel DockPanel.Dock="Right" HorizontalAlignment="Stretch"> + <TextBlock FontSize="18" HorizontalAlignment="Left" VerticalAlignment="Center">Comments:</TextBlock> + <TextBox Margin="20 0 20 0" Style="{StaticResource Rounded_Corners_TextBox_Multiline}" HorizontalAlignment="Stretch" Height="80" Text="{Binding SelectedTab.TestResult.Comment}" VerticalAlignment="Center" Width="315"></TextBox> + </DockPanel> - <TextBlock Grid.Row="1" FontSize="21" HorizontalAlignment="Left" VerticalAlignment="Center">Comments:</TextBlock> - <TextBox Grid.Column="1" Grid.Row="1" Margin="20 0 20 0" Style="{StaticResource Rounded_Corners_TextBox_Multiline}" HorizontalAlignment="Stretch" Height="46" Text="{Binding SelectedTab.TestResult.Comment}" VerticalAlignment="Center"></TextBox> - - </Grid> - <DockPanel Grid.Row="1" Grid.Column="0" Margin="20 0 20 20" x:Name="ImportExcelFile"> - <DockPanel DockPanel.Dock="Top" Margin="0 0 20 0"> - <Button Margin="10 0 0 0" Padding="2" Height="24" Cursor="Hand" Width="100" Command="{Binding SelectedTab.UploadCommand}" ToolTip="Upload selected files">Upload</Button> - <Button DockPanel.Dock="Right" Margin="0 0 10 0" HorizontalAlignment="Right" Padding="2" Height="24" Cursor="Hand" Width="100" Command="{Binding SelectedTab.DownLoadAllCommand}" ToolTip="Upload selected files">Download All</Button> - </DockPanel> + </DockPanel> + </DockPanel> + </Grid> + </ScrollViewer> + </Border> + - <Grid DockPanel.Dock="Bottom" Margin="0 0 20 0"> - <DataGrid Margin="10" RowHeight="30" Padding="0" SelectionUnit="FullRow" BorderBrush="{StaticResource DarkGrayBrush }" BorderThickness="1" Background="{StaticResource TransparentBackgroundBrush}" AlternatingRowBackground="{StaticResource Transparent200}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding SelectedTab.TestResultsFiles}" IsReadOnly="True" - ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto" MinHeight="100"> - <DataGrid.ColumnHeaderStyle > - <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}"> - <Setter Property="FontSize" Value="16"/> - <Setter Property="HorizontalAlignment" Value="Left"/> - <Setter Property="Margin" Value="2 0 0 0"/> - <Setter Property="Padding" Value="0 5"/> - <Setter Property="FrameworkElement.HorizontalAlignment" Value="Stretch"/> - <Setter Property="HorizontalContentAlignment" Value="Left"/> - </Style> - </DataGrid.ColumnHeaderStyle> - <DataGrid.CellStyle> - <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}"> - <Setter Property="BorderThickness" Value="0"/> - <Setter Property="FocusVisualStyle" Value="{x:Null}"/> - <Setter Property="VerticalContentAlignment" Value="Center"></Setter> - <Setter Property="Padding" Value="0"></Setter> - <Setter Property="Margin" Value="0 0 0 0"></Setter> - </Style> - </DataGrid.CellStyle> - <DataGrid.Columns> - <DataGridTextColumn Header="File Name" Binding="{Binding FileName}" Width="1*" FontSize="16"/> - <DataGridTextColumn Header="Progress" Width="1*" /> - <DataGridTemplateColumn Header="DownLoad" Width="140"> - <DataGridTemplateColumn.CellTemplate> - <DataTemplate> - <Button Style="{StaticResource emptyButton}" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid},AncestorLevel=2},Path=DataContext.SelectedTab.DownLoadFileCommand}" CommandParameter="{Binding}"> - <StackPanel Orientation="Horizontal"> - <TextBlock FontSize="16" Text="Download" VerticalAlignment="Center"></TextBlock> - <materialDesign:PackIcon VerticalAlignment="Center" Margin="5 0 0 0" Kind="Download" Width="18" /> - </StackPanel> - </Button> - </DataTemplate> - </DataGridTemplateColumn.CellTemplate> - </DataGridTemplateColumn> - <DataGridTemplateColumn Header="Delete" Width="140"> - <DataGridTemplateColumn.CellTemplate> - <DataTemplate> - <Button Style="{StaticResource emptyButton}" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid},AncestorLevel=2},Path=DataContext.SelectedTab.DeleteCommand}" CommandParameter="{Binding}"> - <StackPanel Orientation="Horizontal"> - <TextBlock FontSize="16" Text="Delete" VerticalAlignment="Center"></TextBlock> - <materialDesign:PackIcon VerticalAlignment="Center" Margin="5 0 0 0" Kind="Delete" Width="18" /> - </StackPanel> - </Button> - </DataTemplate> - </DataGridTemplateColumn.CellTemplate> - </DataGridTemplateColumn> - </DataGrid.Columns> - </DataGrid> - </Grid> - </DockPanel> + + + </Grid> </Grid> </Grid> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml.cs index a75dc5d09..20be37970 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ThreadExtensions/Views/TestResultsView.xaml.cs @@ -52,5 +52,18 @@ namespace Tango.MachineStudio.ThreadExtensions.Views } } } + private void Popup_MouseDown(object sender, MouseButtonEventArgs e) + { + e.Handled = true; + } + private void ColorCanvas_SelectedColorChanged(object sender, RoutedPropertyChangedEventArgs<Color?> e) + { + if (e.NewValue.HasValue) + { + //_vm.OnSelectedBrushColorChanged((Color)e.NewValue); + } + } + } } + diff --git a/Software/Visual_Studio/Tango.BL/Builders/RMLExtensionTestResultsCollectionBuilder.cs b/Software/Visual_Studio/Tango.BL/Builders/RMLExtensionTestResultsCollectionBuilder.cs index 2b962d56b..a9aabdbdd 100644 --- a/Software/Visual_Studio/Tango.BL/Builders/RMLExtensionTestResultsCollectionBuilder.cs +++ b/Software/Visual_Studio/Tango.BL/Builders/RMLExtensionTestResultsCollectionBuilder.cs @@ -64,5 +64,45 @@ namespace Tango.BL.Builders } }); } + + public virtual RMLExtensionTestResultsCollectionBuilder WithWashingTestResults() + { + return AddStep(4, () => + { + foreach (var result in Entities.ToList()) + { + var tests = Context.RmlExtensionTestWashingResults.Where(x => x.RmlExtensionTestResultsGuid == result.Guid).ToList(); + foreach( var test in tests) + { + test.WashingTestMaterials = Context.WashingTestMaterials.FirstOrDefault(x => x.Guid == test.WashingTestMaterialsGuid); + } + + } + }); + } + + public virtual RMLExtensionTestResultsCollectionBuilder WithBtsrApplicationTypes() + { + return AddStep(5, () => + { + foreach (var result in Entities.ToList()) + { + if(!String.IsNullOrEmpty(result.BtsrApplicationTypeGuid)) + result.BtsrApplicationType = Context.BtsrApplicationTypes.FirstOrDefault(x => x.Guid == result.BtsrApplicationTypeGuid); + } + }); + } + + public virtual RMLExtensionTestResultsCollectionBuilder WithBtsrYarnTypes() + { + return AddStep(6, () => + { + foreach (var result in Entities.ToList()) + { + if (!String.IsNullOrEmpty(result.BtsrYarnTypeGuid)) + result.BtsrYarnType = Context.BtsrYarnTypes.FirstOrDefault(x => x.Guid == result.BtsrYarnTypeGuid); + } + }); + } } } diff --git a/Software/Visual_Studio/Tango.BL/Builders/machinesCollectionBuilder.cs b/Software/Visual_Studio/Tango.BL/Builders/machinesCollectionBuilder.cs new file mode 100644 index 000000000..25ca3e8f3 --- /dev/null +++ b/Software/Visual_Studio/Tango.BL/Builders/machinesCollectionBuilder.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.BL.Entities; +using System.Data.Entity; + +namespace Tango.BL.Builders +{ + public class MachinesCollectionBuilder : EntityCollectionBuilderBase<Machine, MachinesCollectionBuilder> + { + public MachinesCollectionBuilder(ObservablesContext context) : base(context) + { + + } + + public virtual MachinesCollectionBuilder WithVersion() + { + return AddQueryStep(1, (query) => + { + return query.Include(x => x.MachineVersion); + }); + + } + + public virtual MachinesCollectionBuilder WithOrganization() + { + return AddStep(2, () => + { + foreach (var machine in Entities.ToList()) + { + Context.Organizations.Where(x => x.Guid == machine.OrganizationGuid) + .Include(x => x.Address) + .Include(x => x.Contact).FirstOrDefault(); + } + }); + } + + public virtual MachinesCollectionBuilder WithConfiguration() + { + return AddStep(3, () => + { + foreach (var machine in Entities.ToList()) + { + new ConfigurationBuilder(Context) + .Set(machine.ConfigurationGuid) + .WithIdsPacks() + .WithHardwareVersion() + .Build(); + } + }); + } + } +} diff --git a/Software/Visual_Studio/Tango.BL/DTO/RmlExtensionTestResultDTOBase.cs b/Software/Visual_Studio/Tango.BL/DTO/RmlExtensionTestResultDTOBase.cs index d48a36b22..0f2fa1675 100644 --- a/Software/Visual_Studio/Tango.BL/DTO/RmlExtensionTestResultDTOBase.cs +++ b/Software/Visual_Studio/Tango.BL/DTO/RmlExtensionTestResultDTOBase.cs @@ -277,5 +277,29 @@ namespace Tango.BL.DTO get; set; } + /// <summary> + /// btsr application type guid + /// </summary> + public String BtsrApplicationTypeGuid + { + get; set; + } + + /// <summary> + /// btsr yarn type guid + /// </summary> + public String BtsrYarnTypeGuid + { + get; set; + } + + /// <summary> + /// btsr tension error + /// </summary> + public Double BtsrTensionError + { + get; set; + } + } } diff --git a/Software/Visual_Studio/Tango.BL/DTO/RmlExtensionTestWashingResultDTO.cs b/Software/Visual_Studio/Tango.BL/DTO/RmlExtensionTestWashingResultDTO.cs new file mode 100644 index 000000000..1e15767c8 --- /dev/null +++ b/Software/Visual_Studio/Tango.BL/DTO/RmlExtensionTestWashingResultDTO.cs @@ -0,0 +1,14 @@ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.BL.DTO +{ + public class RmlExtensionTestWashingResultDTO : RmlExtensionTestWashingResultDTOBase + { + + } +} diff --git a/Software/Visual_Studio/Tango.BL/DTO/RmlExtensionTestWashingResultDTOBase.cs b/Software/Visual_Studio/Tango.BL/DTO/RmlExtensionTestWashingResultDTOBase.cs new file mode 100644 index 000000000..db4fd9893 --- /dev/null +++ b/Software/Visual_Studio/Tango.BL/DTO/RmlExtensionTestWashingResultDTOBase.cs @@ -0,0 +1,65 @@ + +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Tango Observables Generator +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. Do not modify! +// </auto-generated> +//------------------------------------------------------------------------------ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.BL.Entities; + +namespace Tango.BL.DTO +{ + public abstract class RmlExtensionTestWashingResultDTOBase : ObservableEntityDTO<RmlExtensionTestWashingResultDTO, RmlExtensionTestWashingResult> + { + + /// <summary> + /// rml extension test results guid + /// </summary> + public String RmlExtensionTestResultsGuid + { + get; set; + } + + /// <summary> + /// washing test materials guid + /// </summary> + public String WashingTestMaterialsGuid + { + get; set; + } + + /// <summary> + /// index row + /// </summary> + public Int32 IndexRow + { + get; set; + } + + /// <summary> + /// color + /// </summary> + public Int32 Color + { + get; set; + } + + /// <summary> + /// washing value + /// </summary> + public Nullable<Double> WashingValue + { + get; set; + } + + } +} diff --git a/Software/Visual_Studio/Tango.BL/DTO/WashingTestMaterialDTO.cs b/Software/Visual_Studio/Tango.BL/DTO/WashingTestMaterialDTO.cs new file mode 100644 index 000000000..f2c9ec25d --- /dev/null +++ b/Software/Visual_Studio/Tango.BL/DTO/WashingTestMaterialDTO.cs @@ -0,0 +1,14 @@ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.BL.DTO +{ + public class WashingTestMaterialDTO : WashingTestMaterialDTOBase + { + + } +} diff --git a/Software/Visual_Studio/Tango.BL/DTO/WashingTestMaterialDTOBase.cs b/Software/Visual_Studio/Tango.BL/DTO/WashingTestMaterialDTOBase.cs new file mode 100644 index 000000000..8c9bc0ff1 --- /dev/null +++ b/Software/Visual_Studio/Tango.BL/DTO/WashingTestMaterialDTOBase.cs @@ -0,0 +1,33 @@ + +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Tango Observables Generator +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. Do not modify! +// </auto-generated> +//------------------------------------------------------------------------------ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.BL.Entities; + +namespace Tango.BL.DTO +{ + public abstract class WashingTestMaterialDTOBase : ObservableEntityDTO<WashingTestMaterialDTO, WashingTestMaterial> + { + + /// <summary> + /// name + /// </summary> + public String Name + { + get; set; + } + + } +} diff --git a/Software/Visual_Studio/Tango.BL/Entities/BtsrApplicationTypeBase.cs b/Software/Visual_Studio/Tango.BL/Entities/BtsrApplicationTypeBase.cs index ee1ff6ecc..70fd2c41e 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/BtsrApplicationTypeBase.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/BtsrApplicationTypeBase.cs @@ -33,6 +33,8 @@ namespace Tango.BL.Entities public event EventHandler<String> DescriptionChanged; + public event EventHandler<SynchronizedObservableCollection<RmlExtensionTestResult>> RmlExtensionTestResultsChanged; + public event EventHandler<SynchronizedObservableCollection<Rml>> RmlsChanged; protected Int32 _code; @@ -116,6 +118,31 @@ namespace Tango.BL.Entities } } + protected SynchronizedObservableCollection<RmlExtensionTestResult> _rmlextensiontestresults; + + /// <summary> + /// Gets or sets the btsrapplicationtypebase rml extension test results. + /// </summary> + + public virtual SynchronizedObservableCollection<RmlExtensionTestResult> RmlExtensionTestResults + { + get + { + return _rmlextensiontestresults; + } + + set + { + if (_rmlextensiontestresults != value) + { + _rmlextensiontestresults = value; + + OnRmlExtensionTestResultsChanged(value); + + } + } + } + protected SynchronizedObservableCollection<Rml> _rmls; /// <summary> @@ -169,6 +196,15 @@ namespace Tango.BL.Entities } /// <summary> + /// Called when the RmlExtensionTestResults has changed. + /// </summary> + protected virtual void OnRmlExtensionTestResultsChanged(SynchronizedObservableCollection<RmlExtensionTestResult> rmlextensiontestresults) + { + RmlExtensionTestResultsChanged?.Invoke(this, rmlextensiontestresults); + RaisePropertyChanged(nameof(RmlExtensionTestResults)); + } + + /// <summary> /// Called when the Rmls has changed. /// </summary> protected virtual void OnRmlsChanged(SynchronizedObservableCollection<Rml> rmls) @@ -183,6 +219,8 @@ namespace Tango.BL.Entities public BtsrApplicationTypeBase() : base() { + RmlExtensionTestResults = new SynchronizedObservableCollection<RmlExtensionTestResult>(); + Rmls = new SynchronizedObservableCollection<Rml>(); } diff --git a/Software/Visual_Studio/Tango.BL/Entities/BtsrYarnTypeBase.cs b/Software/Visual_Studio/Tango.BL/Entities/BtsrYarnTypeBase.cs index 608989fab..8128c8998 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/BtsrYarnTypeBase.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/BtsrYarnTypeBase.cs @@ -33,6 +33,8 @@ namespace Tango.BL.Entities public event EventHandler<String> DescriptionChanged; + public event EventHandler<SynchronizedObservableCollection<RmlExtensionTestResult>> RmlExtensionTestResultsChanged; + public event EventHandler<SynchronizedObservableCollection<Rml>> RmlsChanged; protected Int32 _code; @@ -116,6 +118,31 @@ namespace Tango.BL.Entities } } + protected SynchronizedObservableCollection<RmlExtensionTestResult> _rmlextensiontestresults; + + /// <summary> + /// Gets or sets the btsryarntypebase rml extension test results. + /// </summary> + + public virtual SynchronizedObservableCollection<RmlExtensionTestResult> RmlExtensionTestResults + { + get + { + return _rmlextensiontestresults; + } + + set + { + if (_rmlextensiontestresults != value) + { + _rmlextensiontestresults = value; + + OnRmlExtensionTestResultsChanged(value); + + } + } + } + protected SynchronizedObservableCollection<Rml> _rmls; /// <summary> @@ -169,6 +196,15 @@ namespace Tango.BL.Entities } /// <summary> + /// Called when the RmlExtensionTestResults has changed. + /// </summary> + protected virtual void OnRmlExtensionTestResultsChanged(SynchronizedObservableCollection<RmlExtensionTestResult> rmlextensiontestresults) + { + RmlExtensionTestResultsChanged?.Invoke(this, rmlextensiontestresults); + RaisePropertyChanged(nameof(RmlExtensionTestResults)); + } + + /// <summary> /// Called when the Rmls has changed. /// </summary> protected virtual void OnRmlsChanged(SynchronizedObservableCollection<Rml> rmls) @@ -183,6 +219,8 @@ namespace Tango.BL.Entities public BtsrYarnTypeBase() : base() { + RmlExtensionTestResults = new SynchronizedObservableCollection<RmlExtensionTestResult>(); + Rmls = new SynchronizedObservableCollection<Rml>(); } diff --git a/Software/Visual_Studio/Tango.BL/Entities/RmlExtensionTestResultBase.cs b/Software/Visual_Studio/Tango.BL/Entities/RmlExtensionTestResultBase.cs index 2dd1e029a..22844741c 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/RmlExtensionTestResultBase.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/RmlExtensionTestResultBase.cs @@ -87,14 +87,22 @@ namespace Tango.BL.Entities public event EventHandler<Nullable<Double>> ThreadLubChanged; + public event EventHandler<Double> BtsrTensionErrorChanged; + public event EventHandler<RmlsExtension> RmlsExtensionsChanged; public event EventHandler<SynchronizedObservableCollection<TensileResult>> TensileResultsChanged; public event EventHandler<SynchronizedObservableCollection<RmlExtensionTestResultsFile>> RmlExtensionTestResultsFilesChanged; + public event EventHandler<BtsrApplicationType> BtsrApplicationTypeChanged; + + public event EventHandler<BtsrYarnType> BtsrYarnTypeChanged; + public event EventHandler<Machine> MachineChanged; + public event EventHandler<SynchronizedObservableCollection<RmlExtensionTestWashingResult>> RmlExtensionTestWashingResultsChanged; + public event EventHandler<SynchronizedObservableCollection<RubbingResult>> RubbingResultsChanged; protected String _rmlsextensionsguid; @@ -959,6 +967,85 @@ namespace Tango.BL.Entities } } + protected String _btsrapplicationtypeguid; + + /// <summary> + /// Gets or sets the rmlextensiontestresultbase btsr application type guid. + /// </summary> + + [Column("BTSR_APPLICATION_TYPE_GUID")] + [ForeignKey("BtsrApplicationType")] + + public String BtsrApplicationTypeGuid + { + get + { + return _btsrapplicationtypeguid; + } + + set + { + if (_btsrapplicationtypeguid != value) + { + _btsrapplicationtypeguid = value; + + } + } + } + + protected String _btsryarntypeguid; + + /// <summary> + /// Gets or sets the rmlextensiontestresultbase btsr yarn type guid. + /// </summary> + + [Column("BTSR_YARN_TYPE_GUID")] + [ForeignKey("BtsrYarnType")] + + public String BtsrYarnTypeGuid + { + get + { + return _btsryarntypeguid; + } + + set + { + if (_btsryarntypeguid != value) + { + _btsryarntypeguid = value; + + } + } + } + + protected Double _btsrtensionerror; + + /// <summary> + /// Gets or sets the rmlextensiontestresultbase btsr tension error. + /// </summary> + + [Column("BTSR_TENSION_ERROR")] + + public Double BtsrTensionError + { + get + { + return _btsrtensionerror; + } + + set + { + if (_btsrtensionerror != value) + { + _btsrtensionerror = value; + + OnBtsrTensionErrorChanged(value); + + } + } + } + protected RmlsExtension _rmlsextensions; /// <summary> @@ -1041,6 +1128,70 @@ namespace Tango.BL.Entities } } + protected BtsrApplicationType _btsrapplicationtype; + + /// <summary> + /// Gets or sets the rmlextensiontestresultbase btsr application types. + /// </summary> + + [XmlIgnore] + [JsonIgnore] + public virtual BtsrApplicationType BtsrApplicationType + { + get + { + return _btsrapplicationtype; + } + + set + { + if (_btsrapplicationtype != value) + { + _btsrapplicationtype = value; + + if (BtsrApplicationType != null) + { + BtsrApplicationTypeGuid = BtsrApplicationType.Guid; + } + + OnBtsrApplicationTypeChanged(value); + + } + } + } + + protected BtsrYarnType _btsryarntype; + + /// <summary> + /// Gets or sets the rmlextensiontestresultbase btsr yarn types. + /// </summary> + + [XmlIgnore] + [JsonIgnore] + public virtual BtsrYarnType BtsrYarnType + { + get + { + return _btsryarntype; + } + + set + { + if (_btsryarntype != value) + { + _btsryarntype = value; + + if (BtsrYarnType != null) + { + BtsrYarnTypeGuid = BtsrYarnType.Guid; + } + + OnBtsrYarnTypeChanged(value); + + } + } + } + protected Machine _machine; /// <summary> @@ -1073,6 +1224,31 @@ namespace Tango.BL.Entities } } + protected SynchronizedObservableCollection<RmlExtensionTestWashingResult> _rmlextensiontestwashingresults; + + /// <summary> + /// Gets or sets the rmlextensiontestresultbase rml extension test washing results. + /// </summary> + + public virtual SynchronizedObservableCollection<RmlExtensionTestWashingResult> RmlExtensionTestWashingResults + { + get + { + return _rmlextensiontestwashingresults; + } + + set + { + if (_rmlextensiontestwashingresults != value) + { + _rmlextensiontestwashingresults = value; + + OnRmlExtensionTestWashingResultsChanged(value); + + } + } + } + protected SynchronizedObservableCollection<RubbingResult> _rubbingresults; /// <summary> @@ -1369,6 +1545,15 @@ namespace Tango.BL.Entities } /// <summary> + /// Called when the BtsrTensionError has changed. + /// </summary> + protected virtual void OnBtsrTensionErrorChanged(Double btsrtensionerror) + { + BtsrTensionErrorChanged?.Invoke(this, btsrtensionerror); + RaisePropertyChanged(nameof(BtsrTensionError)); + } + + /// <summary> /// Called when the RmlsExtensions has changed. /// </summary> protected virtual void OnRmlsExtensionsChanged(RmlsExtension rmlsextensions) @@ -1396,6 +1581,24 @@ namespace Tango.BL.Entities } /// <summary> + /// Called when the BtsrApplicationType has changed. + /// </summary> + protected virtual void OnBtsrApplicationTypeChanged(BtsrApplicationType btsrapplicationtype) + { + BtsrApplicationTypeChanged?.Invoke(this, btsrapplicationtype); + RaisePropertyChanged(nameof(BtsrApplicationType)); + } + + /// <summary> + /// Called when the BtsrYarnType has changed. + /// </summary> + protected virtual void OnBtsrYarnTypeChanged(BtsrYarnType btsryarntype) + { + BtsrYarnTypeChanged?.Invoke(this, btsryarntype); + RaisePropertyChanged(nameof(BtsrYarnType)); + } + + /// <summary> /// Called when the Machine has changed. /// </summary> protected virtual void OnMachineChanged(Machine machine) @@ -1405,6 +1608,15 @@ namespace Tango.BL.Entities } /// <summary> + /// Called when the RmlExtensionTestWashingResults has changed. + /// </summary> + protected virtual void OnRmlExtensionTestWashingResultsChanged(SynchronizedObservableCollection<RmlExtensionTestWashingResult> rmlextensiontestwashingresults) + { + RmlExtensionTestWashingResultsChanged?.Invoke(this, rmlextensiontestwashingresults); + RaisePropertyChanged(nameof(RmlExtensionTestWashingResults)); + } + + /// <summary> /// Called when the RubbingResults has changed. /// </summary> protected virtual void OnRubbingResultsChanged(SynchronizedObservableCollection<RubbingResult> rubbingresults) @@ -1423,6 +1635,8 @@ namespace Tango.BL.Entities RmlExtensionTestResultsFiles = new SynchronizedObservableCollection<RmlExtensionTestResultsFile>(); + RmlExtensionTestWashingResults = new SynchronizedObservableCollection<RmlExtensionTestWashingResult>(); + RubbingResults = new SynchronizedObservableCollection<RubbingResult>(); } diff --git a/Software/Visual_Studio/Tango.BL/Entities/RmlExtensionTestWashingResult.cs b/Software/Visual_Studio/Tango.BL/Entities/RmlExtensionTestWashingResult.cs new file mode 100644 index 000000000..9d67cef70 --- /dev/null +++ b/Software/Visual_Studio/Tango.BL/Entities/RmlExtensionTestWashingResult.cs @@ -0,0 +1,49 @@ +using ColorMine.ColorSpaces; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Media; + +namespace Tango.BL.Entities +{ + public class RmlExtensionTestWashingResult: RmlExtensionTestWashingResultBase + { + public RmlExtensionTestWashingResult(): base() + { + + } + + [NotMapped] + [JsonIgnore] + public string GetMaterialName + { + get + { + return WashingTestMaterials != null ? WashingTestMaterials.Name : ""; + } + } + + //[NotMapped] + //[JsonIgnore] + //public Color ColorValue + //{ + // get + // { + // byte[] bytes = BitConverter.GetBytes(Color); + // var color1 = new SolidColorBrush(System.Windows.Media.Color.FromArgb(bytes[3], bytes[2], bytes[1], bytes[0])); + // return System.Windows.Media.Color.FromRgb(bytes[2], bytes[1], bytes[0]); + // } + // set + // { + // int v = ColorToInteger(value); + // int colorCodeWithAlpha = BitConverter.ToInt32(new byte[] { value.B, value.G, value.R, value.A }, 0); + // Color = colorCodeWithAlpha; + // RaisePropertyChanged(nameof(Color)); + // } + //} + } +} diff --git a/Software/Visual_Studio/Tango.BL/Entities/RmlExtensionTestWashingResultBase.cs b/Software/Visual_Studio/Tango.BL/Entities/RmlExtensionTestWashingResultBase.cs new file mode 100644 index 000000000..c4016bb40 --- /dev/null +++ b/Software/Visual_Studio/Tango.BL/Entities/RmlExtensionTestWashingResultBase.cs @@ -0,0 +1,289 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Tango Observables Generator +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. Do not modify! +// </auto-generated> +//------------------------------------------------------------------------------ + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Xml.Serialization; +using Newtonsoft.Json; +using System.Linq; +using Tango.DAL.Remote.DB; +using Tango.Core; +using System.ComponentModel; +using Tango.Core.CustomAttributes; + +namespace Tango.BL.Entities +{ + [Table("RML_EXTENSION_TEST_WASHING_RESULTS")] + public abstract class RmlExtensionTestWashingResultBase : ObservableEntity<RmlExtensionTestWashingResult> + { + + public event EventHandler<Int32> IndexRowChanged; + + public event EventHandler<Int32> ColorChanged; + + public event EventHandler<Nullable<Double>> WashingValueChanged; + + public event EventHandler<RmlExtensionTestResult> RmlExtensionTestResultsChanged; + + public event EventHandler<WashingTestMaterial> WashingTestMaterialsChanged; + + protected String _rmlextensiontestresultsguid; + + /// <summary> + /// Gets or sets the rmlextensiontestwashingresultbase rml extension test results guid. + /// </summary> + + [Column("RML_EXTENSION_TEST_RESULTS_GUID")] + [ForeignKey("RmlExtensionTestResults")] + + public String RmlExtensionTestResultsGuid + { + get + { + return _rmlextensiontestresultsguid; + } + + set + { + if (_rmlextensiontestresultsguid != value) + { + _rmlextensiontestresultsguid = value; + + } + } + } + + protected String _washingtestmaterialsguid; + + /// <summary> + /// Gets or sets the rmlextensiontestwashingresultbase washing test materials guid. + /// </summary> + + [Column("WASHING_TEST_MATERIALS_GUID")] + [ForeignKey("WashingTestMaterials")] + + public String WashingTestMaterialsGuid + { + get + { + return _washingtestmaterialsguid; + } + + set + { + if (_washingtestmaterialsguid != value) + { + _washingtestmaterialsguid = value; + + } + } + } + + protected Int32 _indexrow; + + /// <summary> + /// Gets or sets the rmlextensiontestwashingresultbase index row. + /// </summary> + + [Column("INDEX_ROW")] + + public Int32 IndexRow + { + get + { + return _indexrow; + } + + set + { + if (_indexrow != value) + { + _indexrow = value; + + OnIndexRowChanged(value); + + } + } + } + + protected Int32 _color; + + /// <summary> + /// Gets or sets the rmlextensiontestwashingresultbase color. + /// </summary> + + [Column("COLOR")] + + public Int32 Color + { + get + { + return _color; + } + + set + { + if (_color != value) + { + _color = value; + + OnColorChanged(value); + + } + } + } + + protected Nullable<Double> _washingvalue; + + /// <summary> + /// Gets or sets the rmlextensiontestwashingresultbase washing value. + /// </summary> + + [Column("WASHING_VALUE")] + + public Nullable<Double> WashingValue + { + get + { + return _washingvalue; + } + + set + { + if (_washingvalue != value) + { + _washingvalue = value; + + OnWashingValueChanged(value); + + } + } + } + + protected RmlExtensionTestResult _rmlextensiontestresults; + + /// <summary> + /// Gets or sets the rmlextensiontestwashingresultbase rml extension test results. + /// </summary> + + [XmlIgnore] + [JsonIgnore] + public virtual RmlExtensionTestResult RmlExtensionTestResults + { + get + { + return _rmlextensiontestresults; + } + + set + { + if (_rmlextensiontestresults != value) + { + _rmlextensiontestresults = value; + + if (RmlExtensionTestResults != null) + { + RmlExtensionTestResultsGuid = RmlExtensionTestResults.Guid; + } + + OnRmlExtensionTestResultsChanged(value); + + } + } + } + + protected WashingTestMaterial _washingtestmaterials; + + /// <summary> + /// Gets or sets the rmlextensiontestwashingresultbase washing test materials. + /// </summary> + + [XmlIgnore] + [JsonIgnore] + public virtual WashingTestMaterial WashingTestMaterials + { + get + { + return _washingtestmaterials; + } + + set + { + if (_washingtestmaterials != value) + { + _washingtestmaterials = value; + + if (WashingTestMaterials != null) + { + WashingTestMaterialsGuid = WashingTestMaterials.Guid; + } + + OnWashingTestMaterialsChanged(value); + + } + } + } + + /// <summary> + /// Called when the IndexRow has changed. + /// </summary> + protected virtual void OnIndexRowChanged(Int32 indexrow) + { + IndexRowChanged?.Invoke(this, indexrow); + RaisePropertyChanged(nameof(IndexRow)); + } + + /// <summary> + /// Called when the Color has changed. + /// </summary> + protected virtual void OnColorChanged(Int32 color) + { + ColorChanged?.Invoke(this, color); + RaisePropertyChanged(nameof(Color)); + } + + /// <summary> + /// Called when the WashingValue has changed. + /// </summary> + protected virtual void OnWashingValueChanged(Nullable<Double> washingvalue) + { + WashingValueChanged?.Invoke(this, washingvalue); + RaisePropertyChanged(nameof(WashingValue)); + } + + /// <summary> + /// Called when the RmlExtensionTestResults has changed. + /// </summary> + protected virtual void OnRmlExtensionTestResultsChanged(RmlExtensionTestResult rmlextensiontestresults) + { + RmlExtensionTestResultsChanged?.Invoke(this, rmlextensiontestresults); + RaisePropertyChanged(nameof(RmlExtensionTestResults)); + } + + /// <summary> + /// Called when the WashingTestMaterials has changed. + /// </summary> + protected virtual void OnWashingTestMaterialsChanged(WashingTestMaterial washingtestmaterials) + { + WashingTestMaterialsChanged?.Invoke(this, washingtestmaterials); + RaisePropertyChanged(nameof(WashingTestMaterials)); + } + + /// <summary> + /// Initializes a new instance of the <see cref="RmlExtensionTestWashingResultBase" /> class. + /// </summary> + public RmlExtensionTestWashingResultBase() : base() + { + } + } +} diff --git a/Software/Visual_Studio/Tango.BL/Entities/WashingTestMaterial.cs b/Software/Visual_Studio/Tango.BL/Entities/WashingTestMaterial.cs new file mode 100644 index 000000000..7cb6bd8e3 --- /dev/null +++ b/Software/Visual_Studio/Tango.BL/Entities/WashingTestMaterial.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.BL.Entities +{ + public class WashingTestMaterial: WashingTestMaterialBase + { + } +} diff --git a/Software/Visual_Studio/Tango.BL/Entities/WashingTestMaterialBase.cs b/Software/Visual_Studio/Tango.BL/Entities/WashingTestMaterialBase.cs new file mode 100644 index 000000000..84271403c --- /dev/null +++ b/Software/Visual_Studio/Tango.BL/Entities/WashingTestMaterialBase.cs @@ -0,0 +1,114 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Tango Observables Generator +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. Do not modify! +// </auto-generated> +//------------------------------------------------------------------------------ + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Xml.Serialization; +using Newtonsoft.Json; +using System.Linq; +using Tango.DAL.Remote.DB; +using Tango.Core; +using System.ComponentModel; +using Tango.Core.CustomAttributes; + +namespace Tango.BL.Entities +{ + [Table("WASHING_TEST_MATERIALS")] + public abstract class WashingTestMaterialBase : ObservableEntity<WashingTestMaterial> + { + + public event EventHandler<String> NameChanged; + + public event EventHandler<SynchronizedObservableCollection<RmlExtensionTestWashingResult>> RmlExtensionTestWashingResultsChanged; + + protected String _name; + + /// <summary> + /// Gets or sets the washingtestmaterialbase name. + /// </summary> + + [Column("NAME")] + + public String Name + { + get + { + return _name; + } + + set + { + if (_name != value) + { + _name = value; + + OnNameChanged(value); + + } + } + } + + protected SynchronizedObservableCollection<RmlExtensionTestWashingResult> _rmlextensiontestwashingresults; + + /// <summary> + /// Gets or sets the washingtestmaterialbase rml extension test washing results. + /// </summary> + + public virtual SynchronizedObservableCollection<RmlExtensionTestWashingResult> RmlExtensionTestWashingResults + { + get + { + return _rmlextensiontestwashingresults; + } + + set + { + if (_rmlextensiontestwashingresults != value) + { + _rmlextensiontestwashingresults = value; + + OnRmlExtensionTestWashingResultsChanged(value); + + } + } + } + + /// <summary> + /// Called when the Name has changed. + /// </summary> + protected virtual void OnNameChanged(String name) + { + NameChanged?.Invoke(this, name); + RaisePropertyChanged(nameof(Name)); + } + + /// <summary> + /// Called when the RmlExtensionTestWashingResults has changed. + /// </summary> + protected virtual void OnRmlExtensionTestWashingResultsChanged(SynchronizedObservableCollection<RmlExtensionTestWashingResult> rmlextensiontestwashingresults) + { + RmlExtensionTestWashingResultsChanged?.Invoke(this, rmlextensiontestwashingresults); + RaisePropertyChanged(nameof(RmlExtensionTestWashingResults)); + } + + /// <summary> + /// Initializes a new instance of the <see cref="WashingTestMaterialBase" /> class. + /// </summary> + public WashingTestMaterialBase() : base() + { + + RmlExtensionTestWashingResults = new SynchronizedObservableCollection<RmlExtensionTestWashingResult>(); + + } + } +} diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/ColorSpaces.cs b/Software/Visual_Studio/Tango.BL/Enumerations/ColorSpaces.cs index 63970e879..d254475d9 100644 --- a/Software/Visual_Studio/Tango.BL/Enumerations/ColorSpaces.cs +++ b/Software/Visual_Studio/Tango.BL/Enumerations/ColorSpaces.cs @@ -49,11 +49,5 @@ namespace Tango.BL.Enumerations [Description("Catalog")] Catalog = 4, - /// <summary> - /// (HSB) - /// </summary> - [Description("HSB")] - HSB = 5, - } } diff --git a/Software/Visual_Studio/Tango.BL/ObservablesContext.cs b/Software/Visual_Studio/Tango.BL/ObservablesContext.cs index 22ba28929..c06af8ba5 100644 --- a/Software/Visual_Studio/Tango.BL/ObservablesContext.cs +++ b/Software/Visual_Studio/Tango.BL/ObservablesContext.cs @@ -767,6 +767,14 @@ namespace Tango.BL } /// <summary> + /// Gets or sets the RmlExtensionTestWashingResults. + /// </summary> + public DbSet<RmlExtensionTestWashingResult> RmlExtensionTestWashingResults + { + get; set; + } + + /// <summary> /// Gets or sets the Rmls. /// </summary> public DbSet<Rml> Rmls @@ -959,6 +967,14 @@ namespace Tango.BL } /// <summary> + /// Gets or sets the WashingTestMaterials. + /// </summary> + public DbSet<WashingTestMaterial> WashingTestMaterials + { + get; set; + } + + /// <summary> /// Gets or sets the WindingMethods. /// </summary> public DbSet<WindingMethod> WindingMethods diff --git a/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs b/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs index 33ef519ac..d06377cf3 100644 --- a/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs +++ b/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs @@ -3365,6 +3365,42 @@ namespace Tango.BL } + private ObservableCollection<RmlExtensionTestWashingResult> _rmlextensiontestwashingresults; + /// <summary> + /// Gets or sets the RmlExtensionTestWashingResults. + /// </summary> + public ObservableCollection<RmlExtensionTestWashingResult> RmlExtensionTestWashingResults + { + get + { + return _rmlextensiontestwashingresults; + } + + set + { + _rmlextensiontestwashingresults = value; RaisePropertyChanged(nameof(RmlExtensionTestWashingResults)); + } + + } + + private ICollectionView _rmlextensiontestwashingresultsViewSource; + /// <summary> + /// Gets or sets the RmlExtensionTestWashingResults View Source. + ///</summary> + public ICollectionView RmlExtensionTestWashingResultsViewSource + { + get + { + return _rmlextensiontestwashingresultsViewSource; + } + + set + { + _rmlextensiontestwashingresultsViewSource = value; RaisePropertyChanged(nameof(RmlExtensionTestWashingResultsViewSource)); + } + + } + private ObservableCollection<Rml> _rmls; /// <summary> /// Gets or sets the Rmls. @@ -4229,6 +4265,42 @@ namespace Tango.BL } + private ObservableCollection<WashingTestMaterial> _washingtestmaterials; + /// <summary> + /// Gets or sets the WashingTestMaterials. + /// </summary> + public ObservableCollection<WashingTestMaterial> WashingTestMaterials + { + get + { + return _washingtestmaterials; + } + + set + { + _washingtestmaterials = value; RaisePropertyChanged(nameof(WashingTestMaterials)); + } + + } + + private ICollectionView _washingtestmaterialsViewSource; + /// <summary> + /// Gets or sets the WashingTestMaterials View Source. + ///</summary> + public ICollectionView WashingTestMaterialsViewSource + { + get + { + return _washingtestmaterialsViewSource; + } + + set + { + _washingtestmaterialsViewSource = value; RaisePropertyChanged(nameof(WashingTestMaterialsViewSource)); + } + + } + private ObservableCollection<WindingMethod> _windingmethods; /// <summary> /// Gets or sets the WindingMethods. @@ -4457,6 +4529,8 @@ namespace Tango.BL PublishedProcedureProjectsVersionsViewSource = CreateCollectionView(PublishedProcedureProjectsVersions); + RmlExtensionTestWashingResultsViewSource = CreateCollectionView(RmlExtensionTestWashingResults); + RmlsViewSource = CreateCollectionView(Rmls); RmlsSpoolsViewSource = CreateCollectionView(RmlsSpools); @@ -4505,6 +4579,8 @@ namespace Tango.BL UsersRolesViewSource = CreateCollectionView(UsersRoles); + WashingTestMaterialsViewSource = CreateCollectionView(WashingTestMaterials); + WindingMethodsViewSource = CreateCollectionView(WindingMethods); } diff --git a/Software/Visual_Studio/Tango.BL/ObservablesStaticCollectionsExtension.cs b/Software/Visual_Studio/Tango.BL/ObservablesStaticCollectionsExtension.cs index c2b370f38..b40fbb618 100644 --- a/Software/Visual_Studio/Tango.BL/ObservablesStaticCollectionsExtension.cs +++ b/Software/Visual_Studio/Tango.BL/ObservablesStaticCollectionsExtension.cs @@ -3365,6 +3365,42 @@ namespace Tango.BL } + private ObservableCollection<RmlExtensionTestWashingResult> _rmlextensiontestwashingresults; + /// <summary> + /// Gets or sets the RmlExtensionTestWashingResults. + /// </summary> + public ObservableCollection<RmlExtensionTestWashingResult> RmlExtensionTestWashingResults + { + get + { + return _rmlextensiontestwashingresults; + } + + set + { + _rmlextensiontestwashingresults = value; RaisePropertyChanged(nameof(RmlExtensionTestWashingResults)); + } + + } + + private ICollectionView _rmlextensiontestwashingresultsViewSource; + /// <summary> + /// Gets or sets the RmlExtensionTestWashingResults View Source. + ///</summary> + public ICollectionView RmlExtensionTestWashingResultsViewSource + { + get + { + return _rmlextensiontestwashingresultsViewSource; + } + + set + { + _rmlextensiontestwashingresultsViewSource = value; RaisePropertyChanged(nameof(RmlExtensionTestWashingResultsViewSource)); + } + + } + private ObservableCollection<Rml> _rmls; /// <summary> /// Gets or sets the Rmls. @@ -4229,6 +4265,42 @@ namespace Tango.BL } + private ObservableCollection<WashingTestMaterial> _washingtestmaterials; + /// <summary> + /// Gets or sets the WashingTestMaterials. + /// </summary> + public ObservableCollection<WashingTestMaterial> WashingTestMaterials + { + get + { + return _washingtestmaterials; + } + + set + { + _washingtestmaterials = value; RaisePropertyChanged(nameof(WashingTestMaterials)); + } + + } + + private ICollectionView _washingtestmaterialsViewSource; + /// <summary> + /// Gets or sets the WashingTestMaterials View Source. + ///</summary> + public ICollectionView WashingTestMaterialsViewSource + { + get + { + return _washingtestmaterialsViewSource; + } + + set + { + _washingtestmaterialsViewSource = value; RaisePropertyChanged(nameof(WashingTestMaterialsViewSource)); + } + + } + private ObservableCollection<WindingMethod> _windingmethods; /// <summary> /// Gets or sets the WindingMethods. @@ -4457,6 +4529,8 @@ namespace Tango.BL PublishedProcedureProjectsVersionsViewSource = CreateCollectionView(PublishedProcedureProjectsVersions); + RmlExtensionTestWashingResultsViewSource = CreateCollectionView(RmlExtensionTestWashingResults); + RmlsViewSource = CreateCollectionView(Rmls); RmlsSpoolsViewSource = CreateCollectionView(RmlsSpools); @@ -4505,6 +4579,8 @@ namespace Tango.BL UsersRolesViewSource = CreateCollectionView(UsersRoles); + WashingTestMaterialsViewSource = CreateCollectionView(WashingTestMaterials); + WindingMethodsViewSource = CreateCollectionView(WindingMethods); } diff --git a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj index 8bdb3b3f5..ea2315046 100644 --- a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj +++ b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj @@ -116,6 +116,7 @@ <Compile Include="Builders\JobBuilder.cs" /> <Compile Include="Builders\JobRunsCollectionBuilder.cs" /> <Compile Include="Builders\CatalogsCollectionBuilder.cs" /> + <Compile Include="Builders\MachinesCollectionBuilder.cs" /> <Compile Include="Builders\RMLExtensionColorCalibrationBuilder.cs" /> <Compile Include="Builders\RMLExtensionColorShadeBuilder.cs" /> <Compile Include="Builders\RmlExtensionsBuilder.cs" /> @@ -307,6 +308,8 @@ <Compile Include="DTO\RmlExtensionTestResultDTOBase.cs" /> <Compile Include="DTO\RmlExtensionTestResultsFileDTO.cs" /> <Compile Include="DTO\RmlExtensionTestResultsFileDTOBase.cs" /> + <Compile Include="DTO\RmlExtensionTestWashingResultDTO.cs" /> + <Compile Include="DTO\RmlExtensionTestWashingResultDTOBase.cs" /> <Compile Include="DTO\RmlsExtensionDTO.cs" /> <Compile Include="DTO\RmlsExtensionDTOBase.cs" /> <Compile Include="DTO\RmlsSpoolDTO.cs" /> @@ -357,6 +360,8 @@ <Compile Include="DTO\UserDTOBase.cs" /> <Compile Include="DTO\UsersRoleDTO.cs" /> <Compile Include="DTO\UsersRoleDTOBase.cs" /> + <Compile Include="DTO\WashingTestMaterialDTO.cs" /> + <Compile Include="DTO\WashingTestMaterialDTOBase.cs" /> <Compile Include="DTO\WindingMethodDTO.cs" /> <Compile Include="DTO\WindingMethodDTOBase.cs" /> <Compile Include="DTO\YarnApplicationDTO.cs" /> @@ -495,6 +500,8 @@ <Compile Include="Entities\RmlExtensionTestResultBase.cs" /> <Compile Include="Entities\RmlExtensionTestResultsFile.cs" /> <Compile Include="Entities\RmlExtensionTestResultsFileBase.cs" /> + <Compile Include="Entities\RmlExtensionTestWashingResult.cs" /> + <Compile Include="Entities\RmlExtensionTestWashingResultBase.cs" /> <Compile Include="Entities\RmlsExtension.cs" /> <Compile Include="Entities\RmlsExtensionBase.cs" /> <Compile Include="Entities\RmlsSpoolBase.cs" /> @@ -537,6 +544,8 @@ <Compile Include="Entities\TensileResultBase.cs" /> <Compile Include="Entities\UserBase.cs" /> <Compile Include="Entities\UsersRoleBase.cs" /> + <Compile Include="Entities\WashingTestMaterial.cs" /> + <Compile Include="Entities\WashingTestMaterialBase.cs" /> <Compile Include="Entities\WindingMethodBase.cs" /> <Compile Include="Entities\YarnApplication.cs" /> <Compile Include="Entities\YarnApplicationBase.cs" /> diff --git a/Software/Visual_Studio/Tango.ColorPicker/ColorCanvas/Implementation/ColorCanvas.cs b/Software/Visual_Studio/Tango.ColorPicker/ColorCanvas/Implementation/ColorCanvas.cs index 6404c9af3..5d84309d8 100644 --- a/Software/Visual_Studio/Tango.ColorPicker/ColorCanvas/Implementation/ColorCanvas.cs +++ b/Software/Visual_Studio/Tango.ColorPicker/ColorCanvas/Implementation/ColorCanvas.cs @@ -549,7 +549,8 @@ namespace Tango var currentColor = ColorUtilities.ConvertHsvToRgb( hsv.H, hsv.S, hsv.V ); currentColor.A = A; _updateSpectrumSliderValue = false; - SelectedColor = currentColor; + if(SelectedColor != currentColor) + SelectedColor = currentColor; _updateSpectrumSliderValue = true; SetHexadecimalStringProperty( GetFormatedColorString( SelectedColor ), false ); } diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/BTSR_APPLICATION_TYPES.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/BTSR_APPLICATION_TYPES.cs index a4ebc4b0f..523980e37 100644 --- a/Software/Visual_Studio/Tango.DAL.Remote/DB/BTSR_APPLICATION_TYPES.cs +++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/BTSR_APPLICATION_TYPES.cs @@ -17,6 +17,7 @@ namespace Tango.DAL.Remote.DB [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] public BTSR_APPLICATION_TYPES() { + this.RML_EXTENSION_TEST_RESULTS = new HashSet<RML_EXTENSION_TEST_RESULTS>(); this.RMLS = new HashSet<RML>(); } @@ -28,6 +29,8 @@ namespace Tango.DAL.Remote.DB public string DESCRIPTION { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public virtual ICollection<RML_EXTENSION_TEST_RESULTS> RML_EXTENSION_TEST_RESULTS { get; set; } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollection<RML> RMLS { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/BTSR_YARN_TYPES.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/BTSR_YARN_TYPES.cs index 256af7baf..ef09f7498 100644 --- a/Software/Visual_Studio/Tango.DAL.Remote/DB/BTSR_YARN_TYPES.cs +++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/BTSR_YARN_TYPES.cs @@ -17,6 +17,7 @@ namespace Tango.DAL.Remote.DB [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] public BTSR_YARN_TYPES() { + this.RML_EXTENSION_TEST_RESULTS = new HashSet<RML_EXTENSION_TEST_RESULTS>(); this.RMLS = new HashSet<RML>(); } @@ -28,6 +29,8 @@ namespace Tango.DAL.Remote.DB public string DESCRIPTION { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public virtual ICollection<RML_EXTENSION_TEST_RESULTS> RML_EXTENSION_TEST_RESULTS { get; set; } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollection<RML> RMLS { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RML_EXTENSION_TEST_RESULTS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/RML_EXTENSION_TEST_RESULTS.cs index a5c6e025a..e4bf0b029 100644 --- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RML_EXTENSION_TEST_RESULTS.cs +++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RML_EXTENSION_TEST_RESULTS.cs @@ -19,6 +19,7 @@ namespace Tango.DAL.Remote.DB { this.TENSILE_RESULTS = new HashSet<TENSILE_RESULTS>(); this.RML_EXTENSION_TEST_RESULTS_FILES = new HashSet<RML_EXTENSION_TEST_RESULTS_FILES>(); + this.RML_EXTENSION_TEST_WASHING_RESULTS = new HashSet<RML_EXTENSION_TEST_WASHING_RESULTS>(); this.RUBBING_RESULTS = new HashSet<RUBBING_RESULTS>(); } @@ -57,14 +58,21 @@ namespace Tango.DAL.Remote.DB public string THREAD_LUB_VERSION { get; set; } public Nullable<double> THREAD_COF { get; set; } public Nullable<double> THREAD_LUB { get; set; } + public string BTSR_APPLICATION_TYPE_GUID { get; set; } + public string BTSR_YARN_TYPE_GUID { get; set; } + public double BTSR_TENSION_ERROR { get; set; } public virtual RMLS_EXTENSIONS RMLS_EXTENSIONS { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollection<TENSILE_RESULTS> TENSILE_RESULTS { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollection<RML_EXTENSION_TEST_RESULTS_FILES> RML_EXTENSION_TEST_RESULTS_FILES { get; set; } + public virtual BTSR_APPLICATION_TYPES BTSR_APPLICATION_TYPES { get; set; } + public virtual BTSR_YARN_TYPES BTSR_YARN_TYPES { get; set; } public virtual MACHINE MACHINE { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public virtual ICollection<RML_EXTENSION_TEST_WASHING_RESULTS> RML_EXTENSION_TEST_WASHING_RESULTS { get; set; } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public virtual ICollection<RUBBING_RESULTS> RUBBING_RESULTS { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RML_EXTENSION_TEST_WASHING_RESULTS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/RML_EXTENSION_TEST_WASHING_RESULTS.cs new file mode 100644 index 000000000..f475d471d --- /dev/null +++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RML_EXTENSION_TEST_WASHING_RESULTS.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated from a template. +// +// Manual changes to this file may cause unexpected behavior in your application. +// Manual changes to this file will be overwritten if the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace Tango.DAL.Remote.DB +{ + using System; + using System.Collections.Generic; + + public partial class RML_EXTENSION_TEST_WASHING_RESULTS + { + public int ID { get; set; } + public string GUID { get; set; } + public System.DateTime LAST_UPDATED { get; set; } + public string RML_EXTENSION_TEST_RESULTS_GUID { get; set; } + public string WASHING_TEST_MATERIALS_GUID { get; set; } + public int INDEX_ROW { get; set; } + public int COLOR { get; set; } + public Nullable<double> WASHING_VALUE { get; set; } + + public virtual RML_EXTENSION_TEST_RESULTS RML_EXTENSION_TEST_RESULTS { get; set; } + public virtual WASHING_TEST_MATERIALS WASHING_TEST_MATERIALS { get; set; } + } +} diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs index 9bbd42b90..a4879a500 100644 --- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs +++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs @@ -118,6 +118,7 @@ namespace Tango.DAL.Remote.DB public virtual DbSet<PROCESS_PARAMETERS_TABLES_GROUPS> PROCESS_PARAMETERS_TABLES_GROUPS { get; set; } public virtual DbSet<PUBLISHED_PROCEDURE_PROJECTS> PUBLISHED_PROCEDURE_PROJECTS { get; set; } public virtual DbSet<PUBLISHED_PROCEDURE_PROJECTS_VERSIONS> PUBLISHED_PROCEDURE_PROJECTS_VERSIONS { get; set; } + public virtual DbSet<RML_EXTENSION_TEST_WASHING_RESULTS> RML_EXTENSION_TEST_WASHING_RESULTS { get; set; } public virtual DbSet<RML> RMLS { get; set; } public virtual DbSet<RMLS_SPOOLS> RMLS_SPOOLS { get; set; } public virtual DbSet<ROLE> ROLES { get; set; } @@ -142,6 +143,7 @@ namespace Tango.DAL.Remote.DB public virtual DbSet<TECH_VALVES> TECH_VALVES { get; set; } public virtual DbSet<USER> USERS { get; set; } public virtual DbSet<USERS_ROLES> USERS_ROLES { get; set; } + public virtual DbSet<WASHING_TEST_MATERIALS> WASHING_TEST_MATERIALS { get; set; } public virtual DbSet<WINDING_METHODS> WINDING_METHODS { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx index d49702585..b9dccd261 100644 --- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx +++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx @@ -1219,6 +1219,9 @@ <Property Name="THREAD_LUB_VERSION" Type="nvarchar" MaxLength="50" /> <Property Name="THREAD_COF" Type="float" /> <Property Name="THREAD_LUB" Type="float" /> + <Property Name="BTSR_APPLICATION_TYPE_GUID" Type="varchar" MaxLength="36" /> + <Property Name="BTSR_YARN_TYPE_GUID" Type="varchar" MaxLength="36" /> + <Property Name="BTSR_TENSION_ERROR" Type="float" Nullable="false" /> </EntityType> <EntityType Name="RML_EXTENSION_TEST_RESULTS_FILES"> <Key> @@ -1231,6 +1234,19 @@ <Property Name="FILE_NAME" Type="nvarchar" MaxLength="100" Nullable="false" /> <Property Name="FILE_PATH" Type="nvarchar(max)" Nullable="false" /> </EntityType> + <EntityType Name="RML_EXTENSION_TEST_WASHING_RESULTS"> + <Key> + <PropertyRef Name="GUID" /> + </Key> + <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" /> + <Property Name="GUID" Type="varchar" MaxLength="36" Nullable="false" /> + <Property Name="LAST_UPDATED" Type="datetime2" Precision="3" Nullable="false" /> + <Property Name="RML_EXTENSION_TEST_RESULTS_GUID" Type="varchar" MaxLength="36" Nullable="false" /> + <Property Name="WASHING_TEST_MATERIALS_GUID" Type="varchar" MaxLength="36" Nullable="false" /> + <Property Name="INDEX_ROW" Type="int" Nullable="false" /> + <Property Name="COLOR" Type="int" Nullable="false" /> + <Property Name="WASHING_VALUE" Type="float" /> + </EntityType> <EntityType Name="RMLS"> <Key> <PropertyRef Name="GUID" /> @@ -1655,6 +1671,15 @@ <Property Name="USER_GUID" Type="varchar" MaxLength="36" Nullable="false" /> <Property Name="ROLE_GUID" Type="varchar" MaxLength="36" Nullable="false" /> </EntityType> + <EntityType Name="WASHING_TEST_MATERIALS"> + <Key> + <PropertyRef Name="GUID" /> + </Key> + <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" /> + <Property Name="GUID" Type="varchar" MaxLength="36" Nullable="false" /> + <Property Name="LAST_UPDATED" Type="datetime2" Precision="3" Nullable="false" /> + <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" /> + </EntityType> <EntityType Name="WINDING_METHODS"> <Key> <PropertyRef Name="GUID" /> @@ -2801,6 +2826,30 @@ </Dependent> </ReferentialConstraint> </Association> + <Association Name="FK_RML_EXTENSION_TEST_RESULTS_BTSR_APPLICATION_TYPES"> + <End Role="BTSR_APPLICATION_TYPES" Type="Self.BTSR_APPLICATION_TYPES" Multiplicity="0..1" /> + <End Role="RML_EXTENSION_TEST_RESULTS" Type="Self.RML_EXTENSION_TEST_RESULTS" Multiplicity="*" /> + <ReferentialConstraint> + <Principal Role="BTSR_APPLICATION_TYPES"> + <PropertyRef Name="GUID" /> + </Principal> + <Dependent Role="RML_EXTENSION_TEST_RESULTS"> + <PropertyRef Name="BTSR_APPLICATION_TYPE_GUID" /> + </Dependent> + </ReferentialConstraint> + </Association> + <Association Name="FK_RML_EXTENSION_TEST_RESULTS_BTSR_YARN_TYPES"> + <End Role="BTSR_YARN_TYPES" Type="Self.BTSR_YARN_TYPES" Multiplicity="0..1" /> + <End Role="RML_EXTENSION_TEST_RESULTS" Type="Self.RML_EXTENSION_TEST_RESULTS" Multiplicity="*" /> + <ReferentialConstraint> + <Principal Role="BTSR_YARN_TYPES"> + <PropertyRef Name="GUID" /> + </Principal> + <Dependent Role="RML_EXTENSION_TEST_RESULTS"> + <PropertyRef Name="BTSR_YARN_TYPE_GUID" /> + </Dependent> + </ReferentialConstraint> + </Association> <Association Name="FK_RML_EXTENSION_TEST_RESULTS_FILES_RML_EXTENSION_TEST_RESULTS"> <End Role="RML_EXTENSION_TEST_RESULTS" Type="Self.RML_EXTENSION_TEST_RESULTS" Multiplicity="1"> <OnDelete Action="Cascade" /> @@ -2843,6 +2892,34 @@ </Dependent> </ReferentialConstraint> </Association> + <Association Name="FK_RML_EXTENSION_TEST_WASHING_RESULTS_RML_EXTENSION_TEST_RESULTS"> + <End Role="RML_EXTENSION_TEST_RESULTS" Type="Self.RML_EXTENSION_TEST_RESULTS" Multiplicity="1"> + <OnDelete Action="Cascade" /> + </End> + <End Role="RML_EXTENSION_TEST_WASHING_RESULTS" Type="Self.RML_EXTENSION_TEST_WASHING_RESULTS" Multiplicity="*" /> + <ReferentialConstraint> + <Principal Role="RML_EXTENSION_TEST_RESULTS"> + <PropertyRef Name="GUID" /> + </Principal> + <Dependent Role="RML_EXTENSION_TEST_WASHING_RESULTS"> + <PropertyRef Name="RML_EXTENSION_TEST_RESULTS_GUID" /> + </Dependent> + </ReferentialConstraint> + </Association> + <Association Name="FK_RML_EXTENSION_TEST_WASHING_RESULTS_WASHING_TEST_MATERIALS"> + <End Role="WASHING_TEST_MATERIALS" Type="Self.WASHING_TEST_MATERIALS" Multiplicity="1"> + <OnDelete Action="Cascade" /> + </End> + <End Role="RML_EXTENSION_TEST_WASHING_RESULTS" Type="Self.RML_EXTENSION_TEST_WASHING_RESULTS" Multiplicity="*" /> + <ReferentialConstraint> + <Principal Role="WASHING_TEST_MATERIALS"> + <PropertyRef Name="GUID" /> + </Principal> + <Dependent Role="RML_EXTENSION_TEST_WASHING_RESULTS"> + <PropertyRef Name="WASHING_TEST_MATERIALS_GUID" /> + </Dependent> + </ReferentialConstraint> + </Association> <Association Name="FK_RML_FIBER_SHAPES"> <End Role="FIBER_SHAPES" Type="Self.FIBER_SHAPES" Multiplicity="1" /> <End Role="RMLS" Type="Self.RMLS" Multiplicity="*" /> @@ -3501,6 +3578,7 @@ <EntitySet Name="RML_EXTENSION_COLOR_SHADES_TESTS_DATA" EntityType="Self.RML_EXTENSION_COLOR_SHADES_TESTS_DATA" Schema="dbo" store:Type="Tables" /> <EntitySet Name="RML_EXTENSION_TEST_RESULTS" EntityType="Self.RML_EXTENSION_TEST_RESULTS" Schema="dbo" store:Type="Tables" /> <EntitySet Name="RML_EXTENSION_TEST_RESULTS_FILES" EntityType="Self.RML_EXTENSION_TEST_RESULTS_FILES" Schema="dbo" store:Type="Tables" /> + <EntitySet Name="RML_EXTENSION_TEST_WASHING_RESULTS" EntityType="Self.RML_EXTENSION_TEST_WASHING_RESULTS" Schema="dbo" store:Type="Tables" /> <EntitySet Name="RMLS" EntityType="Self.RMLS" Schema="dbo" store:Type="Tables" /> <EntitySet Name="RMLS_EXTENSIONS" EntityType="Self.RMLS_EXTENSIONS" Schema="dbo" store:Type="Tables" /> <EntitySet Name="RMLS_SPOOLS" EntityType="Self.RMLS_SPOOLS" Schema="dbo" store:Type="Tables" /> @@ -3528,6 +3606,7 @@ <EntitySet Name="TENSILE_RESULTS" EntityType="Self.TENSILE_RESULTS" Schema="dbo" store:Type="Tables" /> <EntitySet Name="USERS" EntityType="Self.USERS" Schema="dbo" store:Type="Tables" /> <EntitySet Name="USERS_ROLES" EntityType="Self.USERS_ROLES" Schema="dbo" store:Type="Tables" /> + <EntitySet Name="WASHING_TEST_MATERIALS" EntityType="Self.WASHING_TEST_MATERIALS" Schema="dbo" store:Type="Tables" /> <EntitySet Name="WINDING_METHODS" EntityType="Self.WINDING_METHODS" Schema="dbo" store:Type="Tables" /> <EntitySet Name="YARN_APPLICATIONS" EntityType="Self.YARN_APPLICATIONS" Schema="dbo" store:Type="Tables" /> <EntitySet Name="YARN_BRANDS" EntityType="Self.YARN_BRANDS" Schema="dbo" store:Type="Tables" /> @@ -3852,6 +3931,14 @@ <End Role="RML_EXTENSION_COLOR_SHADES" EntitySet="RML_EXTENSION_COLOR_SHADES" /> <End Role="RML_EXTENSION_COLOR_SHADES_TESTS" EntitySet="RML_EXTENSION_COLOR_SHADES_TESTS" /> </AssociationSet> + <AssociationSet Name="FK_RML_EXTENSION_TEST_RESULTS_BTSR_APPLICATION_TYPES" Association="Self.FK_RML_EXTENSION_TEST_RESULTS_BTSR_APPLICATION_TYPES"> + <End Role="BTSR_APPLICATION_TYPES" EntitySet="BTSR_APPLICATION_TYPES" /> + <End Role="RML_EXTENSION_TEST_RESULTS" EntitySet="RML_EXTENSION_TEST_RESULTS" /> + </AssociationSet> + <AssociationSet Name="FK_RML_EXTENSION_TEST_RESULTS_BTSR_YARN_TYPES" Association="Self.FK_RML_EXTENSION_TEST_RESULTS_BTSR_YARN_TYPES"> + <End Role="BTSR_YARN_TYPES" EntitySet="BTSR_YARN_TYPES" /> + <End Role="RML_EXTENSION_TEST_RESULTS" EntitySet="RML_EXTENSION_TEST_RESULTS" /> + </AssociationSet> <AssociationSet Name="FK_RML_EXTENSION_TEST_RESULTS_FILES_RML_EXTENSION_TEST_RESULTS" Association="Self.FK_RML_EXTENSION_TEST_RESULTS_FILES_RML_EXTENSION_TEST_RESULTS"> <End Role="RML_EXTENSION_TEST_RESULTS" EntitySet="RML_EXTENSION_TEST_RESULTS" /> <End Role="RML_EXTENSION_TEST_RESULTS_FILES" EntitySet="RML_EXTENSION_TEST_RESULTS_FILES" /> @@ -3864,6 +3951,14 @@ <End Role="RMLS_EXTENSIONS" EntitySet="RMLS_EXTENSIONS" /> <End Role="RML_EXTENSION_TEST_RESULTS" EntitySet="RML_EXTENSION_TEST_RESULTS" /> </AssociationSet> + <AssociationSet Name="FK_RML_EXTENSION_TEST_WASHING_RESULTS_RML_EXTENSION_TEST_RESULTS" Association="Self.FK_RML_EXTENSION_TEST_WASHING_RESULTS_RML_EXTENSION_TEST_RESULTS"> + <End Role="RML_EXTENSION_TEST_RESULTS" EntitySet="RML_EXTENSION_TEST_RESULTS" /> + <End Role="RML_EXTENSION_TEST_WASHING_RESULTS" EntitySet="RML_EXTENSION_TEST_WASHING_RESULTS" /> + </AssociationSet> + <AssociationSet Name="FK_RML_EXTENSION_TEST_WASHING_RESULTS_WASHING_TEST_MATERIALS" Association="Self.FK_RML_EXTENSION_TEST_WASHING_RESULTS_WASHING_TEST_MATERIALS"> + <End Role="WASHING_TEST_MATERIALS" EntitySet="WASHING_TEST_MATERIALS" /> + <End Role="RML_EXTENSION_TEST_WASHING_RESULTS" EntitySet="RML_EXTENSION_TEST_WASHING_RESULTS" /> + </AssociationSet> <AssociationSet Name="FK_RML_FIBER_SHAPES" Association="Self.FK_RML_FIBER_SHAPES"> <End Role="FIBER_SHAPES" EntitySet="FIBER_SHAPES" /> <End Role="RMLS" EntitySet="RMLS" /> @@ -4235,6 +4330,7 @@ <EntitySet Name="PROCESS_PARAMETERS_TABLES_GROUPS" EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" /> <EntitySet Name="PUBLISHED_PROCEDURE_PROJECTS" EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS" /> <EntitySet Name="PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" /> + <EntitySet Name="RML_EXTENSION_TEST_WASHING_RESULTS" EntityType="RemoteModel.RML_EXTENSION_TEST_WASHING_RESULTS" /> <EntitySet Name="RMLS" EntityType="RemoteModel.RML" /> <EntitySet Name="RMLS_SPOOLS" EntityType="RemoteModel.RMLS_SPOOLS" /> <EntitySet Name="ROLES" EntityType="RemoteModel.ROLE" /> @@ -4259,6 +4355,7 @@ <EntitySet Name="TECH_VALVES" EntityType="RemoteModel.TECH_VALVES" /> <EntitySet Name="USERS" EntityType="RemoteModel.USER" /> <EntitySet Name="USERS_ROLES" EntityType="RemoteModel.USERS_ROLES" /> + <EntitySet Name="WASHING_TEST_MATERIALS" EntityType="RemoteModel.WASHING_TEST_MATERIALS" /> <EntitySet Name="WINDING_METHODS" EntityType="RemoteModel.WINDING_METHODS" /> <AssociationSet Name="FK_ACTION_LOGS_USERS" Association="RemoteModel.FK_ACTION_LOGS_USERS"> <End Role="USER" EntitySet="USERS" /> @@ -4300,10 +4397,18 @@ <End Role="SEGMENT" EntitySet="SEGMENTS" /> <End Role="BRUSH_STOPS" EntitySet="BRUSH_STOPS" /> </AssociationSet> + <AssociationSet Name="FK_RML_EXTENSION_TEST_RESULTS_BTSR_APPLICATION_TYPES" Association="RemoteModel.FK_RML_EXTENSION_TEST_RESULTS_BTSR_APPLICATION_TYPES"> + <End Role="BTSR_APPLICATION_TYPES" EntitySet="BTSR_APPLICATION_TYPES" /> + <End Role="RML_EXTENSION_TEST_RESULTS" EntitySet="RML_EXTENSION_TEST_RESULTS" /> + </AssociationSet> <AssociationSet Name="FK_RMLS_BTSR_APPLICATION_TYPES" Association="RemoteModel.FK_RMLS_BTSR_APPLICATION_TYPES"> <End Role="BTSR_APPLICATION_TYPES" EntitySet="BTSR_APPLICATION_TYPES" /> <End Role="RML" EntitySet="RMLS" /> </AssociationSet> + <AssociationSet Name="FK_RML_EXTENSION_TEST_RESULTS_BTSR_YARN_TYPES" Association="RemoteModel.FK_RML_EXTENSION_TEST_RESULTS_BTSR_YARN_TYPES"> + <End Role="BTSR_YARN_TYPES" EntitySet="BTSR_YARN_TYPES" /> + <End Role="RML_EXTENSION_TEST_RESULTS" EntitySet="RML_EXTENSION_TEST_RESULTS" /> + </AssociationSet> <AssociationSet Name="FK_RMLS_BTSR_YARN_TYPES" Association="RemoteModel.FK_RMLS_BTSR_YARN_TYPES"> <End Role="BTSR_YARN_TYPES" EntitySet="BTSR_YARN_TYPES" /> <End Role="RML" EntitySet="RMLS" /> @@ -4612,10 +4717,18 @@ <End Role="PUBLISHED_PROCEDURE_PROJECTS" EntitySet="PUBLISHED_PROCEDURE_PROJECTS" /> <End Role="PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" EntitySet="PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" /> </AssociationSet> + <AssociationSet Name="FK_RML_EXTENSION_TEST_WASHING_RESULTS_RML_EXTENSION_TEST_RESULTS" Association="RemoteModel.FK_RML_EXTENSION_TEST_WASHING_RESULTS_RML_EXTENSION_TEST_RESULTS"> + <End Role="RML_EXTENSION_TEST_RESULTS" EntitySet="RML_EXTENSION_TEST_RESULTS" /> + <End Role="RML_EXTENSION_TEST_WASHING_RESULTS" EntitySet="RML_EXTENSION_TEST_WASHING_RESULTS" /> + </AssociationSet> <AssociationSet Name="FK_RUBBING_RESULTS_RML_EXTENSION_TEST_RESULTS" Association="RemoteModel.FK_RUBBING_RESULTS_RML_EXTENSION_TEST_RESULTS"> <End Role="RML_EXTENSION_TEST_RESULTS" EntitySet="RML_EXTENSION_TEST_RESULTS" /> <End Role="RUBBING_RESULTS" EntitySet="RUBBING_RESULTS" /> </AssociationSet> + <AssociationSet Name="FK_RML_EXTENSION_TEST_WASHING_RESULTS_WASHING_TEST_MATERIALS" Association="RemoteModel.FK_RML_EXTENSION_TEST_WASHING_RESULTS_WASHING_TEST_MATERIALS"> + <End Role="WASHING_TEST_MATERIALS" EntitySet="WASHING_TEST_MATERIALS" /> + <End Role="RML_EXTENSION_TEST_WASHING_RESULTS" EntitySet="RML_EXTENSION_TEST_WASHING_RESULTS" /> + </AssociationSet> <AssociationSet Name="FK_RMLS_EXTENSIONS_RMLS" Association="RemoteModel.FK_RMLS_EXTENSIONS_RMLS"> <End Role="RML" EntitySet="RMLS" /> <End Role="RMLS_EXTENSIONS" EntitySet="RMLS_EXTENSIONS" /> @@ -4772,7 +4885,13 @@ <NavigationProperty Name="RMLS_EXTENSIONS" Relationship="RemoteModel.FK_RML_EXTENSION_TEST_RESULTS_RMLS_EXTENSIONS" FromRole="RML_EXTENSION_TEST_RESULTS" ToRole="RMLS_EXTENSIONS" /> <NavigationProperty Name="TENSILE_RESULTS" Relationship="RemoteModel.FK_TENSILE_RESULTS_RML_EXTENSION_TEST_RESULTS" FromRole="RML_EXTENSION_TEST_RESULTS" ToRole="TENSILE_RESULTS" /> <NavigationProperty Name="RML_EXTENSION_TEST_RESULTS_FILES" Relationship="RemoteModel.FK_RML_EXTENSION_TEST_RESULTS_FILES_RML_EXTENSION_TEST_RESULTS" FromRole="RML_EXTENSION_TEST_RESULTS" ToRole="RML_EXTENSION_TEST_RESULTS_FILES" /> + <Property Name="BTSR_APPLICATION_TYPE_GUID" Type="String" MaxLength="36" FixedLength="false" Unicode="false" /> + <Property Name="BTSR_YARN_TYPE_GUID" Type="String" MaxLength="36" FixedLength="false" Unicode="false" /> + <Property Name="BTSR_TENSION_ERROR" Type="Double" Nullable="false" /> + <NavigationProperty Name="BTSR_APPLICATION_TYPES" Relationship="RemoteModel.FK_RML_EXTENSION_TEST_RESULTS_BTSR_APPLICATION_TYPES" FromRole="RML_EXTENSION_TEST_RESULTS" ToRole="BTSR_APPLICATION_TYPES" /> + <NavigationProperty Name="BTSR_YARN_TYPES" Relationship="RemoteModel.FK_RML_EXTENSION_TEST_RESULTS_BTSR_YARN_TYPES" FromRole="RML_EXTENSION_TEST_RESULTS" ToRole="BTSR_YARN_TYPES" /> <NavigationProperty Name="MACHINE" Relationship="RemoteModel.FK_RML_EXTENSION_TEST_RESULTS_MACHINES" FromRole="RML_EXTENSION_TEST_RESULTS" ToRole="MACHINE" /> + <NavigationProperty Name="RML_EXTENSION_TEST_WASHING_RESULTS" Relationship="RemoteModel.FK_RML_EXTENSION_TEST_WASHING_RESULTS_RML_EXTENSION_TEST_RESULTS" FromRole="RML_EXTENSION_TEST_RESULTS" ToRole="RML_EXTENSION_TEST_WASHING_RESULTS" /> <NavigationProperty Name="RUBBING_RESULTS" Relationship="RemoteModel.FK_RUBBING_RESULTS_RML_EXTENSION_TEST_RESULTS" FromRole="RML_EXTENSION_TEST_RESULTS" ToRole="RUBBING_RESULTS" /> </EntityType> <EntityType Name="RMLS_EXTENSIONS"> @@ -5510,6 +5629,7 @@ <Property Name="CODE" Type="Int32" Nullable="false" /> <Property Name="NAME" Type="String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="false" /> <Property Name="DESCRIPTION" Type="String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="false" /> + <NavigationProperty Name="RML_EXTENSION_TEST_RESULTS" Relationship="RemoteModel.FK_RML_EXTENSION_TEST_RESULTS_BTSR_APPLICATION_TYPES" FromRole="BTSR_APPLICATION_TYPES" ToRole="RML_EXTENSION_TEST_RESULTS" /> <NavigationProperty Name="RMLS" Relationship="RemoteModel.FK_RMLS_BTSR_APPLICATION_TYPES" FromRole="BTSR_APPLICATION_TYPES" ToRole="RML" /> </EntityType> <EntityType Name="BTSR_YARN_TYPES"> @@ -5522,6 +5642,7 @@ <Property Name="CODE" Type="Int32" Nullable="false" /> <Property Name="NAME" Type="String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="false" /> <Property Name="DESCRIPTION" Type="String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="false" /> + <NavigationProperty Name="RML_EXTENSION_TEST_RESULTS" Relationship="RemoteModel.FK_RML_EXTENSION_TEST_RESULTS_BTSR_YARN_TYPES" FromRole="BTSR_YARN_TYPES" ToRole="RML_EXTENSION_TEST_RESULTS" /> <NavigationProperty Name="RMLS" Relationship="RemoteModel.FK_RMLS_BTSR_YARN_TYPES" FromRole="BTSR_YARN_TYPES" ToRole="RML" /> </EntityType> <EntityType Name="CARTRIDGE_TYPES"> @@ -6553,6 +6674,21 @@ <Property Name="PROJECT_JSON_STRING" Type="String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /> <NavigationProperty Name="PUBLISHED_PROCEDURE_PROJECTS" Relationship="RemoteModel.FK_PUBLISHED_TEST_PROJECTS_VERSIONS_PUBLISHED_TEST_PROJECTS" FromRole="PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" ToRole="PUBLISHED_PROCEDURE_PROJECTS" /> </EntityType> + <EntityType Name="RML_EXTENSION_TEST_WASHING_RESULTS"> + <Key> + <PropertyRef Name="GUID" /> + </Key> + <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" /> + <Property Name="GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" /> + <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" /> + <Property Name="RML_EXTENSION_TEST_RESULTS_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" /> + <Property Name="WASHING_TEST_MATERIALS_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" /> + <Property Name="INDEX_ROW" Type="Int32" Nullable="false" /> + <Property Name="COLOR" Type="Int32" Nullable="false" /> + <Property Name="WASHING_VALUE" Type="Double" /> + <NavigationProperty Name="RML_EXTENSION_TEST_RESULTS" Relationship="RemoteModel.FK_RML_EXTENSION_TEST_WASHING_RESULTS_RML_EXTENSION_TEST_RESULTS" FromRole="RML_EXTENSION_TEST_WASHING_RESULTS" ToRole="RML_EXTENSION_TEST_RESULTS" /> + <NavigationProperty Name="WASHING_TEST_MATERIALS" Relationship="RemoteModel.FK_RML_EXTENSION_TEST_WASHING_RESULTS_WASHING_TEST_MATERIALS" FromRole="RML_EXTENSION_TEST_WASHING_RESULTS" ToRole="WASHING_TEST_MATERIALS" /> + </EntityType> <EntityType Name="RML"> <Key> <PropertyRef Name="GUID" /> @@ -6975,6 +7111,16 @@ <NavigationProperty Name="ROLE" Relationship="RemoteModel.FK_USERS_ROLES_ROLES" FromRole="USERS_ROLES" ToRole="ROLE" /> <NavigationProperty Name="USER" Relationship="RemoteModel.FK_USERS_ROLES_USERS" FromRole="USERS_ROLES" ToRole="USER" /> </EntityType> + <EntityType Name="WASHING_TEST_MATERIALS"> + <Key> + <PropertyRef Name="GUID" /> + </Key> + <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" /> + <Property Name="GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" /> + <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" /> + <Property Name="NAME" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /> + <NavigationProperty Name="RML_EXTENSION_TEST_WASHING_RESULTS" Relationship="RemoteModel.FK_RML_EXTENSION_TEST_WASHING_RESULTS_WASHING_TEST_MATERIALS" FromRole="WASHING_TEST_MATERIALS" ToRole="RML_EXTENSION_TEST_WASHING_RESULTS" /> + </EntityType> <EntityType Name="WINDING_METHODS"> <Key> <PropertyRef Name="GUID" /> @@ -7111,6 +7257,18 @@ </Dependent> </ReferentialConstraint> </Association> + <Association Name="FK_RML_EXTENSION_TEST_RESULTS_BTSR_APPLICATION_TYPES"> + <End Type="RemoteModel.BTSR_APPLICATION_TYPES" Role="BTSR_APPLICATION_TYPES" Multiplicity="0..1" /> + <End Type="RemoteModel.RML_EXTENSION_TEST_RESULTS" Role="RML_EXTENSION_TEST_RESULTS" Multiplicity="*" /> + <ReferentialConstraint> + <Principal Role="BTSR_APPLICATION_TYPES"> + <PropertyRef Name="GUID" /> + </Principal> + <Dependent Role="RML_EXTENSION_TEST_RESULTS"> + <PropertyRef Name="BTSR_APPLICATION_TYPE_GUID" /> + </Dependent> + </ReferentialConstraint> + </Association> <Association Name="FK_RMLS_BTSR_APPLICATION_TYPES"> <End Type="RemoteModel.BTSR_APPLICATION_TYPES" Role="BTSR_APPLICATION_TYPES" Multiplicity="0..1" /> <End Type="RemoteModel.RML" Role="RML" Multiplicity="*" /> @@ -7123,6 +7281,18 @@ </Dependent> </ReferentialConstraint> </Association> + <Association Name="FK_RML_EXTENSION_TEST_RESULTS_BTSR_YARN_TYPES"> + <End Type="RemoteModel.BTSR_YARN_TYPES" Role="BTSR_YARN_TYPES" Multiplicity="0..1" /> + <End Type="RemoteModel.RML_EXTENSION_TEST_RESULTS" Role="RML_EXTENSION_TEST_RESULTS" Multiplicity="*" /> + <ReferentialConstraint> + <Principal Role="BTSR_YARN_TYPES"> + <PropertyRef Name="GUID" /> + </Principal> + <Dependent Role="RML_EXTENSION_TEST_RESULTS"> + <PropertyRef Name="BTSR_YARN_TYPE_GUID" /> + </Dependent> + </ReferentialConstraint> + </Association> <Association Name="FK_RMLS_BTSR_YARN_TYPES"> <End Type="RemoteModel.BTSR_YARN_TYPES" Role="BTSR_YARN_TYPES" Multiplicity="0..1" /> <End Type="RemoteModel.RML" Role="RML" Multiplicity="*" /> @@ -8135,6 +8305,20 @@ </Dependent> </ReferentialConstraint> </Association> + <Association Name="FK_RML_EXTENSION_TEST_WASHING_RESULTS_RML_EXTENSION_TEST_RESULTS"> + <End Type="RemoteModel.RML_EXTENSION_TEST_RESULTS" Role="RML_EXTENSION_TEST_RESULTS" Multiplicity="1"> + <OnDelete Action="Cascade" /> + </End> + <End Type="RemoteModel.RML_EXTENSION_TEST_WASHING_RESULTS" Role="RML_EXTENSION_TEST_WASHING_RESULTS" Multiplicity="*" /> + <ReferentialConstraint> + <Principal Role="RML_EXTENSION_TEST_RESULTS"> + <PropertyRef Name="GUID" /> + </Principal> + <Dependent Role="RML_EXTENSION_TEST_WASHING_RESULTS"> + <PropertyRef Name="RML_EXTENSION_TEST_RESULTS_GUID" /> + </Dependent> + </ReferentialConstraint> + </Association> <Association Name="FK_RUBBING_RESULTS_RML_EXTENSION_TEST_RESULTS"> <End Type="RemoteModel.RML_EXTENSION_TEST_RESULTS" Role="RML_EXTENSION_TEST_RESULTS" Multiplicity="1"> <OnDelete Action="Cascade" /> @@ -8149,6 +8333,20 @@ </Dependent> </ReferentialConstraint> </Association> + <Association Name="FK_RML_EXTENSION_TEST_WASHING_RESULTS_WASHING_TEST_MATERIALS"> + <End Type="RemoteModel.WASHING_TEST_MATERIALS" Role="WASHING_TEST_MATERIALS" Multiplicity="1"> + <OnDelete Action="Cascade" /> + </End> + <End Type="RemoteModel.RML_EXTENSION_TEST_WASHING_RESULTS" Role="RML_EXTENSION_TEST_WASHING_RESULTS" Multiplicity="*" /> + <ReferentialConstraint> + <Principal Role="WASHING_TEST_MATERIALS"> + <PropertyRef Name="GUID" /> + </Principal> + <Dependent Role="RML_EXTENSION_TEST_WASHING_RESULTS"> + <PropertyRef Name="WASHING_TEST_MATERIALS_GUID" /> + </Dependent> + </ReferentialConstraint> + </Association> <Association Name="FK_RMLS_EXTENSIONS_RMLS"> <End Type="RemoteModel.RML" Role="RML" Multiplicity="0..1"> <OnDelete Action="Cascade" /> @@ -8404,6 +8602,9 @@ <EntitySetMapping Name="RML_EXTENSION_TEST_RESULTS"> <EntityTypeMapping TypeName="RemoteModel.RML_EXTENSION_TEST_RESULTS"> <MappingFragment StoreEntitySet="RML_EXTENSION_TEST_RESULTS"> + <ScalarProperty Name="BTSR_TENSION_ERROR" ColumnName="BTSR_TENSION_ERROR" /> + <ScalarProperty Name="BTSR_YARN_TYPE_GUID" ColumnName="BTSR_YARN_TYPE_GUID" /> + <ScalarProperty Name="BTSR_APPLICATION_TYPE_GUID" ColumnName="BTSR_APPLICATION_TYPE_GUID" /> <ScalarProperty Name="THREAD_LUB" ColumnName="THREAD_LUB" /> <ScalarProperty Name="THREAD_COF" ColumnName="THREAD_COF" /> <ScalarProperty Name="THREAD_LUB_VERSION" ColumnName="THREAD_LUB_VERSION" /> @@ -9826,6 +10027,20 @@ </MappingFragment> </EntityTypeMapping> </EntitySetMapping> + <EntitySetMapping Name="RML_EXTENSION_TEST_WASHING_RESULTS"> + <EntityTypeMapping TypeName="RemoteModel.RML_EXTENSION_TEST_WASHING_RESULTS"> + <MappingFragment StoreEntitySet="RML_EXTENSION_TEST_WASHING_RESULTS"> + <ScalarProperty Name="WASHING_VALUE" ColumnName="WASHING_VALUE" /> + <ScalarProperty Name="COLOR" ColumnName="COLOR" /> + <ScalarProperty Name="INDEX_ROW" ColumnName="INDEX_ROW" /> + <ScalarProperty Name="WASHING_TEST_MATERIALS_GUID" ColumnName="WASHING_TEST_MATERIALS_GUID" /> + <ScalarProperty Name="RML_EXTENSION_TEST_RESULTS_GUID" ColumnName="RML_EXTENSION_TEST_RESULTS_GUID" /> + <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> + <ScalarProperty Name="GUID" ColumnName="GUID" /> + <ScalarProperty Name="ID" ColumnName="ID" /> + </MappingFragment> + </EntityTypeMapping> + </EntitySetMapping> <EntitySetMapping Name="RMLS"> <EntityTypeMapping TypeName="RemoteModel.RML"> <MappingFragment StoreEntitySet="RMLS"> @@ -10213,6 +10428,16 @@ </MappingFragment> </EntityTypeMapping> </EntitySetMapping> + <EntitySetMapping Name="WASHING_TEST_MATERIALS"> + <EntityTypeMapping TypeName="RemoteModel.WASHING_TEST_MATERIALS"> + <MappingFragment StoreEntitySet="WASHING_TEST_MATERIALS"> + <ScalarProperty Name="NAME" ColumnName="NAME" /> + <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> + <ScalarProperty Name="GUID" ColumnName="GUID" /> + <ScalarProperty Name="ID" ColumnName="ID" /> + </MappingFragment> + </EntityTypeMapping> + </EntitySetMapping> <EntitySetMapping Name="WINDING_METHODS"> <EntityTypeMapping TypeName="RemoteModel.WINDING_METHODS"> <MappingFragment StoreEntitySet="WINDING_METHODS"> diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram index 2d06ab55b..afabb27e9 100644 --- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram +++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram @@ -5,98 +5,100 @@ <!-- Diagram content (shape and connector positions) --> <edmx:Diagrams> <Diagram DiagramId="f9ae01d708754bbd997add25a4bacc79" Name="Diagram1" ZoomLevel="87"> - <EntityTypeShape EntityType="RemoteModel.ACTION_LOGS" Width="1.5" PointX="11.25" PointY="8" /> - <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="4.5" PointY="48.75" /> - <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="4.5" PointY="67.75" /> - <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="64.875" /> - <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="4.5" PointY="57.625" /> - <EntityTypeShape EntityType="RemoteModel.BIT_TYPES" Width="1.5" PointX="0.75" PointY="2.875" /> - <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="18" PointY="19.125" /> - <EntityTypeShape EntityType="RemoteModel.BTSR_APPLICATION_TYPES" Width="1.5" PointX="0.75" PointY="12.375" /> - <EntityTypeShape EntityType="RemoteModel.BTSR_YARN_TYPES" Width="1.5" PointX="0.75" PointY="38.625" /> - <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="7.75" PointY="84.625" /> - <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="5.25" PointY="26.625" /> - <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="0.75" PointY="15.5" /> - <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="1.5" PointY="6.5" /> - <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_GROUPS" Width="1.5" PointX="3.75" PointY="6.875" /> - <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS" Width="1.5" PointX="6" PointY="5.625" /> - <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS_RECIPES" Width="1.5" PointX="8.25" PointY="18.5" /> - <EntityTypeShape EntityType="RemoteModel.COLOR_PROCESS_INK_UPTAKE" Width="1.5" PointX="2.75" PointY="2.875" /> - <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="9" PointY="34.875" /> - <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="6.75" PointY="63.25" /> - <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="4.5" PointY="52.875" /> - <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="9" PointY="51.125" /> - <EntityTypeShape EntityType="RemoteModel.DATA_STORE_ITEMS" Width="1.5" PointX="11.25" PointY="73.625" /> - <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="5.5" PointY="1.625" /> - <EntityTypeShape EntityType="RemoteModel.DISPENSER" Width="1.5" PointX="7.75" PointY="0.75" /> - <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="70.625" /> - <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="9" PointY="88.375" /> - <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="32.625" /> - <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="26.75" /> - <EntityTypeShape EntityType="RemoteModel.FSE_VERSIONS" Width="1.5" PointX="11.25" PointY="12" /> - <EntityTypeShape EntityType="RemoteModel.GLOBAL_DATA_STORE_ITEMS" Width="1.5" PointX="16.75" PointY="2.875" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="9.5" PointY="94.125" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="11.75" PointY="65.75" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="7.5" PointY="77.125" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="9.75" PointY="57.875" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="10.5" PointY="47.125" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="12.75" PointY="56.125" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="12.5" PointY="70" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="14.75" PointY="61.75" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="4.5" PointY="45.125" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="6.75" PointY="56.25" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSOR_TYPES" Width="1.5" PointX="9.5" PointY="81.125" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="11.75" PointY="61.875" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="60.625" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="4.5" PointY="74.125" /> - <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="6.75" PointY="69" /> - <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="7.75" PointY="31" /> - <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="10" PointY="39.125" /> - <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="18.75" PointY="2.875" /> - <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="11.25" PointY="19" /> - <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="29.625" /> - <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="6" PointY="13.25" /> - <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="8.25" PointY="22.875" /> - <EntityTypeShape EntityType="RemoteModel.MACHINE_PROTOTYPES" Width="1.5" PointX="13.75" PointY="15.875" /> - <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="11.25" PointY="15.5" /> - <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="6.75" PointY="73.625" /> - <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="9" PointY="61.625" /> - <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="11.25" PointY="33.75" /> - <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="18.875" /> - <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="35.5" /> - <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="23.125" /> - <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="7.75" PointY="27.375" /> - <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="6.75" PointY="50.75" /> - <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="12" PointY="30.125" /> - <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="38.5" /> - <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="41.5" /> - <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS" Width="1.5" PointX="13.75" PointY="12.125" /> - <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" Width="1.5" PointX="16" PointY="12.375" /> - <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="17.125" /> - <EntityTypeShape EntityType="RemoteModel.RMLS_SPOOLS" Width="1.5" PointX="5.25" PointY="18.5" /> - <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="12" PointY="4.125" /> - <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="14.25" PointY="4.125" /> - <EntityTypeShape EntityType="RemoteModel.RUBBING_RESULTS" Width="1.5" PointX="18.75" PointY="11.875" /> - <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="15.75" PointY="22.625" /> - <EntityTypeShape EntityType="RemoteModel.SEGMENTS_GROUPS" Width="1.5" PointX="13.5" PointY="22.875" /> - <EntityTypeShape EntityType="RemoteModel.SITE" Width="1.5" PointX="3" PointY="32.75" /> - <EntityTypeShape EntityType="RemoteModel.SITES_CATALOGS" Width="1.5" PointX="14.25" PointY="18.875" /> - <EntityTypeShape EntityType="RemoteModel.SITES_RMLS" Width="1.5" PointX="5.25" PointY="23" /> - <EntityTypeShape EntityType="RemoteModel.SITES_SPOOL_TYPES" Width="1.5" PointX="5.25" PointY="31.125" /> - <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="3" PointY="10.875" /> - <EntityTypeShape EntityType="RemoteModel.SPOOL" Width="1.5" PointX="12.25" PointY="38.875" /> - <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="15.75" PointY="15.875" /> - <EntityTypeShape EntityType="RemoteModel.TANGO_UPDATES" Width="1.5" PointX="20.75" PointY="2.875" /> - <EntityTypeShape EntityType="RemoteModel.TANGO_VERSIONS" Width="1.5" PointX="13.25" PointY="43.625" /> - <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="20.75" PointY="7.875" /> - <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="17.75" PointY="15.875" /> - <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="19.75" PointY="15.875" /> - <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="20.75" PointY="18.875" /> - <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="21.75" PointY="11.875" /> - <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="20.75" PointY="23.875" /> - <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="9" PointY="6.875" /> - <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="14.25" PointY="8.125" /> - <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="9" PointY="12.75" /> + <EntityTypeShape EntityType="RemoteModel.ACTION_LOGS" Width="1.5" PointX="11.25" PointY="46.75" /> + <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="61.125" /> + <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="1.5" PointY="87.25" /> + <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="69.125" /> + <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="1.5" PointY="80" /> + <EntityTypeShape EntityType="RemoteModel.BIT_TYPES" Width="1.5" PointX="10.75" PointY="0.75" /> + <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="18" PointY="16.875" /> + <EntityTypeShape EntityType="RemoteModel.BTSR_APPLICATION_TYPES" Width="1.5" PointX="0.75" PointY="37.25" /> + <EntityTypeShape EntityType="RemoteModel.BTSR_YARN_TYPES" Width="1.5" PointX="0.75" PointY="20.75" /> + <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="3" PointY="37.375" /> + <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="5.25" PointY="16.5" /> + <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="0.75" PointY="34" /> + <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="1.5" PointY="94.25" /> + <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_GROUPS" Width="1.5" PointX="3.75" PointY="94.75" /> + <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS" Width="1.5" PointX="6" PointY="93.5" /> + <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS_RECIPES" Width="1.5" PointX="8.25" PointY="16.375" /> + <EntityTypeShape EntityType="RemoteModel.COLOR_PROCESS_INK_UPTAKE" Width="1.5" PointX="5.75" PointY="4.75" /> + <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="9" PointY="33.375" /> + <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="0.75" PointY="74.625" /> + <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="65.25" /> + <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="9" PointY="24.5" /> + <EntityTypeShape EntityType="RemoteModel.DATA_STORE_ITEMS" Width="1.5" PointX="5.25" PointY="61.125" /> + <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="0.75" PointY="99.125" /> + <EntityTypeShape EntityType="RemoteModel.DISPENSER" Width="1.5" PointX="3" PointY="98.625" /> + <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="90.125" /> + <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="9" PointY="41.5" /> + <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="16.125" /> + <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="10.25" /> + <EntityTypeShape EntityType="RemoteModel.FSE_VERSIONS" Width="1.5" PointX="11.25" PointY="36.125" /> + <EntityTypeShape EntityType="RemoteModel.GLOBAL_DATA_STORE_ITEMS" Width="1.5" PointX="2.75" PointY="11.75" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="7.5" PointY="73.5" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="9.75" PointY="77.125" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="7.5" PointY="99.5" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="9.75" PointY="89.25" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="4.5" PointY="76.5" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="6.75" PointY="77.5" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="1.5" PointY="103.375" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="3.75" PointY="80.125" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="7.5" PointY="69.5" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="9.75" PointY="81.625" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSOR_TYPES" Width="1.5" PointX="4.5" PointY="72.5" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="6.75" PointY="83.25" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="82.875" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="4.5" PointY="103.5" /> + <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="6.75" PointY="87.25" /> + <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="3" PointY="34.125" /> + <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="5.25" PointY="38.5" /> + <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="14.75" PointY="0.75" /> + <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="11.25" PointY="16.75" /> + <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="25" /> + <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="3" PointY="2.5" /> + <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="5.25" PointY="24.625" /> + <EntityTypeShape EntityType="RemoteModel.MACHINE_PROTOTYPES" Width="1.5" PointX="13.75" PointY="9.75" /> + <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="11.25" PointY="50.875" /> + <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="0.75" PointY="57" /> + <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="3" PointY="49" /> + <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="11.25" PointY="41.875" /> + <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="31" /> + <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="27.875" /> + <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="13.125" /> + <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="3" PointY="40.25" /> + <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="0.75" PointY="43" /> + <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="12" PointY="5.875" /> + <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="47.5" /> + <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="50.5" /> + <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS" Width="1.5" PointX="2.75" PointY="8" /> + <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" Width="1.5" PointX="5" PointY="8.125" /> + <EntityTypeShape EntityType="RemoteModel.RML_EXTENSION_TEST_WASHING_RESULTS" Width="1.5" PointX="8" PointY="1" /> + <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="14.875" /> + <EntityTypeShape EntityType="RemoteModel.RMLS_SPOOLS" Width="1.5" PointX="5.25" PointY="20.375" /> + <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="12" PointY="12.875" /> + <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="14.25" PointY="12.875" /> + <EntityTypeShape EntityType="RemoteModel.RUBBING_RESULTS" Width="1.5" PointX="16.75" PointY="0.75" /> + <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="15.75" PointY="20.5" /> + <EntityTypeShape EntityType="RemoteModel.SEGMENTS_GROUPS" Width="1.5" PointX="13.5" PointY="20.75" /> + <EntityTypeShape EntityType="RemoteModel.SITE" Width="1.5" PointX="6" PointY="12.5" /> + <EntityTypeShape EntityType="RemoteModel.SITES_CATALOGS" Width="1.5" PointX="10.25" PointY="55" /> + <EntityTypeShape EntityType="RemoteModel.SITES_RMLS" Width="1.5" PointX="8.25" PointY="20.875" /> + <EntityTypeShape EntityType="RemoteModel.SITES_SPOOL_TYPES" Width="1.5" PointX="11.25" PointY="9.625" /> + <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="9" PointY="6" /> + <EntityTypeShape EntityType="RemoteModel.SPOOL" Width="1.5" PointX="11.25" PointY="31.25" /> + <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="15.75" PointY="9.75" /> + <EntityTypeShape EntityType="RemoteModel.TANGO_UPDATES" Width="1.5" PointX="16.75" PointY="4.75" /> + <EntityTypeShape EntityType="RemoteModel.TANGO_VERSIONS" Width="1.5" PointX="14.25" PointY="41.75" /> + <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="16.75" PointY="12.75" /> + <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="13.75" PointY="16.75" /> + <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="17.75" PointY="9.75" /> + <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="18.75" PointY="0.75" /> + <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="18.75" PointY="12.75" /> + <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="18.75" PointY="5.75" /> + <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="9" PointY="27.625" /> + <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="14.25" PointY="28.875" /> + <EntityTypeShape EntityType="RemoteModel.WASHING_TEST_MATERIALS" Width="1.5" PointX="5.75" PointY="1.5" /> + <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="9" PointY="11.875" /> <AssociationConnector Association="RemoteModel.FK_ACTION_LOGS_USERS" /> <AssociationConnector Association="RemoteModel.FK_ORGANIZATIONS_ADDRESSES" /> <AssociationConnector Association="RemoteModel.FK_USERS_ADDRESSES" /> @@ -179,6 +181,7 @@ <AssociationConnector Association="RemoteModel.FK_PROCESS_PARAMETERS_TABLES_PROCESS_PARAMETERS_TABLES_GROUPS" /> <AssociationConnector Association="RemoteModel.FK_PROCESS_PARAMETERS_TABLES_GROUPS_RMLS" /> <AssociationConnector Association="RemoteModel.FK_PUBLISHED_TEST_PROJECTS_VERSIONS_PUBLISHED_TEST_PROJECTS" /> + <AssociationConnector Association="RemoteModel.FK_RML_EXTENSION_TEST_WASHING_RESULTS_WASHING_TEST_MATERIALS" /> <AssociationConnector Association="RemoteModel.FK_RMLS_SPOOLS_RMLS" /> <AssociationConnector Association="RemoteModel.FK_SITES_RMLS_RMLS" /> <AssociationConnector Association="RemoteModel.FK_RMLS_SPOOLS_SPOOL_TYPES" /> diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/WASHING_TEST_MATERIALS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/WASHING_TEST_MATERIALS.cs new file mode 100644 index 000000000..62f08e111 --- /dev/null +++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/WASHING_TEST_MATERIALS.cs @@ -0,0 +1,31 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated from a template. +// +// Manual changes to this file may cause unexpected behavior in your application. +// Manual changes to this file will be overwritten if the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace Tango.DAL.Remote.DB +{ + using System; + using System.Collections.Generic; + + public partial class WASHING_TEST_MATERIALS + { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] + public WASHING_TEST_MATERIALS() + { + this.RML_EXTENSION_TEST_WASHING_RESULTS = new HashSet<RML_EXTENSION_TEST_WASHING_RESULTS>(); + } + + public int ID { get; set; } + public string GUID { get; set; } + public System.DateTime LAST_UPDATED { get; set; } + public string NAME { get; set; } + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] + public virtual ICollection<RML_EXTENSION_TEST_WASHING_RESULTS> RML_EXTENSION_TEST_WASHING_RESULTS { get; set; } + } +} diff --git a/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj b/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj index e58f7fd5b..225dd99c5 100644 --- a/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj +++ b/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj @@ -327,6 +327,9 @@ <Compile Include="DB\RML_EXTENSION_TEST_RESULTS_FILES.cs"> <DependentUpon>RemoteADO.tt</DependentUpon> </Compile> + <Compile Include="DB\RML_EXTENSION_TEST_WASHING_RESULTS.cs"> + <DependentUpon>RemoteADO.tt</DependentUpon> + </Compile> <Compile Include="DB\ROLE.cs"> <DependentUpon>RemoteADO.tt</DependentUpon> </Compile> @@ -399,6 +402,9 @@ <Compile Include="DB\USERS_ROLES.cs"> <DependentUpon>RemoteADO.tt</DependentUpon> </Compile> + <Compile Include="DB\WASHING_TEST_MATERIALS.cs"> + <DependentUpon>RemoteADO.tt</DependentUpon> + </Compile> <Compile Include="DB\WINDING_METHODS.cs"> <DependentUpon>RemoteADO.tt</DependentUpon> </Compile> |
