Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Deltares.Dam.Data.csproj
===================================================================
diff -u -r6649 -r6656
--- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Deltares.Dam.Data.csproj (.../Deltares.Dam.Data.csproj) (revision 6649)
+++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Deltares.Dam.Data.csproj (.../Deltares.Dam.Data.csproj) (revision 6656)
@@ -60,8 +60,8 @@
-
-
+
+
Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.StixFileReader/Deltares.Dam.StixFileReader.csproj
===================================================================
diff -u -r6641 -r6656
--- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.StixFileReader/Deltares.Dam.StixFileReader.csproj (.../Deltares.Dam.StixFileReader.csproj) (revision 6641)
+++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.StixFileReader/Deltares.Dam.StixFileReader.csproj (.../Deltares.Dam.StixFileReader.csproj) (revision 6656)
@@ -7,6 +7,6 @@
-
+
\ No newline at end of file
Index: DamClients/DamUI/trunk/src/Dam/Forms/Deltares.Dam.Forms.csproj
===================================================================
diff -u -r6654 -r6656
--- DamClients/DamUI/trunk/src/Dam/Forms/Deltares.Dam.Forms.csproj (.../Deltares.Dam.Forms.csproj) (revision 6654)
+++ DamClients/DamUI/trunk/src/Dam/Forms/Deltares.Dam.Forms.csproj (.../Deltares.Dam.Forms.csproj) (revision 6656)
@@ -161,7 +161,7 @@
-
+
Index: DamClients/DamUI/trunk/src/Dam/Forms/DamContext.cs
===================================================================
diff -u -r6436 -r6656
--- DamClients/DamUI/trunk/src/Dam/Forms/DamContext.cs (.../DamContext.cs) (revision 6436)
+++ DamClients/DamUI/trunk/src/Dam/Forms/DamContext.cs (.../DamContext.cs) (revision 6656)
@@ -49,6 +49,22 @@
public bool Wti { get; set; } = true;
///
+ /// Returns a flag to indicate that this property must be validated
+ ///
+ /// The source
+ /// The member
+ /// the flag
+ public override bool? ShouldValidate(object source, string member)
+ {
+ if (source is Soil soil)
+ {
+ return ShouldValidateSoil(member, soil);
+ }
+
+ return base.ShouldValidate(source, member);
+ }
+
+ ///
/// Method indicating a visibility override value for a given instance object.
///
/// Object being evaluated.
@@ -121,11 +137,6 @@
}
bool? isVisible = base.IsVisible(source, member);
- if (member.Equals("Cohesion"))
- {
- return true;
- }
-
if (isVisible != null && isVisible.Value)
{
return true;
@@ -189,6 +200,12 @@
{
return soil.ShearStrengthModel == ShearStrengthModel.CuCalculated;
}
+
+ if (member == StaticReflection.GetMemberName(s => s.Cohesion) ||
+ member == StaticReflection.GetMemberName(s => s.FrictionAngle))
+ {
+ return soil.ShearStrengthModel == ShearStrengthModel.CPhi;
+ }
return true;
}
@@ -266,6 +283,24 @@
return base.GetFormat(type, source, member);
}
+ private static bool ShouldValidateSoil(string member, Soil soil)
+ {
+ if (member == StaticReflection.GetMemberName(s => s.POP) ||
+ member == StaticReflection.GetMemberName(s => s.RatioCuPc) ||
+ member == StaticReflection.GetMemberName(s => s.StrengthIncreaseExponent))
+ {
+ return soil.ShearStrengthModel == ShearStrengthModel.CuCalculated;
+ }
+
+ if (member == StaticReflection.GetMemberName(s => s.Cohesion) ||
+ member == StaticReflection.GetMemberName(s => s.FrictionAngle))
+ {
+ return soil.ShearStrengthModel == ShearStrengthModel.CPhi;
+ }
+
+ return true;
+ }
+
private bool? VisibleAccordingSoilUserFilter(string member)
{
if (alwaysVisibleProperties.Contains(member))