private void Load() { _multiConduitInfos = new Dictionary <Guid, MultiConduitInfo>(); _singleConduitInfos = new Dictionary <Guid, SingleConduitInfo>(); _singleConduitJuncionInfos = new Dictionary <Guid, SingleConduitSegmentJunctionInfo>(); _pointOfInterestIndex = new PointOfInterestIndex(routeNetworkQueryService); using (var session = documentStore.LightweightSession()) { // Fetch everything into memory for fast access var multiConduits = session.Query <MultiConduitInfo>(); foreach (var multiConduit in multiConduits) { UpdateMultiConduitInfo(multiConduit); } var singleConduits = session.Query <SingleConduitInfo>(); foreach (var singleConduit in singleConduits) { UpdateSingleConduitInfo(singleConduit); } } }
public ConduitNetworkQueryService(IDocumentStore documentStore, IRouteNetworkState routeNetworkQueryService) { this.documentStore = documentStore; this.routeNetworkQueryService = routeNetworkQueryService; this._pointOfInterestIndex = new PointOfInterestIndex(routeNetworkQueryService); var config = new MapperConfiguration(cfg => { cfg.CreateMap <SingleConduitInfo, SingleConduitInfo>(); cfg.CreateMap <MultiConduitInfo, MultiConduitInfo>(); }); _mapper = config.CreateMapper(); Load(); }