public void VersionRequestTimedout(ProjectionVersion version, VersionRequestTimebox timebox) { var foundVersion = state.Versions.Where(ver => ver == version).SingleOrDefault(); if (ReferenceEquals(null, foundVersion)) { return; // Should we do something about this? It is a not expected and should never happen!!! } if (foundVersion.Status == ProjectionStatus.Building) { var @event = new ProjectionVersionRequestTimedout(state.Id, version.WithStatus(ProjectionStatus.Timedout), timebox); Apply(@event); } EnsureThereIsNoOutdatedBuildingVersions(); }
public void VersionRequestTimedout(ProjectionVersion version, VersionRequestTimebox timebox) { // TODO: check if the timebox really has expired LOL :), Believe me, do it // Ask the SAGA if this is for real?? bool foundVersion = state.Versions.Contains(version); if (foundVersion == false) { return; } if (version.Status == ProjectionStatus.Rebuilding || version.Status == ProjectionStatus.Replaying || version.Status == ProjectionStatus.Building) { var @event = new ProjectionVersionRequestTimedout(state.Id, version.WithStatus(ProjectionStatus.Timedout), timebox); Apply(@event); } }
public void When(ProjectionVersionRequestTimedout e) { Id = e.Id; Versions.Add(e.Version); LastVersionRequestTimebox = LastVersionRequestTimebox.Reset(); }
public void Handle(ProjectionVersionRequestTimedout @event) { State.Id = @event.Id; State.AllVersions.Add(@event.Version); }
public void VersionRequestTimedout(ProjectionVersion version, VersionRequestTimebox timebox) { var @event = new ProjectionVersionRequestTimedout(state.Id, version.WithStatus(ProjectionStatus.Timedout), timebox); Apply(@event); }
public Task HandleAsync(ProjectionVersionRequestTimedout @event) { State.Id = @event.Id; State.AllVersions.Add(@event.Version); return(Task.CompletedTask); }