diff --git a/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj b/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj index 3470c884..52848f17 100644 --- a/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj +++ b/TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj @@ -8,7 +8,7 @@ - + diff --git a/TransactionProcessor.BusinessLogic/EventHandling/MerchantStatementDomainEventHandler.cs b/TransactionProcessor.BusinessLogic/EventHandling/MerchantStatementDomainEventHandler.cs index 44c902a9..8c584494 100644 --- a/TransactionProcessor.BusinessLogic/EventHandling/MerchantStatementDomainEventHandler.cs +++ b/TransactionProcessor.BusinessLogic/EventHandling/MerchantStatementDomainEventHandler.cs @@ -13,6 +13,7 @@ using TransactionProcessor.BusinessLogic.Requests; using TransactionProcessor.BusinessLogic.Services; using TransactionProcessor.DomainEvents; +using Shared.EventStore.Aggregate; namespace TransactionProcessor.BusinessLogic.EventHandling { diff --git a/TransactionProcessor.BusinessLogic/EventHandling/TransactionDomainEventHandler.cs b/TransactionProcessor.BusinessLogic/EventHandling/TransactionDomainEventHandler.cs index 7578970a..9f88ce12 100644 --- a/TransactionProcessor.BusinessLogic/EventHandling/TransactionDomainEventHandler.cs +++ b/TransactionProcessor.BusinessLogic/EventHandling/TransactionDomainEventHandler.cs @@ -3,6 +3,7 @@ using System; using System.Diagnostics; using Prometheus; +using Shared.EventStore.Aggregate; using TransactionProcessor.BusinessLogic.Requests; using TransactionProcessor.DomainEvents; using TransactionProcessor.Models.Contract; diff --git a/TransactionProcessor.BusinessLogic/Services/AggregateService.cs b/TransactionProcessor.BusinessLogic/Services/AggregateService.cs index c56d6400..bd5f749d 100644 --- a/TransactionProcessor.BusinessLogic/Services/AggregateService.cs +++ b/TransactionProcessor.BusinessLogic/Services/AggregateService.cs @@ -17,7 +17,7 @@ using Shared.Logger; using TransactionProcessor.Aggregates; using TransactionProcessor.BusinessLogic.Services; - +/* namespace TransactionProcessor.BusinessLogic.Services { public interface IAggregateRepositoryResolver { IAggregateRepository Resolve() where TAggregate : Aggregate where TEvent : DomainEvent; @@ -358,4 +358,5 @@ public Boolean TryGetValue(String key, { return this.MemoryCache.TryGetValue(key, out aggregate); } -} \ No newline at end of file +} +*/ \ No newline at end of file diff --git a/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj b/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj index f4fbbb6d..4d0c27b7 100644 --- a/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj +++ b/TransactionProcessor.BusinessLogic/TransactionProcessor.BusinessLogic.csproj @@ -5,17 +5,17 @@ - - + + - + - - - + + + diff --git a/TransactionProcessor.Client/TransactionProcessor.Client.csproj b/TransactionProcessor.Client/TransactionProcessor.Client.csproj index cb552d55..cc0ded17 100644 --- a/TransactionProcessor.Client/TransactionProcessor.Client.csproj +++ b/TransactionProcessor.Client/TransactionProcessor.Client.csproj @@ -6,8 +6,8 @@ - - + + diff --git a/TransactionProcessor.Database/TransactionProcessor.Database.csproj b/TransactionProcessor.Database/TransactionProcessor.Database.csproj index 2ff3a149..7506b3a9 100644 --- a/TransactionProcessor.Database/TransactionProcessor.Database.csproj +++ b/TransactionProcessor.Database/TransactionProcessor.Database.csproj @@ -20,9 +20,9 @@ - + - + diff --git a/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj b/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj index 01e4cacc..14c19a38 100644 --- a/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj +++ b/TransactionProcessor.DomainEvents/TransactionProcessor.DomainEvents.csproj @@ -6,6 +6,6 @@ enable - + diff --git a/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj b/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj index d667919d..bd55f83e 100644 --- a/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj +++ b/TransactionProcessor.IntegrationTesting.Helpers/TransactionProcessor.IntegrationTesting.Helpers.csproj @@ -7,10 +7,10 @@ - + - + diff --git a/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj b/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj index a8ff1b62..c5c36410 100644 --- a/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj +++ b/TransactionProcessor.IntegrationTests/TransactionProcessor.IntegrationTests.csproj @@ -7,7 +7,7 @@ - + @@ -15,9 +15,9 @@ - - - + + + @@ -28,7 +28,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj b/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj index 8c951d09..09a43a71 100644 --- a/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj +++ b/TransactionProcessor.ProjectionEngine/TransactionProcessor.ProjectionEngine.csproj @@ -7,13 +7,13 @@ - - + + - - + + diff --git a/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj b/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj index e895454a..75e6e1e8 100644 --- a/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj +++ b/TransactionProcessor.Repository/TransactionProcessor.Repository.csproj @@ -8,15 +8,15 @@ - - + + - - + + diff --git a/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj b/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj index b76a945f..f6b44102 100644 --- a/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj +++ b/TransactionProcessor.Testing/TransactionProcessor.Testing.csproj @@ -6,10 +6,10 @@ - + - + diff --git a/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj b/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj index 7b453c05..7924a85a 100644 --- a/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj +++ b/TransactionProcessor.Tests/TransactionProcessor.Tests.csproj @@ -7,7 +7,7 @@ - + diff --git a/TransactionProcessor/Extensions.cs b/TransactionProcessor/Extensions.cs index c9902005..d4feb037 100644 --- a/TransactionProcessor/Extensions.cs +++ b/TransactionProcessor/Extensions.cs @@ -1,16 +1,11 @@ using SimpleResults; +using TransactionProcessor.Aggregates; namespace TransactionProcessor { - using System; - using System.Collections.Generic; - using System.Diagnostics; - using System.Diagnostics.CodeAnalysis; - using System.Linq; - using System.Threading; - using System.Threading.Tasks; using EventStore.Client; using Microsoft.AspNetCore.Builder; + using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; @@ -20,6 +15,13 @@ namespace TransactionProcessor using Shared.EventStore.SubscriptionWorker; using Shared.General; using Shared.Logger; + using System; + using System.Collections.Generic; + using System.Diagnostics; + using System.Diagnostics.CodeAnalysis; + using System.Linq; + using System.Threading; + using System.Threading.Tasks; using TransactionProcessor.BusinessLogic.OperatorInterfaces; [ExcludeFromCodeCoverage] @@ -76,6 +78,13 @@ public static void PreWarm(this IApplicationBuilder applicationBuilder) { EventStoreClientSettings eventStoreClientSettings = EventStoreClientSettings.Create(connectionString); applicationBuilder.ConfigureSubscriptionService(subscriptionWorkersRoot, eventStoreConnectionString, eventHandlerResolvers, Extensions.log, subscriptionRepositoryResolver).Wait(CancellationToken.None); + + // Setup the aggregate service caching + IAggregateService aggregateService = Startup.ServiceProvider.GetService(); + aggregateService.AddCachedAggregate(typeof(EstateAggregate),null); + aggregateService.AddCachedAggregate(typeof(ContractAggregate), null); + aggregateService.AddCachedAggregate(typeof(OperatorAggregate), null); + } } diff --git a/TransactionProcessor/TransactionProcessor.csproj b/TransactionProcessor/TransactionProcessor.csproj index cd2042e5..3388fb40 100644 --- a/TransactionProcessor/TransactionProcessor.csproj +++ b/TransactionProcessor/TransactionProcessor.csproj @@ -10,7 +10,7 @@ - + @@ -35,10 +35,10 @@ - - + + - +