public void ValidateIdCard(IdCard idCard) { if (idCard == null) { throw new ModelException("IdCard cannot be null"); } ValidateIdCardData(idCard); ValidateSystemInfo(((SystemIdCard)idCard).SystemInfo); if (idCard is UserIdCard) { bool allowEmptyCPR = idCard.AuthenticationLevel.Level < AuthenticationLevel.VocesTrustedSystem.Level && !ModelUtilities.IsEmpty(idCard.AlternativeIdentifier); ValidateUserInfo(((UserIdCard)idCard).UserInfo, allowEmptyCPR); } }