示例#1
0
 public QaLineConnectionFieldValues(
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_lineClasses))][NotNull]
     IList <IFeatureClass>
     lineClasses,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_lineFields))][NotNull]
     IList <string> lineFields,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_lineFieldValuesConstraint))]
     LineFieldValuesConstraint lineFieldValuesConstraint,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_pointClass))][NotNull]
     IFeatureClass pointClass,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_pointField))][CanBeNull]
     string pointField,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_pointFieldValuesConstraint))]
     PointFieldValuesConstraint pointFieldValuesConstraint,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_allowedPointsExpression))][CanBeNull]
     string
     allowedPointsExpression)
     : this(lineClasses, lineFields, lineFieldValuesConstraint, new[] { pointClass },
            string.IsNullOrEmpty(pointField) ? null : new[] { pointField },
            pointFieldValuesConstraint,
            string.IsNullOrEmpty(allowedPointsExpression)
                                ? null
                                : new[] { allowedPointsExpression })
 {
 }
示例#2
0
        public QaLineConnectionFieldValues(
            [Doc(nameof(DocStrings.QaLineConnectionFieldValues_lineClasses))][NotNull]
            IList <IFeatureClass>
            lineClasses,
            [Doc(nameof(DocStrings.QaLineConnectionFieldValues_lineFields))][NotNull]
            IList <string> lineFields,
            [Doc(nameof(DocStrings.QaLineConnectionFieldValues_lineFieldValuesConstraint))]
            LineFieldValuesConstraint lineFieldValuesConstraint,
            [Doc(nameof(DocStrings.QaLineConnectionFieldValues_pointClasses))][NotNull]
            IList <IFeatureClass>
            pointClasses,
            [Doc(nameof(DocStrings.QaLineConnectionFieldValues_pointFields))][CanBeNull]
            IList <string>
            pointFields,
            [Doc(nameof(DocStrings.QaLineConnectionFieldValues_pointFieldValuesConstraint))]
            PointFieldValuesConstraint pointFieldValuesConstraint,
            [Doc(nameof(DocStrings.QaLineConnectionFieldValues_allowedPointsExpressions))][CanBeNull]
            IList <string>
            allowedPointsExpressions)
            : base(CastToTables(lineClasses, pointClasses),
                   tolerance: 0,
                   includeBorderNodes: false,
                   nonNetworkClassIndexList: null)
        {
            Assert.ArgumentNotNull(lineClasses, nameof(lineClasses));
            Assert.ArgumentNotNull(lineFields, nameof(lineFields));
            Assert.ArgumentNotNull(pointClasses, nameof(pointClasses));
            Assert.ArgumentCondition(
                lineFields.Count == 1 || lineFields.Count == lineClasses.Count,
                "lineFields must be either a single field that exists in all lineClasses, or one field per lineClass");

            Assert.ArgumentCondition(
                pointFields == null || pointFields.Count == 0 || pointFields.Count == 1 ||
                pointFields.Count == pointClasses.Count,
                "pointFields must be either null, a single field that exists in all pointClasses, or one field per pointClass");

            Assert.ArgumentCondition(
                allowedPointsExpressions == null || allowedPointsExpressions.Count == 0 ||
                allowedPointsExpressions.Count == 1 ||
                allowedPointsExpressions.Count == pointClasses.Count,
                "allowedPointsExpressions must be either null, a single expression that exists in all pointClasses, or one expression per pointClass");

            _lineFields = lineFields.ToList();
            _lineFieldValuesConstraint = lineFieldValuesConstraint;
            _pointClasses = pointClasses;
            _pointFields  = pointFields != null && pointFields.Count > 0 ? pointFields : null;
            _pointFieldValuesConstraint = pointFieldValuesConstraint;
            _allowedPointsExpressions   = allowedPointsExpressions != null &&
                                          allowedPointsExpressions.Count > 0
                                                            ? allowedPointsExpressions
                                                            : null;

            _pointClassesMinIndex = lineClasses.Count;
            _pointClassesMaxIndex = _pointClassesMinIndex + pointClasses.Count;
            _usePointFields       = _pointFields != null;
        }
示例#3
0
 public QaLineConnectionFieldValues(
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_lineClass))][NotNull]
     IFeatureClass lineClass,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_lineField))][NotNull]
     string lineField,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_lineFieldValuesConstraint))]
     LineFieldValuesConstraint lineFieldValuesConstraint,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_pointClass))][NotNull]
     IFeatureClass pointClass,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_pointField))][CanBeNull]
     string pointField,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_pointFieldValuesConstraint))]
     PointFieldValuesConstraint pointFieldValuesConstraint)
     : this(new[] { lineClass }, new[] { lineField }, lineFieldValuesConstraint,
            pointClass, pointField, pointFieldValuesConstraint)
 {
 }
示例#4
0
 public QaLineConnectionFieldValues(
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_lineClasses))][NotNull]
     IList <IFeatureClass>
     lineClasses,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_lineFields))][NotNull]
     IList <string> lineFields,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_lineFieldValuesConstraint))]
     LineFieldValuesConstraint lineFieldValuesConstraint,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_pointClass))][NotNull]
     IFeatureClass pointClass,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_pointField))][CanBeNull]
     string pointField,
     [Doc(nameof(DocStrings.QaLineConnectionFieldValues_pointFieldValuesConstraint))]
     PointFieldValuesConstraint pointFieldValuesConstraint)
     : this(
         lineClasses, lineFields, lineFieldValuesConstraint, pointClass, pointField,
         // ReSharper disable once IntroduceOptionalParameters.Global
         pointFieldValuesConstraint, null)
 {
 }