Inheritance: IWriter
Example #1
0
        private TLG Map(OperationData operationData, string taskDataPath, TaskDocumentWriter taskDocumentWriter)
        {
            var tlgId = operationData.Id.FindIsoId() ?? "TLG" + operationData.Id.ReferenceId;
            taskDocumentWriter.Ids.Add(tlgId, operationData.Id);

            var tlg = new TLG { A = tlgId};
            var sections = operationData.GetAllSections();
            var meters = sections.SelectMany(x => x.GetWorkingDatas()).ToList();
            var spatialRecords = operationData.GetSpatialRecords != null ? operationData.GetSpatialRecords() : null;

            var timHeader = _timHeaderMapper.Map(meters);
            _xmlReader.WriteTlgXmlData(taskDataPath, tlg.A + ".xml", timHeader);

            var binFilePath = Path.Combine(taskDataPath, tlg.A + ".bin");
            _binaryWriter.Write(binFilePath, meters, spatialRecords);

            return tlg;
        }
Example #2
0
        public IEnumerable<TLG> Read(XPathNodeIterator nodeIterator)
        {
            var tlgs = new List<TLG>();
            if (nodeIterator.Count == 0)
                return tlgs;

            foreach (XPathNavigator node in nodeIterator)
            {
                var tlg = new TLG
                {
                    A = GetValue(node, "A")
                };

                tlgs.Add(tlg);
            }

            return tlgs;
        }
Example #3
0
        private OperationData Map(TLG tlg, int? prescrptionId, string datacardPath, Dictionary<string, List<UniqueId>> linkedIds)
        {
            var tim = _xmlReader.ReadTlgXmlData(datacardPath, tlg.A + ".xml").First();
            var isoRecords = _binaryReader.Read(datacardPath, tlg.A + ".bin", tim).ToList();
            var sections = _sectionMapper.Map(new List<TIM> {tim}, isoRecords);
            var meters = sections != null ? sections.SelectMany(x => x.GetWorkingDatas()).ToList() : new List<WorkingData>();

            var operationData = new OperationData
            {
                GetSpatialRecords = () => _spatialRecordMapper.Map(isoRecords, meters),
                MaxDepth = 0,
                GetDeviceElementUses = x => x == 0 ? sections : new List<DeviceElementUse>(),
                PrescriptionId = prescrptionId
            };
            operationData.Id.UniqueIds.Add(_uniqueIdMapper.Map(tlg.A));

            if(linkedIds.ContainsKey(tlg.A))
            {
                foreach (var linkedId in linkedIds[tlg.A])
                    operationData.Id.UniqueIds.Add(linkedId);
            }

            return operationData;
        }
        public void Setup()
        {
            _datacardPath = "dataCardPath";
            _tlg = new TLG();
            _tlgs = new List<TLG>{ _tlg };
            _tim = new TIM();
            _tims = new List<TIM> {_tim};
            _linkedIds = new Dictionary<string, List<UniqueId>>();

            _spatialRecordMapperMock = new Mock<ISpatialRecordMapper>();
            _xmlReaderMock = new Mock<IXmlReader>();
            _binaryReaderMock = new Mock<IBinaryReader>();
            _sectionMapperMock = new Mock<ISectionMapper>();
            _uniqueIdMapperMock = new Mock<IUniqueIdMapper>();

            _tlg.A = "fileName";
            _xmlReaderMock.Setup(x => x.ReadTlgXmlData(_datacardPath, _tlg.A + ".xml")).Returns(_tims);

            _isoSpatialRows = new List<ISOSpatialRow>();
            _binaryReaderMock.Setup(x => x.Read(_datacardPath, _tlg.A + ".bin", _tim)).Returns(_isoSpatialRows);

            _sections = new List<DeviceElementUse>();
            _sectionMapperMock.Setup(x => x.Map(_tims, _isoSpatialRows)).Returns(_sections);

            _operationDataMapper = new OperationDataMapper(_xmlReaderMock.Object, _binaryReaderMock.Object, _spatialRecordMapperMock.Object, _sectionMapperMock.Object, _uniqueIdMapperMock.Object);
        }
Example #5
0
 public void Setup()
 {
     _tlg = new TLG();
     _output = new StringBuilder();
     _xmlBuilder = XmlWriter.Create(_output);
 }