public void ValidatePendingPaymentBankDetails(Guid pendingPaymentId, Accounts.Account account, CollectionPeriod collectionPeriod) { if (Account.Id != account.Id) { throw new InvalidPendingPaymentException($"Unable to validate PendingPayment {pendingPaymentId} of ApprenticeshipIncentive {Model.Id} because the provided Account record does not match the one against the incentive."); } var pendingPayment = GetPendingPaymentForValidationCheck(pendingPaymentId); var legalEntity = account.GetLegalEntity(pendingPayment.Account.AccountLegalEntityId); var isValid = !string.IsNullOrEmpty(legalEntity.VrfVendorId); pendingPayment.AddValidationResult(PendingPaymentValidationResult.New(Guid.NewGuid(), collectionPeriod, ValidationStep.HasBankDetails, isValid)); }
public void ValidateMinimumRequiredAgreementVersion(Guid pendingPaymentId, Accounts.Account account, CollectionPeriod collectionPeriod) { if (account == null || Account.Id != account.Id) { throw new InvalidPendingPaymentException($"Unable to validate PendingPayment {pendingPaymentId} of ApprenticeshipIncentive {Model.Id} because the provided Account record does not match the one against the incentive."); } var pendingPayment = GetPendingPaymentForValidationCheck(pendingPaymentId); var legalEntity = account.GetLegalEntity(pendingPayment.Account.AccountLegalEntityId); var isValid = legalEntity.SignedAgreementVersion >= MinimumAgreementVersion.MinimumRequiredVersion; pendingPayment.AddValidationResult(PendingPaymentValidationResult.New(Guid.NewGuid(), collectionPeriod, ValidationStep.HasSignedMinVersion, isValid)); }