public QualityVerification Verify( [NotNull] IBackgroundVerificationInputs backgroundVerificationInputs, [CanBeNull] ITrackCancel trackCancel) { QualitySpecification qualitySpecification = null; _backgroundVerificationInputs = backgroundVerificationInputs; _domainTransactions.UseTransaction( delegate { backgroundVerificationInputs.LoadInputsTx( _domainTransactions, trackCancel, OnProgress); qualitySpecification = PrepareQualitySpecificationTx(backgroundVerificationInputs); }); IVerificationContext verificationContext = Assert.NotNull(backgroundVerificationInputs.VerificationContext); VerificationServiceParameters parameters = Assert.NotNull(backgroundVerificationInputs.VerificationParameters); QualityVerification verification = Verify( verificationContext, qualitySpecification, parameters, backgroundVerificationInputs.VerifiedObjects); if (parameters.SaveVerificationStatistics && !verification.Cancelled) { backgroundVerificationInputs.SaveVerification(verification, _domainTransactions); } return(verification); }
private QualityVerification Verify([NotNull] IVerificationContext verificationContext, [NotNull] QualitySpecification qualitySpecification, [NotNull] VerificationServiceParameters parameters, [CanBeNull] ICollection <IObject> objects) { ISpatialReference spatialReference = verificationContext.SpatialReferenceDescriptor.SpatialReference; if (objects != null) { IEnvelope selectionEnvelope = InitSelection( objects, parameters.AreaOfInterest?.Extent, null); if (selectionEnvelope != null) { VerifiedPerimeter = selectionEnvelope; TestPerimeter = selectionEnvelope; } } if (TestPerimeter == null) { SetTestPerimeter(parameters.AreaOfInterest, spatialReference); } SetParameters(parameters); VerificationContext = verificationContext; AllowEditing = false; QualityVerification verification = VerifyEditableDatasets(qualitySpecification); verification.ContextType = parameters.VerificationContextType; verification.ContextName = parameters.VerificationContextName; return(verification); }