public void for_determines_action_type_guid() { var events = new List<IEvent> { new Event<AEvent>(new AEvent()), new Event<AEvent>(new AEvent()), new Event<AEvent>(new AEvent()), new Event<AEvent>(new AEvent()), new Event<AEvent>(new AEvent()), }; events[0].Version = 5; StreamAction.For(Guid.NewGuid(), events) .ActionType.ShouldBe(StreamActionType.Append); events[0].Version = 1; StreamAction.For(Guid.NewGuid(), events) .ActionType.ShouldBe(StreamActionType.Start); }
private void buildGroups() { var byTenant = Range.Events.GroupBy(x => x.TenantId); foreach (var group in byTenant) { var tenant = _store.Tenancy[@group.Key]; var actions = _store.Events.StreamIdentity switch { StreamIdentity.AsGuid => @group.GroupBy(x => x.StreamId) .Select(events => StreamAction.For(events.Key, events.ToList())), StreamIdentity.AsString => @group.GroupBy(x => x.StreamKey) .Select(events => StreamAction.For(events.Key, events.ToList())), _ => null }; Groups.Add(new TenantActionGroup(tenant, actions)); } }
public TenantedEventRange(EventGraph graph, ITenancy tenancy, EventRange range) { Range = range; var byTenant = range.Events.GroupBy(x => x.TenantId); foreach (var group in byTenant) { var tenant = tenancy[group.Key]; var actions = graph.StreamIdentity switch { StreamIdentity.AsGuid => group.GroupBy(x => x.StreamId) .Select(events => StreamAction.For(events.Key, events.ToList())), StreamIdentity.AsString => group.GroupBy(x => x.StreamKey) .Select(events => StreamAction.For(events.Key, events.ToList())), _ => null }; Groups.Add(new TenantActionGroup(tenant, actions)); } }