private async Task RefreshDataAsync(INonTerminalDescriptor descriptor, IEnumerable <ITerminalDescriptor> freshComposition) { await UpdateCompositionAndAcquireAdditionsAsync(descriptor, freshComposition); EventsAggregator.PublishDataChangedEvent(descriptor); EventsAggregator.PublishCompositionChangedEvent(descriptor); }
public void Buy(int money) { var buyUpgrade = new BuyUpgrade(Price, Bonus, 2); buyUpgrade.Buy(0); Bonus = buyUpgrade.Bonus; Price = buyUpgrade.Price; EventsAggregator.Publish(); }
private async Task RefreshDataAsync(ITerminalDescriptor descriptor, IInstanceRetrievalContext <TData> freshData) { var instance = DataPool.Retrieve(descriptor); await DataPool.SaveAsync(descriptor, freshData); EventsAggregator.PublishDataChangedEvent(descriptor); EventsAggregator.PublishInstanceChangedEvent(new InstanceChangedEventArgs <TData>(descriptor, instance)); }
public void Publish_WhenSubscriberThrowsExceptionAndLoggerFactoryIsNull_UseLogger() { var target = new EventsAggregator(_metricsReporter, _exceptionLogger); var subscriber = new FlawedSubscriber(); subscriber.SubscribeForEvents(target); target.Publish(new DummyEvent()); _exceptionLogger.AssertWasCalled(x => x.Error(Arg <Type> .Is.Anything, Arg <IEvent> .Is.Anything, Arg <Exception> .Is.Anything)); }