Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultPerSectionView.cs =================================================================== diff -u -r89eba1fca653769a3c3f7ebe9da8d91ebf0047a5 -r91a5d8f7c8b54588748ae979c9e26ef72207768f --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultPerSectionView.cs (.../AssemblyResultPerSectionView.cs) (revision 89eba1fca653769a3c3f7ebe9da8d91ebf0047a5) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/AssemblyResultPerSectionView.cs (.../AssemblyResultPerSectionView.cs) (revision 91a5d8f7c8b54588748ae979c9e26ef72207768f) @@ -30,6 +30,7 @@ using Ringtoets.Integration.Data.Assembly; using Ringtoets.Integration.Forms.Observers; using Ringtoets.Integration.Forms.Properties; +using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; using PipingDataResources = Ringtoets.Piping.Data.Properties.Resources; using GrassCoverErosionInwardsDataResources = Ringtoets.GrassCoverErosionInwards.Data.Properties.Resources; using MacroStabilityInwardsDataResources = Ringtoets.MacroStabilityInwards.Data.Properties.Resources; @@ -86,6 +87,7 @@ base.OnLoad(e); InitializeDataGridView(); + CheckManualAssemblyResults(); dataGridViewControl.CellFormatting += HandleCellStyling; } @@ -106,14 +108,50 @@ if (!refreshAssemblyResultsButton.Enabled) { refreshAssemblyResultsButton.Enabled = true; - warningProvider.SetIconPadding(refreshAssemblyResultsButton, - errorProvider.GetError(refreshAssemblyResultsButton) == string.Empty - ? 4 : 24); + warningProvider.SetError(refreshAssemblyResultsButton, Resources.AssemblyResultView_RefreshAssemblyResultsButton_Warning_Result_is_outdated_Press_Refresh_button_to_recalculate); + + warningProvider.SetIconPadding(refreshAssemblyResultsButton, + string.IsNullOrEmpty(errorProvider.GetError(refreshAssemblyResultsButton)) ? 4 : 24); + CheckManualAssemblyResults(); } } + private void CheckManualAssemblyResults() + { + SetManualAssemblyWarningIconPadding(); + + if (AssessmentSectionHelper.HasManualAssemblyResults(AssessmentSection)) + { + manualAssemblyWarningProvider.SetError(refreshAssemblyResultsButton, + RingtoetsCommonFormsResources.ManualAssemblyWarning_FailureMechanismAssemblyResult_is_based_on_manual_assemblies); + } + } + + private void SetManualAssemblyWarningIconPadding() + { + bool hasError = !string.IsNullOrEmpty(errorProvider.GetError(refreshAssemblyResultsButton)); + bool hasWarning = !string.IsNullOrEmpty(warningProvider.GetError(refreshAssemblyResultsButton)); + + int manualAssemblyWarningPadding; + if (hasError && hasWarning) + { + manualAssemblyWarningPadding = 44; + } + else if (hasError || hasWarning) + { + manualAssemblyWarningPadding = 24; + } + else + { + manualAssemblyWarningPadding = 4; + } + + manualAssemblyWarningProvider.SetIconPadding(refreshAssemblyResultsButton, + manualAssemblyWarningPadding); + } + private void HandleCellStyling(object sender, DataGridViewCellFormattingEventArgs e) { dataGridViewControl.FormatCellWithColumnStateDefinition(e.RowIndex, e.ColumnIndex); @@ -213,12 +251,15 @@ { errorProvider.SetError(refreshAssemblyResultsButton, e.Message); } + + CheckManualAssemblyResults(); } private void ClearCurrentData() { errorProvider.SetError(refreshAssemblyResultsButton, string.Empty); warningProvider.SetError(refreshAssemblyResultsButton, string.Empty); + manualAssemblyWarningProvider.SetError(refreshAssemblyResultsButton, string.Empty); dataGridViewControl.SetDataSource(Enumerable.Empty()); } }