diff --git a/ConsoleApp1/ServiceFactory.cs b/ConsoleApp1/ServiceFactory.cs index a1fb9d91..bf7c9a42 100644 --- a/ConsoleApp1/ServiceFactory.cs +++ b/ConsoleApp1/ServiceFactory.cs @@ -1,9 +1,9 @@ using AsbCloudDb.Model; using AsbCloudInfrastructure.Services; -using AsbCloudInfrastructure.Services.Cache; using AsbCloudInfrastructure.Services.SAUB; using AsbCloudInfrastructure.Services.WellOperationService; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Primitives; using System.Collections.Generic; @@ -41,19 +41,20 @@ namespace ConsoleApp1 internal static class ServiceFactory { - private static DbContextOptions options = new DbContextOptionsBuilder() + private static readonly DbContextOptions options = new DbContextOptionsBuilder() .UseNpgsql("Host=localhost;Database=postgres;Username=postgres;Password=q;Persist Security Info=True") .Options; - static CacheDb CacheDb { get; } = new CacheDb(); static ConfigurationService ConfigurationService { get; } = new ConfigurationService(); static TimezoneService TimezoneService { get; } = new TimezoneService(); public static AsbCloudDbContext Context { get; } = MakeContext(); public static AsbCloudDbContext MakeContext() => MakeContext(options); + public static IMemoryCache memoryCache = new MemoryCache(new MemoryCacheOptions()); + public static AsbCloudDbContext MakeContext(DbContextOptions options) - => new AsbCloudDbContext(options); + => new (options); public static AsbCloudDbContext MakeContext(string cusomConnectionString) => MakeContext(new DbContextOptionsBuilder().UseNpgsql(cusomConnectionString).Options); @@ -62,21 +63,21 @@ namespace ConsoleApp1 => AsbCloudInfrastructure.DependencyInjection.MapsterSetup(); public static TelemetryTracker MakeTelemetryTracker() - => new TelemetryTracker(CacheDb, ConfigurationService); + => new (ConfigurationService, memoryCache); public static TelemetryService MakeTelemetryService() - => new TelemetryService(Context, MakeTelemetryTracker(), TimezoneService); + => new (Context, MakeTelemetryTracker(), TimezoneService); public static WellService MakeWellService() - => new WellService(Context, CacheDb, MakeTelemetryService(), TimezoneService); + => new (Context, memoryCache, MakeTelemetryService(), TimezoneService); public static WellOperationService MakeWellOperationsService() - => new WellOperationService(Context, CacheDb, MakeWellService()); + => new (Context, memoryCache, MakeWellService()); public static OperationsStatService MakeOperationsStatService() - => new OperationsStatService(Context, CacheDb, MakeWellService()); + => new (Context, memoryCache, MakeWellService()); public static ScheduleReportService MakeScheduleReportService() - => new ScheduleReportService(MakeOperationsStatService(), MakeWellService()); + => new(MakeOperationsStatService(), MakeWellService()); } }