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; }
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; }
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); }
public void Setup() { _tlg = new TLG(); _output = new StringBuilder(); _xmlBuilder = XmlWriter.Create(_output); }