/// <summary> /// Add a projection that will be executed inline /// </summary> /// <param name="projection"></param> /// <param name="lifecycle">Optionally override the lifecycle of this projection. The default is Inline</param> public void Add(EventProjection projection, ProjectionLifecycle?lifecycle = null) { if (lifecycle.HasValue) { projection.Lifecycle = lifecycle.Value; } projection.AssertValidity(); All.Add(projection); }
/// <summary> /// Add a projection that will be executed inline /// </summary> /// <param name="projection"></param> /// <param name="lifecycle">Optionally override the lifecycle of this projection. The default is Inline</param> public void Add(EventProjection projection, ProjectionLifecycle?lifecycle = null) { if (lifecycle.HasValue) { projection.Lifecycle = lifecycle.Value; } foreach (var publishedType in projection.As <IProjectionSource>().PublishedTypes()) { _options.Storage.RegisterDocumentType(publishedType); } projection.AssertValidity(); All.Add(projection); }