public override bool IsValid(params ILegalPerson[] persons) { if (Affidavit == null) { AddReasonEntry($"{nameof(Affidavit)} is unassigned"); return(false); } if (IsInvalidOnItsFace(Affidavit)) { AddReasonEntry($"{nameof(IsInvalidOnItsFace)} is true"); return(false); } if (!IsContainFalseStatement(Affidavit)) { AddReasonEntry($"{nameof(IsContainFalseStatement)} is false"); return(false); } var affiant = Affidavit.GetAffiant(persons); if (affiant == null) { AddReasonEntry($"{nameof(Affidavit)} {nameof(Affidavit.GetAffiant)} returned nothing"); return(false); } var affiantTitle = affiant.GetLegalPersonTypeName(); if (!IsAffiantLawEnforcement(affiant)) { AddReasonEntry($"{affiantTitle} {affiant.Name}, {nameof(IsAffiantLawEnforcement)} is false"); return(false); } if (!IsDisregardOfTruth(affiant)) { AddReasonEntry($"{affiantTitle} {affiant.Name}, {nameof(IsDisregardOfTruth)} is false"); return(false); } if (!IsFalseStatementCritical(Affidavit)) { AddReasonEntry($"{nameof(IsFalseStatementCritical)} is false"); return(false); } return(true); }