public ValueTask <IReadOnlyList <EventSlice <UserGroupsAssignment, Guid> > > SliceInlineActions(IQuerySession querySession, IEnumerable <StreamAction> streams, ITenancy tenancy) { var allEvents = streams.SelectMany(x => x.Events).ToList(); var group = new TenantSliceGroup <UserGroupsAssignment, Guid>(tenancy.Default); group.AddEvents <UserRegistered>(@event => @event.UserId, allEvents); group.AddEvents <MultipleUsersAssignedToGroup>(@event => @event.UserIds, allEvents); return(new(group.Slices.ToList())); }
public ValueTask <IReadOnlyList <TenantSliceGroup <UserGroupsAssignment, Guid> > > SliceAsyncEvents(IQuerySession querySession, List <IEvent> events, ITenancy tenancy) { var group = new TenantSliceGroup <UserGroupsAssignment, Guid>(tenancy.Default); group.AddEvents <UserRegistered>(@event => @event.UserId, events); group.AddEvents <MultipleUsersAssignedToGroup>(@event => @event.UserIds, events); return(new(new List <TenantSliceGroup <UserGroupsAssignment, Guid> > { group })); }