From a94fddbdec411a2d6f4b157636a6c0926f1fdc50 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Mon, 11 Dec 2017 10:50:38 +0100 Subject: [PATCH] separate flags if customer report itself is valid, and customer report matches manufacturer report (for UI) --- .../UserControl/CustomerReportXMLFile.cs | 20 +++++++++++++++++-- .../UserControl/ManufacturerReportXMLFile.cs | 2 +- HashingTool/Views/VerifyResults.xaml | 4 ++-- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/HashingTool/ViewModel/UserControl/CustomerReportXMLFile.cs b/HashingTool/ViewModel/UserControl/CustomerReportXMLFile.cs index a9c988df6d..5c93c318e2 100644 --- a/HashingTool/ViewModel/UserControl/CustomerReportXMLFile.cs +++ b/HashingTool/ViewModel/UserControl/CustomerReportXMLFile.cs @@ -14,6 +14,7 @@ namespace HashingTool.ViewModel.UserControl private string _manufacturerReportDigestValueRead; private bool _manufacturerReportMatchesReport; private string _manufacturerReportDigestValueComputed; + private bool _manufacturerReportDigestValid; public CustomerReportXMLFile(string name, Func<XmlDocument, IErrorLogger, bool?> contentCheck, Action<XmlDocument, VectoXMLFile> hashValidation = null) : base(name, contentCheck, hashValidation) @@ -98,6 +99,18 @@ namespace HashingTool.ViewModel.UserControl RaisePropertyChanged("ManufacturerReportDigestValueComputed"); } } + + public bool ManufacturerReportDigestValid + { + get { return _manufacturerReportDigestValid; } + set { + if (_manufacturerReportDigestValid == value) { + return; + } + _manufacturerReportDigestValid = value; + RaisePropertyChanged("ManufacturerReportDigestValid"); + } + } protected virtual void ManufacturerReportChanged(object sender, PropertyChangedEventArgs e) { @@ -108,8 +121,8 @@ namespace HashingTool.ViewModel.UserControl protected override void ReportChanged(object sender, PropertyChangedEventArgs e) { + base.ReportChanged(sender, e); if (sender == _xmlFile && e.PropertyName == GeneralUpdate) { - ReadReportData(); VerifyManufacturerReport(); } } @@ -155,7 +168,10 @@ namespace HashingTool.ViewModel.UserControl ManufacturerReportDigestValueRead = manufacturerReportDigestValueRead; ManufacturerReportDigestValueComputed = manufacturerReportDigestValueComputed; - ManufacturerReportMatchesReport = digestMatch; + ManufacturerReportMatchesReport = FileIntegrityValid != null && FileIntegrityValid.Value && digestMatch; + + ManufacturerReportDigestValid = digestMatch; } + } } \ No newline at end of file diff --git a/HashingTool/ViewModel/UserControl/ManufacturerReportXMLFile.cs b/HashingTool/ViewModel/UserControl/ManufacturerReportXMLFile.cs index 4ede443676..b1dcad74f1 100644 --- a/HashingTool/ViewModel/UserControl/ManufacturerReportXMLFile.cs +++ b/HashingTool/ViewModel/UserControl/ManufacturerReportXMLFile.cs @@ -152,7 +152,7 @@ namespace HashingTool.ViewModel.UserControl } } - ManufacturerReportValid = JobDigestMatchesReport && hasComponentsFromJob && !certificationNumberMismatch.Any() && !digestMismatch.Any(); + ManufacturerReportValid = FileIntegrityValid != null && FileIntegrityValid.Value && hasComponentsFromJob && !certificationNumberMismatch.Any() && !digestMismatch.Any(); } public bool ManufacturerReportValid diff --git a/HashingTool/Views/VerifyResults.xaml b/HashingTool/Views/VerifyResults.xaml index e5ec6b59de..6dbecb27c9 100644 --- a/HashingTool/Views/VerifyResults.xaml +++ b/HashingTool/Views/VerifyResults.xaml @@ -321,7 +321,7 @@ <Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}"> <Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" /> <Style.Triggers> - <DataTrigger Binding="{Binding ManufacturerReportMatchesReport}" Value="True"> + <DataTrigger Binding="{Binding ManufacturerReportDigestValid}" Value="True"> <Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" /> </DataTrigger> </Style.Triggers> @@ -337,7 +337,7 @@ <Style TargetType="TextBox" BasedOn="{StaticResource DigestValueTextboxStyle}"> <Setter Property="Foreground" Value="{StaticResource Color.ErrorRed}" /> <Style.Triggers> - <DataTrigger Binding="{Binding ManufacturerReportMatchesReport}" Value="True"> + <DataTrigger Binding="{Binding ManufacturerReportDigestValid}" Value="True"> <Setter Property="Foreground" Value="{StaticResource Color.SuccessGreen}" /> </DataTrigger> </Style.Triggers> -- GitLab