From 4f2eb842c3439ac3e1c634cc7d0b9c5b15b1b7c4 Mon Sep 17 00:00:00 2001 From: Grover <135006+cdmdotnet@users.noreply.github.com> Date: Thu, 24 Oct 2024 12:02:07 +1300 Subject: [PATCH] Added missing registration of SnapshotSagaRepository --- .../Modules/CqrsModule.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Framework/DependencyInjection/Cqrs.DependencyInjection/Modules/CqrsModule.cs b/Framework/DependencyInjection/Cqrs.DependencyInjection/Modules/CqrsModule.cs index 9101e2293..ad065684d 100644 --- a/Framework/DependencyInjection/Cqrs.DependencyInjection/Modules/CqrsModule.cs +++ b/Framework/DependencyInjection/Cqrs.DependencyInjection/Modules/CqrsModule.cs @@ -63,6 +63,11 @@ public class CqrsModule : Reso /// protected bool RegisterDefaultSnapshotAggregateRepository { get; private set; } + /// + /// Indicates that the should be registered automatically. + /// + protected bool RegisterDefaultSnapshotSagaRepository { get; private set; } + /// /// Indicates that the should be registered automatically. /// @@ -76,6 +81,7 @@ public class CqrsModule : Reso /// "Cqrs.RegisterDefaultConfigurationManager": If set true the will be registered. If you want to use the Azure one leave this as false (the default) and register it yourself. /// "Cqrs.RegisterDefaultSnapshotStrategy": If set true the will be registered. /// "Cqrs.RegisterDefaultSnapshotAggregateRepository": If set true the will be registered. + /// "Cqrs.RegisterDefaultSnapshotSagaRepository": If set true the will be registered. /// "Cqrs.RegisterDefaultSnapshotBuilder": If set true the will be registered. /// /// The to use, if one isn't provided then is instantiate, used and then disposed. @@ -92,6 +98,10 @@ public CqrsModule(IConfigurationManager configurationManager = null) RegisterDefaultSnapshotAggregateRepository = registerDefaultSnapshotAggregateRepository; else RegisterDefaultSnapshotAggregateRepository = true; + if (configurationManager.TryGetSetting("Cqrs.RegisterDefaultSnapshotSagaRepository", out bool registerDefaultSnapshotSagaRepository)) + RegisterDefaultSnapshotSagaRepository = registerDefaultSnapshotSagaRepository; + else + RegisterDefaultSnapshotSagaRepository = true; if (configurationManager.TryGetSetting("Cqrs.RegisterDefaultSnapshotStrategy", out bool registerDefaultSnapshotStrategy)) RegisterDefaultSnapshotStrategy = registerDefaultSnapshotStrategy; else @@ -109,14 +119,16 @@ public CqrsModule(IConfigurationManager configurationManager = null) /// Set this to true to use otherwise the will be bootstrapped by default. /// Set this to true to use . If you want to use the Azure one leave this as false (the default) and register it yourself. /// If set true the will be registered. + /// If set true the will be registered. /// If set true the will be registered. /// If set true the will be registered. - public CqrsModule(bool setupForWeb, bool setupForSqlLogging, bool registerDefaultConfigurationManager = false, bool registerDefaultSnapshotAggregateRepository = true, bool registerDefaultSnapshotStrategy = true, bool registerDefaultSnapshotBuilder = true) + public CqrsModule(bool setupForWeb, bool setupForSqlLogging, bool registerDefaultConfigurationManager = false, bool registerDefaultSnapshotAggregateRepository = true, bool registerDefaultSnapshotSagaRepository = true, bool registerDefaultSnapshotStrategy = true, bool registerDefaultSnapshotBuilder = true) { SetupForWeb = setupForWeb; SetupForSqlLogging = setupForSqlLogging; RegisterDefaultConfigurationManager = registerDefaultConfigurationManager; RegisterDefaultSnapshotAggregateRepository = registerDefaultSnapshotAggregateRepository; + RegisterDefaultSnapshotSagaRepository = registerDefaultSnapshotSagaRepository; RegisterDefaultSnapshotStrategy = registerDefaultSnapshotStrategy; RegisterDefaultSnapshotBuilder = registerDefaultSnapshotBuilder; } @@ -251,6 +263,9 @@ public virtual void RegisterCqrsRequirements(IServiceCollection services) if (RegisterDefaultSnapshotAggregateRepository) services.AddSingleton, SnapshotRepository>(); + if (RegisterDefaultSnapshotSagaRepository) + services.AddSingleton, SnapshotSagaRepository>(); + services.AddSingleton, SagaRepository>(); services.AddSingleton();