private void Handle(AggregateEventBag <UserChanged> userChanged) { ReadModelStore.Change(new UserModel { Id = userChanged.Id, EMail = userChanged.EventData.EMail, Name = userChanged.EventData.Name, Password = userChanged.EventData.Password }); }
public async Task InternalUpdateReadStoresAsync( IReadOnlyCollection <IDomainEvent> domainEvents, CancellationToken cancellationToken) { var relevantDomainEvents = domainEvents .Where(e => AggregateEventTypes.Contains(e.EventType)) .ToList(); if (!relevantDomainEvents.Any()) { Log.Verbose(() => string.Format( "None of these events was relevant for read model '{0}', skipping update: {1}", StaticReadModelType.PrettyPrint(), string.Join(", ", domainEvents.Select(e => e.EventType.PrettyPrint())) )); return; } Log.Verbose(() => string.Format( "Updating read model '{0}' in store '{1}' with these events: {2}", typeof(TReadModel).PrettyPrint(), typeof(TReadModelStore).PrettyPrint(), string.Join(", ", relevantDomainEvents.Select(e => e.ToString())))); var contextFactory = new ReadModelContextFactory(Resolver); var readModelUpdates = BuildReadModelUpdates(relevantDomainEvents); if (!readModelUpdates.Any()) { Log.Verbose(() => string.Format( "No read model updates after building for read model '{0}' in store '{1}' with these events: {2}", typeof(TReadModel).PrettyPrint(), typeof(TReadModelStore).PrettyPrint(), string.Join(", ", relevantDomainEvents.Select(e => e.ToString())))); return; } await ReadModelStore.UpdateAsync( readModelUpdates, contextFactory, UpdateAsync, cancellationToken) .ConfigureAwait(false); }
private void Handle(AggregateEventBag <UserDeleted> userDeleted) { ReadModelStore.Remove(new UserModel { Id = userDeleted.Id }); }
private IEnumerable <UserModel> ExecuteQuery(GetAllUsers query) { return(ReadModelStore.Query <UserModel>().ToList()); }
private UserModel ExecuteQuery(GetUser query) { return(ReadModelStore.Query <UserModel>().SingleOrDefault(u => u.Id == query.Id)); }