Browse Source

Event number fixed

pull/152/head
Sebastian Stehle 9 years ago
parent
commit
17905c000e
  1. 15
      src/Squidex.Infrastructure.MongoDb/CQRS/Events/MongoEvent.cs
  2. 4
      src/Squidex.Infrastructure.MongoDb/CQRS/Events/MongoEventStore.cs
  3. 2
      src/Squidex.Infrastructure/CQRS/Events/Actors/EventConsumerActor.cs

15
src/Squidex.Infrastructure.MongoDb/CQRS/Events/MongoEvent.cs

@ -8,6 +8,7 @@
using System; using System;
using MongoDB.Bson.Serialization.Attributes; using MongoDB.Bson.Serialization.Attributes;
using Squidex.Infrastructure.Reflection;
namespace Squidex.Infrastructure.CQRS.Events namespace Squidex.Infrastructure.CQRS.Events
{ {
@ -28,5 +29,19 @@ namespace Squidex.Infrastructure.CQRS.Events
[BsonElement] [BsonElement]
[BsonRequired] [BsonRequired]
public string Type { get; set; } public string Type { get; set; }
public MongoEvent()
{
}
public MongoEvent(EventData data)
{
SimpleMapper.Map(data, this);
}
public EventData ToEventData()
{
return SimpleMapper.Map(this, new EventData());
}
} }
} }

4
src/Squidex.Infrastructure.MongoDb/CQRS/Events/MongoEventStore.cs

@ -99,7 +99,7 @@ namespace Squidex.Infrastructure.CQRS.Events
if (commitOffset > lastPosition.CommitOffset || commitTimestamp > lastPosition.Timestamp) if (commitOffset > lastPosition.CommitOffset || commitTimestamp > lastPosition.Timestamp)
{ {
var eventData = new EventData { EventId = e.EventId, Metadata = e.Metadata, Payload = e.Payload, Type = e.Type }; var eventData = e.ToEventData();
var eventToken = new StreamPosition(commitTimestamp, commitOffset, commit.Events.Length); var eventToken = new StreamPosition(commitTimestamp, commitOffset, commit.Events.Length);
await callback(new StoredEvent(eventToken, eventStreamOffset, eventData)); await callback(new StoredEvent(eventToken, eventStreamOffset, eventData));
@ -232,7 +232,7 @@ namespace Squidex.Infrastructure.CQRS.Events
foreach (var e in events) foreach (var e in events)
{ {
var mongoEvent = new MongoEvent { EventId = e.EventId, Metadata = e.Metadata, Payload = e.Payload, Type = e.Type }; var mongoEvent = new MongoEvent(e);
commitEvents[i++] = mongoEvent; commitEvents[i++] = mongoEvent;
} }

2
src/Squidex.Infrastructure/CQRS/Events/Actors/EventConsumerActor.cs

@ -99,7 +99,7 @@ namespace Squidex.Infrastructure.CQRS.Events.Actors
return DoAndUpdateStateAsync(async () => return DoAndUpdateStateAsync(async () =>
{ {
await DispatchConsumerAsync(formatter.Parse(storedEvent.Data)); await DispatchConsumerAsync(ParseEvent(storedEvent));
statusError = null; statusError = null;
statusPosition = storedEvent.EventPosition; statusPosition = storedEvent.EventPosition;

Loading…
Cancel
Save