コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }