public BackgroundVerificationService( [NotNull] IDomainTransactionManager domainTransactions, [NotNull] IDatasetLookup datasetLookup) : base( new GdbTransaction(), datasetLookup) { _domainTransactions = domainTransactions; }
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); }
public ObjectSelection( [NotNull] IEnumerable <IObject> selectedObjects, [NotNull] IDatasetLookup datasetLookup, [NotNull] IQualityConditionObjectDatasetResolver datasetResolver) { Assert.ArgumentNotNull(selectedObjects, nameof(selectedObjects)); Assert.ArgumentNotNull(datasetLookup, nameof(datasetLookup)); Assert.ArgumentNotNull(datasetResolver, nameof(datasetResolver)); _datasetResolver = datasetResolver; ICollection <IObject> objectCollection = CollectionUtils.GetCollection(selectedObjects); IDictionary <IObjectClass, IObjectDataset> datasetsByClass = VerificationUtils.GetDatasetsByObjectClass( objectCollection, datasetLookup); foreach (IObject obj in objectCollection) { if (!obj.HasOID) { continue; } IObjectClass objectClass = obj.Class; IObjectDataset dataset = datasetsByClass[objectClass]; Assert.NotNull(dataset, "Unable to resolve dataset for object class {0}", DatasetUtils.GetName(objectClass)); HashSet <int> objectIds; if (!_objectsByDataset.TryGetValue(dataset, out objectIds)) { objectIds = new HashSet <int>(); _objectsByDataset.Add(dataset, objectIds); } objectIds.Add(obj.OID); } }
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); } }
public static IList <IFeature> GetInvolvedOrRelatedFeatures( [NotNull] IObject errorObject, [NotNull] IDatasetLookup datasetLookup, [NotNull] IModelContext modelContext, [NotNull] IQualityConditionRepository qualityConditionRepository) { Assert.ArgumentNotNull(errorObject, nameof(errorObject)); Assert.ArgumentNotNull(datasetLookup, nameof(datasetLookup)); Assert.ArgumentNotNull(modelContext, nameof(modelContext)); var list = new List <IFeature>(); IErrorDataset errorTable = GetErrorDataset(errorObject, datasetLookup); IErrorObject errorRow = CreateErrorObject(errorObject, errorTable, null); foreach ( IRow involvedRow in GetInvolvedRows(errorRow, modelContext, qualityConditionRepository)) { var feature = involvedRow as IFeature; if (feature != null) { list.Add(feature); } else { list.AddRange(GetDerivedTableGeometryFeatures((IObject)involvedRow, datasetLookup, modelContext)); } } return(list); }
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; } } }