public Task HandleAsync(IDomainEvent <ResourceCreationSaga, ResourceCreationSagaId, ResourceCreationStartedEvent> domainEvent) { var operation = new OperationsProjection(domainEvent.AggregateEvent.ResourceId.GetGuid(), 0, 0, domainEvent.AggregateEvent.StartedAt); _operations.Add(operation); return(Task.CompletedTask); }
public Task HandleAsync(IDomainEvent <ResourceCreationSaga, ResourceCreationSagaId, ResourceCreationEndedEvent> domainEvent) { var oldOperation = _operations.Single(x => x.Id == domainEvent.AggregateEvent.ResourceId.GetGuid()); var operation = new OperationsProjection(domainEvent.AggregateEvent.ResourceId.GetGuid(), domainEvent.AggregateEvent.Progress, domainEvent.AggregateEvent.Elapsed, oldOperation.StartedAt); _operations.RemoveAll(x => x.Id == domainEvent.AggregateEvent.ResourceId.GetGuid()); _operations.Add(operation); return(Task.CompletedTask); }