public void MapName() { var station = TestStations.Waterloo; var mapper = new StationMapper(_tocs); mapper.Update(station, _waterloo); Assert.Equal("Waterloo", station.Name); }
public void MapStationOperator() { var station = TestStations.Waterloo; var mapper = new StationMapper(_tocs); mapper.Update(station, _waterloo); Assert.Equal("NR", station.StationOperator.Code); }
public void MapNlc() { var station = TestStations.Waterloo; var mapper = new StationMapper(_tocs); mapper.Update(station, _waterloo); Assert.Equal("559800", station.Nlc); }
public void MapWhenStationOperatorNotSet() { var station = TestStations.Vauxhall; StationStructure vauxhall = Timetable.Web.Test.Knowledgebase.TestStations.Stations.Station[1]; var mapper = new StationMapper(_tocs); mapper.Update(station, vauxhall); Assert.Equal(Toc.Unknown, station.StationOperator); }
public void MapCoordinates() { var station = TestStations.Waterloo; var mapper = new StationMapper(_tocs); mapper.Update(station, _waterloo); Assert.Equal(new decimal(-0.113897), station.Coordinates.Longitude); Assert.Equal(new decimal(51.503507), station.Coordinates.Latitude); }
public async Task <ILocationData> EnrichLocationsAsync(ILocationData locations, TocLookup lookup, CancellationToken token) { var refData = await GetReferenceData(token).ConfigureAwait(false); var mapper = new StationMapper(lookup, locations, _logger); foreach (var location in refData.LocationRef) { try { if (ShouldUpdate(location) && locations.TryGetStation(location.crs, out var target)) { mapper.Update(target, location); } else { _logger.Debug("Darwin Location not loaded: {tpl} : {name}", location.tpl, location.locname); } } catch (Exception e) { _logger.Warning(e, "Error updating station: {station} with Darwin data.", location.crs); } } foreach (var viaRule in refData.Via) { try { if (locations.TryGetStation(viaRule.at, out var target)) { mapper.AddRule(target, viaRule); } } catch (Exception e) { _logger.Warning(e, "Error updating station: {station} with Via rule.", viaRule.at); } } return(locations); bool ShouldUpdate(LocationRef location) { return(!string.IsNullOrEmpty(location.crs)); } }
public Worker(string filePath) { this.filePath = filePath; _parser = new Parser(); _analogMapper = new AnalogMapper(); _connectionMapper = new ConnectionMapper(); _legacyNameMapper = new LegacyNameMapper(); _messageMapper = new MessageMapper(); _multistateMapper = new MultistateMapper(); _rateMapper = new RateMapper(); _remConnJoinMapper = new RemConnJoinMapper(); _remoteMapper = new RemoteMapper(); _stationMapper = new StationMapper(); _statusMapper = new StatusMapper(); _templateMapper = new CGLTemplateMapper(); _CGLMapper = new CGLMapper(); }
public async Task <ILocationData> UpdateLocationsWithKnowledgebaseStationsAsync(ILocationData locations, TocLookup lookup, CancellationToken token) { var mapper = new StationMapper(lookup); StationList stations = null; try { stations = await _knowledgebase.GetStations(token).ConfigureAwait(false); } catch (Exception e) { _logger.Warning(e, "Error loading Knowledgebase Stations."); } if (stations == null) { return(locations); } foreach (var station in stations.Station) { try { if (locations.TryGetStation(station.CrsCode, out var target)) { mapper.Update(target, station); } } catch (Exception e) { _logger.Warning(e, "Error updating station: {station} with knowledgebase.", station.CrsCode); } } return(locations); }
public StationService() { Repo = new UnitOfWork().Stations; Mapper = new StationMapper(Repo); }