コード例 #1
0
ファイル: custom_slicer.cs プロジェクト: tonykaralis/marten
            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()));
            }
コード例 #2
0
ファイル: custom_slicer.cs プロジェクト: tonykaralis/marten
            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
                }));
            }