/// <summary> /// Use this method to seed the in memory state with route network data /// </summary> public void Seed(List <RouteNetworkEditOperationOccuredEvent> editOperationEvents) { var routeNetworkEventHandler = new RouteNetworkEventHandler(_loggerFactory, _state); foreach (var editOperationEvent in editOperationEvents) { routeNetworkEventHandler.HandleEvent(editOperationEvent); } }
public RouteNetworkEventConsumer(ILoggerFactory loggerFactory, IEventStore eventStore, IOptions <KafkaSetting> kafkaSetting, IOptions <EventStoreDatabaseSetting> eventStoreDatabaseSetting, IOptions <GeoDatabaseSetting> geoDatabaseSetting, IToposTypedEventObservable <RouteNetworkEditOperationOccuredEvent> eventDispatcher, RouteNetworkEventHandler routeNetworkEventHandler, IRouteNetworkState routeNetworkState, ICommandDispatcher commandDispatcher, IQueryDispatcher queryDispatcher) { _loggerFactory = loggerFactory; _logger = _loggerFactory.CreateLogger <RouteNetworkEventConsumer>(); _eventStore = eventStore; _kafkaSetting = kafkaSetting.Value; _eventStoreDatabaseSetting = eventStoreDatabaseSetting.Value; _geoDatabaseSetting = geoDatabaseSetting.Value; _commandDispatcher = commandDispatcher; _queryDispatcher = queryDispatcher; _eventDispatcher = eventDispatcher; _routeNetworkEventHandler = routeNetworkEventHandler; _routeNetworkState = routeNetworkState; }
/// <summary> /// Use this method to seed the in memory state with route network json data /// </summary> public void Seed(string json) { JsonConvert.DefaultSettings = (() => { var settings = new JsonSerializerSettings(); settings.ContractResolver = new CamelCasePropertyNamesContractResolver(); settings.Converters.Add(new StringEnumConverter()); settings.TypeNameHandling = TypeNameHandling.Auto; return(settings); }); var editOperationEvents = JsonConvert.DeserializeObject <List <RouteNetworkEditOperationOccuredEvent> >(json); var routeNetworkEventHandler = new RouteNetworkEventHandler(_loggerFactory, this, _eventStore, _commandDispatcher, _queryDispatcher); foreach (var editOperationEvent in editOperationEvents) { routeNetworkEventHandler.HandleEvent(editOperationEvent); } FinishLoadMode(); }