Exemplo n.º 1
0
        public IssueRepository([NotNull] IssueRowWriter rowWriter,
                               [NotNull] IEnumerable <IssueFeatureWriter> featureWriters,
                               [NotNull] IIssueTableFields fields,
                               [NotNull] IFeatureWorkspace featureWorkspace)
        {
            Assert.ArgumentNotNull(rowWriter, nameof(rowWriter));
            Assert.ArgumentNotNull(featureWriters, nameof(featureWriters));
            Assert.ArgumentNotNull(fields, nameof(fields));
            Assert.ArgumentNotNull(featureWorkspace, nameof(featureWorkspace));

            FeatureWorkspace = featureWorkspace;
            _rowWriter       = rowWriter;
            _featureWriters  = featureWriters.ToList();

            _issueWritersByGeometryType = GetIssueWritersByGeometryType(rowWriter,
                                                                        _featureWriters);

            _issueDatasets = GetIssueDatasets(rowWriter, _featureWriters, fields);

            if (_featureWriters.Count > 0)
            {
                _spatialReference =
                    SpatialReferenceUtils.GetUniqueSpatialReference(
                        GetSpatialReferences(_featureWriters),
                        comparePrecisionAndTolerance: true,
                        compareVerticalCoordinateSystems: true);
            }
        }