Exemple #1
0
        public static IErrorDataset GetErrorDataset([NotNull] IObject errorObject,
                                                    [NotNull] IDatasetLookup datasetLookup)
        {
            Assert.ArgumentNotNull(errorObject, nameof(errorObject));
            Assert.ArgumentNotNull(datasetLookup, nameof(datasetLookup));

            var dataset = (IErrorDataset)datasetLookup.GetDataset(errorObject);

            Assert.NotNull(dataset, "error dataset not found for {0}",
                           GdbObjectUtils.ToString(errorObject));
            return(dataset);
        }
        public static IDictionary <IObjectClass, IObjectDataset> GetDatasetsByObjectClass(
            [NotNull] IEnumerable <IObject> objects,
            [NotNull] IDatasetLookup datasetLookup)
        {
            var result = new Dictionary <IObjectClass, IObjectDataset>();

            foreach (IObject obj in objects)
            {
                IObjectClass objectClass = obj.Class;

                IObjectDataset dataset;
                if (!result.TryGetValue(objectClass, out dataset))
                {
                    dataset = datasetLookup.GetDataset(objectClass);
                    result.Add(objectClass, dataset);
                }
            }

            return(result);
        }
Exemple #3
0
        private static IEnumerable <IFeature> GetDerivedTableGeometryFeatures(
            [NotNull] IObject obj,
            [NotNull] IDatasetLookup datasetLookup,
            [NotNull] IModelContext modelContext)
        {
            Assert.ArgumentNotNull(obj, nameof(obj));
            Assert.ArgumentNotNull(datasetLookup, nameof(datasetLookup));

            ObjectDataset dataset = datasetLookup.GetDataset(obj);

            if (dataset == null)
            {
                yield break;
            }

            foreach (IFeature feature in GetDerivedTableGeometryFeatures(
                         obj, dataset, modelContext))
            {
                yield return(feature);
            }
        }
        internal static void AssignExecutionTimes(
            [NotNull] QualityVerification qualityVerification,
            [NotNull] IEnumerable <KeyValuePair <ITest, TestVerification> > testVerifications,
            [NotNull] VerificationTimeStats verificationTimeStats,
            [NotNull] IDatasetLookup datasetLookup)
        {
            // Assign execute time
            foreach (KeyValuePair <ITest, TestVerification> pair in testVerifications)
            {
                AssignExecutionTime(pair.Key,
                                    pair.Value.QualityConditionVerification,
                                    verificationTimeStats);
            }

            // Assign load time
            foreach (
                KeyValuePair <IDataset, double> pair in verificationTimeStats.DatasetLoadTimes)
            {
                IDataset gdbDataset = pair.Key;

                Dataset dataset = datasetLookup.GetDataset((IDatasetName)gdbDataset.FullName);

                if (dataset == null)
                {
                    continue;
                }

                QualityVerificationDataset verificationDataset =
                    qualityVerification.GetVerificationDataset(dataset);

                if (verificationDataset != null)
                {
                    verificationDataset.LoadTime = pair.Value / 1000.0;
                }
            }
        }