コード例 #1
0
        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();
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
 public void When(ProjectionVersionRequestTimedout e)
 {
     Id = e.Id;
     Versions.Add(e.Version);
     LastVersionRequestTimebox = LastVersionRequestTimebox.Reset();
 }
コード例 #4
0
 public void Handle(ProjectionVersionRequestTimedout @event)
 {
     State.Id = @event.Id;
     State.AllVersions.Add(@event.Version);
 }
コード例 #5
0
        public void VersionRequestTimedout(ProjectionVersion version, VersionRequestTimebox timebox)
        {
            var @event = new ProjectionVersionRequestTimedout(state.Id, version.WithStatus(ProjectionStatus.Timedout), timebox);

            Apply(@event);
        }
コード例 #6
0
 public Task HandleAsync(ProjectionVersionRequestTimedout @event)
 {
     State.Id = @event.Id;
     State.AllVersions.Add(@event.Version);
     return(Task.CompletedTask);
 }