Refactored the Dependency Injection to use a whitelist of modules in the appsettings.json

This commit is contained in:
Colin Dawson 2026-01-22 17:19:21 +00:00
parent e0510eeef5
commit 6eb614c523
149 changed files with 7313 additions and 1630 deletions

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@ using eSuite.Core.Miscellaneous;
using eSuite.Core.Sequences; using eSuite.Core.Sequences;
using NUnit.Framework; using NUnit.Framework;
namespace SequenceManager.UnitTests; namespace e_suite.API.Common.UnitTests;
[TestFixture] [TestFixture]
public class ValidateUnitTests public class ValidateUnitTests

View File

@ -1,5 +1,5 @@
#pragma warning disable IDE0130 // Namespace does not match folder structure #pragma warning disable IDE0130 // Namespace does not match folder structure
namespace System; namespace e_suite.API.Common.extensions;
#pragma warning restore IDE0130 // Namespace does not match folder structure #pragma warning restore IDE0130 // Namespace does not match folder structure
public static class ObjectExtensions public static class ObjectExtensions
@ -7,7 +7,7 @@ public static class ObjectExtensions
public static T DeepClone<T>(this T obj) public static T DeepClone<T>(this T obj)
{ {
using var stream = new MemoryStream(); using var stream = new MemoryStream();
var serializer = new Xml.Serialization.XmlSerializer(typeof(T)); var serializer = new System.Xml.Serialization.XmlSerializer(typeof(T));
serializer.Serialize(stream, obj); serializer.Serialize(stream, obj);
stream.Position = 0; stream.Position = 0;

View File

@ -1,4 +1,5 @@
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using e_suite.API.Common.extensions;
using e_suite.Database.Core.Extensions; using e_suite.Database.Core.Extensions;
using eSuite.Core.Miscellaneous; using eSuite.Core.Miscellaneous;

View File

@ -2,13 +2,13 @@
public class PerformanceReportSummary public class PerformanceReportSummary
{ {
public long MaxTotalTimeMS; public long MaxTotalTimeMs;
public string Host { get; set; } public string Host { get; set; } = string.Empty;
public string ControllerName { get; set; } public string ControllerName { get; set; } = string.Empty;
public string ActionName { get; set; } public string ActionName { get; set; } = string.Empty;
public string RequestType { get; set; } public string RequestType { get; set; } = string.Empty;
public object MinTotalTimeMs { get; set; } public long MinTotalTimeMs { get; set; }
public object AvgTotalTimeMs { get; set; } public double AvgTotalTimeMs { get; set; }
public object SumTotalTimeMs { get; set; } public long SumTotalTimeMs { get; set; }
public object Count { get; set; } public long Count { get; set; }
} }

View File

@ -5,5 +5,10 @@
"Microsoft.AspNetCore": "Warning" "Microsoft.AspNetCore": "Warning"
} }
}, },
"AllowedHosts": "*" "AllowedHosts": "*",
"Modules": [
"e-suite.API.Common.dll",
"e-suite.Database.Audit.dll",
"e-suite.Database.SqlServer.dll"
]
} }

View File

@ -133,7 +133,7 @@ public class InternalMessagingController : ESuiteControllerBase
[Route("PostSyncEFlowPrinterCategories")] [Route("PostSyncEFlowPrinterCategories")]
[HttpPost] [HttpPost]
[ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status200OK)]
[AccessKey(SecurityAccess.SyncEFlowPrinterCategories)] //todo change this. [AccessKey(SecurityAccess.SyncEFlowPrinterCategories)]
#pragma warning disable IDE0060 // Remove unused parameter #pragma warning disable IDE0060 // Remove unused parameter
public Task SyncEFlowPrinterCategories(CancellationToken cancellationToken) public Task SyncEFlowPrinterCategories(CancellationToken cancellationToken)
#pragma warning restore IDE0060 // Remove unused parameter #pragma warning restore IDE0060 // Remove unused parameter

View File

@ -1,4 +1,5 @@
using Autofac; using Autofac;
using e_suite.DependencyInjection;
using eSuite.API.SingleSignOn; using eSuite.API.SingleSignOn;
using eSuite.Core.Clock; using eSuite.Core.Clock;
@ -7,7 +8,7 @@ namespace eSuite.API.DependencyInjection;
/// <summary> /// <summary>
/// Used as the primary location for IOC type registration for e-suite. /// Used as the primary location for IOC type registration for e-suite.
/// </summary> /// </summary>
internal class CoreRegistrationModule : Module internal class CoreRegistrationModule : ESuiteModule
{ {
/// <summary> /// <summary>
/// Use the builder to register all the types and interfaces that the API requires to operate properly. /// Use the builder to register all the types and interfaces that the API requires to operate properly.
@ -15,31 +16,33 @@ internal class CoreRegistrationModule : Module
/// <param name="builder"></param> /// <param name="builder"></param>
protected override void Load(ContainerBuilder builder) protected override void Load(ContainerBuilder builder)
{ {
builder.RegisterType<UtcClock>().As<IClock>().SingleInstance(); base.Load(builder);
//builder.RegisterType<UtcClock>().As<IClock>().SingleInstance();
builder.RegisterType<SingleSignOn.SingleSignOn>().As<ISingleSignOn>(); builder.RegisterType<SingleSignOn.SingleSignOn>().As<ISingleSignOn>();
builder.RegisterType<CookieManager>().As<ICookieManager>(); builder.RegisterType<CookieManager>().As<ICookieManager>();
builder.RegisterType<HttpClientFacade>().As<IHttpClientFacade>(); builder.RegisterType<HttpClientFacade>().As<IHttpClientFacade>();
e_suite.Service.Mail.IocRegistration.RegisterTypes(builder); //e_suite.Service.Mail.IocRegistration.RegisterTypes(builder);
e_suite.Service.Sentinel.IocRegistration.RegisterTypes(builder); //e_suite.Service.Sentinel.IocRegistration.RegisterTypes(builder);
e_suite.Modules.CustomFieldsManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.CustomFieldsManager.IocRegistration.RegisterTypes(builder);
e_suite.Service.CustomFieldValidation.IocRegistration.RegisterTypes(builder); //e_suite.Service.CustomFieldValidation.IocRegistration.RegisterTypes(builder);
e_suite.Modules.FormsManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.FormsManager.IocRegistration.RegisterTypes(builder);
e_suite.Modules.GlossariesManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.GlossariesManager.IocRegistration.RegisterTypes(builder);
e_suite.Modules.OrganisationsManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.OrganisationsManager.IocRegistration.RegisterTypes(builder);
e_suite.Modules.SequenceManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.SequenceManager.IocRegistration.RegisterTypes(builder);
e_suite.Modules.UserManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.UserManager.IocRegistration.RegisterTypes(builder);
e_suite.Modules.AuditLog.IocRegistration.RegisterTypes(builder); //e_suite.Modules.AuditLog.IocRegistration.RegisterTypes(builder);
e_suite.Modules.DomainManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.DomainManager.IocRegistration.RegisterTypes(builder);
e_suite.Modules.MailTemplatesManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.MailTemplatesManager.IocRegistration.RegisterTypes(builder);
e_suite.Modules.RoleManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.RoleManager.IocRegistration.RegisterTypes(builder);
e_suite.Modules.SiteManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.SiteManager.IocRegistration.RegisterTypes(builder);
e_suite.Modules.SpecificationManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.SpecificationManager.IocRegistration.RegisterTypes(builder);
e_suite.Modules.BlockedIPsManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.BlockedIPsManager.IocRegistration.RegisterTypes(builder);
e_suite.Modules.ExceptionLogManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.ExceptionLogManager.IocRegistration.RegisterTypes(builder);
e_suite.Modules.SSOManager.IocRegistration.RegisterTypes(builder); //e_suite.Modules.SSOManager.IocRegistration.RegisterTypes(builder);
e_suite.Messaging.Common.DependencyInjection.CoreRegistrationModule.Load(builder); //e_suite.Messaging.Common.DependencyInjection.CoreRegistrationModule.Load(builder);
} }
} }

View File

@ -16,5 +16,29 @@
} }
} }
}, },
"AllowedHosts": "*" "AllowedHosts": "*",
"Modules": [
"e-suite.API.Common.dll",
"e-suite.Database.Audit.dll",
"e-suite.Database.SqlServer.dll",
"e-suite.Modules.BlockedIPsManager.dll",
"e-suite.Messaging.Common.dll",
"e-suite.Modules.AuditLog.dll",
"e-suite.Modules.CustomFieldsManager.dll",
"e-suite.Modules.DomainManager.dll",
"e-suite.Modules.ExceptionLogManager.dll",
"e-suite.Modules.FormsManager.dll",
"e-suite.Modules.GlossariesManager.dll",
"e-suite.Modules.MailTemplatesManager.dll",
"e-suite.Modules.OrganisationsManager.dll",
"e-suite.Modules.RoleManager.dll",
"e-suite.Modules.SequenceManager.dll",
"e-suite.Modules.SiteManager.dll",
"e-suite.Modules.SpecificationManager.dll",
"e-suite.Modules.SSOManager.dll",
"e-suite.Modules.UserManager.dll",
"e-suite.Service.CustomFieldValidation.dll",
"e-suite.Service.Mail.dll",
"e-suite.Service.Sentinel.dll",
]
} }

View File

@ -43,6 +43,7 @@
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.Database.Audit\e-suite.Database.Audit\e-suite.Database.Audit.csproj" /> <ProjectReference Include="..\..\e-suite.Database.Audit\e-suite.Database.Audit\e-suite.Database.Audit.csproj" />
<ProjectReference Include="..\..\e-suite.Database.SqlServer\e-suite.Database.SqlServer\e-suite.Database.SqlServer.csproj" /> <ProjectReference Include="..\..\e-suite.Database.SqlServer\e-suite.Database.SqlServer\e-suite.Database.SqlServer.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
<ProjectReference Include="..\..\e-suite.Manager.BlockedIPs\e-suite.Modules.BlockedIPsManager\e-suite.Modules.BlockedIPsManager.csproj" /> <ProjectReference Include="..\..\e-suite.Manager.BlockedIPs\e-suite.Modules.BlockedIPsManager\e-suite.Modules.BlockedIPsManager.csproj" />
<ProjectReference Include="..\..\e-suite.Messaging.Common\e-suite.Messaging.Common\e-suite.Messaging.Common.csproj" /> <ProjectReference Include="..\..\e-suite.Messaging.Common\e-suite.Messaging.Common\e-suite.Messaging.Common.csproj" />
<ProjectReference Include="..\..\e-suite.Modules.AuditLog\e-suite.Modules.AuditLog\e-suite.Modules.AuditLog.csproj" /> <ProjectReference Include="..\..\e-suite.Modules.AuditLog\e-suite.Modules.AuditLog\e-suite.Modules.AuditLog.csproj" />

View File

@ -5,6 +5,7 @@ using System.Text.Json;
using e_suite.Database.Audit.Attributes; using e_suite.Database.Audit.Attributes;
using e_suite.Database.Core.Models; using e_suite.Database.Core.Models;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.ChangeTracking;
namespace e_suite.Database.Core.Tables.Workflow; namespace e_suite.Database.Core.Tables.Workflow;
@ -35,7 +36,7 @@ public class WorkflowVersion : IGeneralId, ISoftDeletable
[Required] [Required]
public string Description { get; set; } = string.Empty; public string Description { get; set; } = string.Empty;
public List<TaskDefinition> Tasks { get; set; } = new(); public List<TaskDefinition> Tasks { get; set; } = [];
[AuditSoftDelete(true)] [AuditSoftDelete(true)]
[Required] [Required]
@ -62,11 +63,18 @@ public class WorkflowVersion : IGeneralId, ISoftDeletable
public static void OnModelCreating(ModelBuilder modelBuilder) public static void OnModelCreating(ModelBuilder modelBuilder)
{ {
var comparer = new ValueComparer<List<TaskDefinition>>(
(a, b) => a != null && b != null && a.SequenceEqual(b),
v => v.Aggregate(0, (hash, item) => HashCode.Combine(hash, item.GetHashCode())),
v => v.Select(item => item).ToList()
);
modelBuilder.Entity<WorkflowVersion>() modelBuilder.Entity<WorkflowVersion>()
.Property(w => w.Tasks) .Property(w => w.Tasks)
.HasConversion( .HasConversion(
v => JsonSerializer.Serialize(v, JsonOptions), v => JsonSerializer.Serialize(v, JsonOptions),
v => JsonSerializer.Deserialize<List<TaskDefinition>>(v, JsonOptions) v => JsonSerializer.Deserialize<List<TaskDefinition>>(v, JsonOptions) ?? new List<TaskDefinition>()
); )
.Metadata.SetValueComparer(comparer);
} }
} }

View File

@ -1,14 +1,14 @@
using Autofac; using Autofac;
using e_suite.Database.Core; using e_suite.Database.Core;
using e_suite.Database.SqlServer; using e_suite.Database.SqlServer;
using eSuite.Core.Clock; using e_suite.DependencyInjection;
namespace eSuite.API.DependencyInjection; namespace e_suite.Database.MigrationBuilder.DependencyInjection;
/// <summary> /// <summary>
/// Used as a the primary location for IOC type registration for e-suite. /// Used as a the primary location for IOC type registration for e-suite.
/// </summary> /// </summary>
internal class CoreRegistrationModule : Module internal class CoreRegistrationModule : ESuiteModule
{ {
/// <summary> /// <summary>
/// Use the builder to register all the types and interfaces that the API requires to operate properly. /// Use the builder to register all the types and interfaces that the API requires to operate properly.
@ -16,7 +16,9 @@ internal class CoreRegistrationModule : Module
/// <param name="builder"></param> /// <param name="builder"></param>
protected override void Load(ContainerBuilder builder) protected override void Load(ContainerBuilder builder)
{ {
base.Load(builder);
builder.RegisterType<SqlEsuiteDatabaseDbContext>().As<IEsuiteDatabaseDbContext>().InstancePerLifetimeScope(); builder.RegisterType<SqlEsuiteDatabaseDbContext>().As<IEsuiteDatabaseDbContext>().InstancePerLifetimeScope();
builder.RegisterType<UtcClock>().As<IClock>().SingleInstance(); //builder.RegisterType<UtcClock>().As<IClock>().SingleInstance();
} }
} }

View File

@ -1,7 +1,7 @@
using Autofac; using Autofac;
using Autofac.Extensions.DependencyInjection; using Autofac.Extensions.DependencyInjection;
using e_suite.Database.MigrationBuilder.DependencyInjection;
using e_suite.Database.SqlServer; using e_suite.Database.SqlServer;
using eSuite.API.DependencyInjection;
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);

View File

@ -18,6 +18,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.Database.Core\e-suite.Database.Core\e-suite.Database.Core.csproj" /> <ProjectReference Include="..\..\e-suite.Database.Core\e-suite.Database.Core\e-suite.Database.Core.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
<ProjectReference Include="..\e-suite.Database.SqlServer\e-suite.Database.SqlServer.csproj" /> <ProjectReference Include="..\e-suite.Database.SqlServer\e-suite.Database.SqlServer.csproj" />
</ItemGroup> </ItemGroup>

View File

@ -0,0 +1,8 @@
using Autofac;
namespace e_suite.DependencyInjection;
public interface IIocRegistration
{
void RegisterTypes(ContainerBuilder builder);
}

View File

@ -0,0 +1,59 @@
using Autofac;
using eSuite.Core.Clock;
using Microsoft.Extensions.Configuration;
using System.Reflection;
namespace e_suite.DependencyInjection;
public sealed class ModuleConfig
{
public List<string> Modules { get; set; } = new();
}
public class ESuiteModule : Autofac.Module
{
protected override void Load(ContainerBuilder builder)
{
base.Load(builder);
builder.RegisterType<UtcClock>().As<IClock>().SingleInstance();
RegisterAllModuleIocRegistrations(builder);
}
protected static void RegisterAllModuleIocRegistrations(ContainerBuilder builder)
{
var configuration = new ConfigurationBuilder()
.SetBasePath(AppContext.BaseDirectory)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: false)
.Build();
var moduleConfig = configuration.Get<ModuleConfig>();
var basePath = AppContext.BaseDirectory;
var assemblies = new List<Assembly>();
foreach (var module in moduleConfig.Modules)
{
var fullPath = Path.Combine(basePath, module);
if (!File.Exists(fullPath))
throw new FileNotFoundException($"Configured module not found: {fullPath}");
assemblies.Add(Assembly.LoadFrom(fullPath));
}
var registrationTypes = assemblies
.SelectMany(a => a.GetTypes())
.Where(t => typeof(IIocRegistration).IsAssignableFrom(t)
&& !t.IsAbstract
&& !t.IsInterface).ToList();
foreach (var type in registrationTypes)
{
var instance = (IIocRegistration)Activator.CreateInstance(type)!;
instance.RegisterTypes(builder);
}
}
}

View File

@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<RootNamespace>e_suite.DependencyInjection</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Autofac" Version="9.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\e-suite.Core\eSuite.Core\eSuite.Core.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
</ItemGroup>
</Project>

View File

@ -1,15 +1,17 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Modules.BlockedIPsManager.Repository; using e_suite.Modules.BlockedIPsManager.Repository;
namespace e_suite.Modules.BlockedIPsManager; namespace e_suite.Modules.BlockedIPsManager;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<BlockedIPsManagerRepository>().As<IBlockedIPsManagerRepository>().InstancePerLifetimeScope(); builder.RegisterType<BlockedIPsManagerRepository>().As<IBlockedIPsManagerRepository>()
.InstancePerLifetimeScope();
builder.RegisterType<BlockedIPsManager>().As<IBlockedIPsManager>().InstancePerLifetimeScope(); builder.RegisterType<BlockedIPsManager>().As<IBlockedIPsManager>().InstancePerLifetimeScope();
} }

View File

@ -14,6 +14,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,6 +1,7 @@
using Autofac; using Autofac;
using e_suite.Database.Core; using e_suite.Database.Core;
using e_suite.Database.SqlServer; using e_suite.Database.SqlServer;
using e_suite.DependencyInjection;
using e_suite.MessageProcessor.Handlers; using e_suite.MessageProcessor.Handlers;
using e_suite.MessageProcessor.QueueProcessor; using e_suite.MessageProcessor.QueueProcessor;
using eSuite.Core.Clock; using eSuite.Core.Clock;
@ -12,7 +13,7 @@ namespace e_suite.MessageProcessor.DependencyInjection;
/// <summary> /// <summary>
/// Used as the primary location for IOC type registration for e-suite. /// Used as the primary location for IOC type registration for e-suite.
/// </summary> /// </summary>
public class CoreRegistrationModule : Module public class CoreRegistrationModule : ESuiteModule
{ {
/// <summary> /// <summary>
/// Use the builder to register all the types and interfaces that the API requires to operate properly. /// Use the builder to register all the types and interfaces that the API requires to operate properly.
@ -20,45 +21,52 @@ public class CoreRegistrationModule : Module
/// <param name="builder"></param> /// <param name="builder"></param>
protected override void Load(ContainerBuilder builder) protected override void Load(ContainerBuilder builder)
{ {
base.Load(builder);
var loggerFactory = LoggerFactory.Create(loggingBuilder => loggingBuilder.AddConsole()); var loggerFactory = LoggerFactory.Create(loggingBuilder => loggingBuilder.AddConsole());
builder.Register(x => loggerFactory.CreateLogger("e-Suite.MessageProcessor")).As<ILogger>().SingleInstance(); builder.Register(x => loggerFactory.CreateLogger("e-Suite.MessageProcessor")).As<ILogger>().SingleInstance();
IClock clock = new UtcClock(); //IClock clock = new UtcClock();
builder.RegisterInstance(clock).As<IClock>().SingleInstance(); //builder.RegisterInstance(clock).As<IClock>().SingleInstance();
builder.RegisterInstance(ESuiteDatabaseExtension.BuildConfiguration()).As<IConfiguration>().SingleInstance(); builder.RegisterInstance(ESuiteDatabaseExtension.BuildConfiguration()).As<IConfiguration>().SingleInstance();
//builder.RegisterInstance(ESuiteDatabaseExtension.CreateDatabase(clock).GetAwaiter().GetResult()).As<IEsuiteDatabaseDbContext>();
builder.Register(c => builder.Register(c =>
{ {
return ESuiteDatabaseExtension.CreateDatabase(clock).GetAwaiter().GetResult(); var clock = c.Resolve<IClock>();
return ESuiteDatabaseExtension.CreateDatabase(clock)
.GetAwaiter()
.GetResult();
}) })
.As<IEsuiteDatabaseDbContext>() .As<IEsuiteDatabaseDbContext>()
.InstancePerLifetimeScope(); .InstancePerLifetimeScope();
//builder.Register(c => ESuiteDatabaseExtension.CreateDatabase(clock).GetAwaiter().GetResult())
// .As<IEsuiteDatabaseDbContext>()
// .InstancePerLifetimeScope();
builder.RegisterType<QueueProcessorService>().InstancePerLifetimeScope(); builder.RegisterType<QueueProcessorService>().InstancePerLifetimeScope();
builder.RegisterType<DatabaseQueueHandler>().InstancePerLifetimeScope(); builder.RegisterType<DatabaseQueueHandler>().InstancePerLifetimeScope();
builder.RegisterType<SigmaImportQueueHandler>().InstancePerLifetimeScope(); builder.RegisterType<SigmaImportQueueHandler>().InstancePerLifetimeScope();
builder.RegisterType<EFlowImportQueueHandler>().InstancePerLifetimeScope(); builder.RegisterType<EFlowImportQueueHandler>().InstancePerLifetimeScope();
Service.Sentinel.IocRegistration.RegisterTypes(builder); //Service.Sentinel.IocRegistration.RegisterTypes(builder);
Service.Performance.IocRegistration.RegisterTypes(builder); //Service.Performance.IocRegistration.RegisterTypes(builder);
Modules.UserManager.IocRegistration.RegisterTypes(builder); //Modules.UserManager.IocRegistration.RegisterTypes(builder);
Messaging.Common.DependencyInjection.CoreRegistrationModule.Load(builder); //Messaging.Common.DependencyInjection.CoreRegistrationModule.Load(builder);
Modules.ExceptionLogManager.IocRegistration.RegisterTypes(builder); //Modules.ExceptionLogManager.IocRegistration.RegisterTypes(builder);
Service.SigmaImporter.IocRegistration.RegisterTypes(builder); //Service.SigmaImporter.IocRegistration.RegisterTypes(builder);
Modules.GlossariesManager.IocRegistration.RegisterTypes(builder); //Modules.GlossariesManager.IocRegistration.RegisterTypes(builder);
Modules.DomainManager.IocRegistration.RegisterTypes(builder); //Modules.DomainManager.IocRegistration.RegisterTypes(builder);
Modules.CustomFieldsManager.IocRegistration.RegisterTypes(builder); //Modules.CustomFieldsManager.IocRegistration.RegisterTypes(builder);
Service.CustomFieldValidation.IocRegistration.RegisterTypes(builder); //Service.CustomFieldValidation.IocRegistration.RegisterTypes(builder);
Modules.SequenceManager.IocRegistration.RegisterTypes(builder); //Modules.SequenceManager.IocRegistration.RegisterTypes(builder);
Modules.FormsManager.IocRegistration.RegisterTypes(builder); //Modules.FormsManager.IocRegistration.RegisterTypes(builder);
Modules.SiteManager.IocRegistration.RegisterTypes(builder); //Modules.SiteManager.IocRegistration.RegisterTypes(builder);
Modules.SpecificationManager.IocRegistration.RegisterTypes(builder); //Modules.SpecificationManager.IocRegistration.RegisterTypes(builder);
Modules.OrganisationsManager.IocRegistration.RegisterTypes(builder); //Modules.OrganisationsManager.IocRegistration.RegisterTypes(builder);
Modules.DomainManager.IocRegistration.RegisterTypes(builder); //Modules.DomainManager.IocRegistration.RegisterTypes(builder);
Modules.SSOManager.IocRegistration.RegisterTypes(builder); //Modules.SSOManager.IocRegistration.RegisterTypes(builder);
Service.EFlowSync.IocRegistration.RegisterTypes(builder); //Service.EFlowSync.IocRegistration.RegisterTypes(builder);
} }
} }

View File

@ -28,5 +28,27 @@
}, },
"EflowAPI": { "EflowAPI": {
"Server": "https://sunrise-test-api-we.azurewebsites.net/" "Server": "https://sunrise-test-api-we.azurewebsites.net/"
} },
"Modules": [
"e-suite.API.Common.dll",
"e-suite.Database.Audit.dll",
"e-suite.Database.SqlServer.dll",
"e-suite.Messaging.Common.dll",
"e-suite.Modules.CustomFieldsManager.dll",
"e-suite.Modules.DomainManager.dll",
"e-suite.Modules.ExceptionLogManager.dll",
"e-suite.Modules.FormsManager.dll",
"e-suite.Modules.GlossariesManager.dll",
"e-suite.Modules.OrganisationsManager.dll",
"e-suite.Modules.SequenceManager.dll",
"e-suite.Modules.SiteManager.dll",
"e-suite.Modules.SpecificationManager.dll",
"e-suite.Modules.SSOManager.dll",
"e-suite.Modules.UserManager.dll",
"e-suite.Service.CustomFieldValidation.dll",
"e-suite.Service.EFlowSync.dll",
"e-suite.Service.Performance.dll",
"e-suite.Service.Sentinel.dll",
"e-suite.Service.SigmaImporter.dll"
]
} }

View File

@ -36,6 +36,7 @@
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.Database.Audit\e-suite.Database.Audit\e-suite.Database.Audit.csproj" /> <ProjectReference Include="..\..\e-suite.Database.Audit\e-suite.Database.Audit\e-suite.Database.Audit.csproj" />
<ProjectReference Include="..\..\e-suite.Database.SqlServer\e-suite.Database.SqlServer\e-suite.Database.SqlServer.csproj" /> <ProjectReference Include="..\..\e-suite.Database.SqlServer\e-suite.Database.SqlServer\e-suite.Database.SqlServer.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
<ProjectReference Include="..\..\e-suite.Messaging.Common\e-suite.Messaging.Common\e-suite.Messaging.Common.csproj" /> <ProjectReference Include="..\..\e-suite.Messaging.Common\e-suite.Messaging.Common\e-suite.Messaging.Common.csproj" />
<ProjectReference Include="..\..\e-suite.Modules.CustomFieldsManager\e-suite.Modules.CustomFieldsManager\e-suite.Modules.CustomFieldsManager.csproj" /> <ProjectReference Include="..\..\e-suite.Modules.CustomFieldsManager\e-suite.Modules.CustomFieldsManager\e-suite.Modules.CustomFieldsManager.csproj" />
<ProjectReference Include="..\..\e-suite.Modules.DomainManager\e-suite.Modules.DomainManager\e-suite.Modules.DomainManager.csproj" /> <ProjectReference Include="..\..\e-suite.Modules.DomainManager\e-suite.Modules.DomainManager\e-suite.Modules.DomainManager.csproj" />

View File

@ -1,18 +1,11 @@
using Autofac; using Autofac;
using e_suite.DependencyInjection;
using RabbitMQ.Client; using RabbitMQ.Client;
namespace e_suite.Messaging.Common.DependencyInjection; namespace e_suite.Messaging.Common;
public class IocRegistration : IIocRegistration
/// <summary>
/// Used as a the primary location for IOC type registration for e-suite.
/// </summary>
public static class CoreRegistrationModule
{ {
/// <summary> public void RegisterTypes(ContainerBuilder builder)
/// Use the builder to register all the types and interfaces that the API requires to operate properly.
/// </summary>
/// <param name="builder"></param>
public static void Load(ContainerBuilder builder)
{ {
builder.RegisterType<ConnectionFactory>(); builder.RegisterType<ConnectionFactory>();
builder.RegisterType<DatabaseMessageSender>().As<IDatabaseMessageSender>(); builder.RegisterType<DatabaseMessageSender>().As<IDatabaseMessageSender>();

View File

@ -15,6 +15,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,13 +1,14 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Modules.AuditLog.repository; using e_suite.Modules.AuditLog.repository;
namespace e_suite.Modules.AuditLog; namespace e_suite.Modules.AuditLog;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<AuditLogRepository>().As<IAuditLogRepository>().InstancePerLifetimeScope(); builder.RegisterType<AuditLogRepository>().As<IAuditLogRepository>().InstancePerLifetimeScope();
builder.RegisterType<AuditLog>().As<IAuditLog>().InstancePerLifetimeScope(); builder.RegisterType<AuditLog>().As<IAuditLog>().InstancePerLifetimeScope();

View File

@ -13,6 +13,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,13 +1,14 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Modules.CustomFieldsManager.Repository; using e_suite.Modules.CustomFieldsManager.Repository;
namespace e_suite.Modules.CustomFieldsManager; namespace e_suite.Modules.CustomFieldsManager;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<CustomFieldManager>().As<ICustomFieldManager>().InstancePerLifetimeScope(); builder.RegisterType<CustomFieldManager>().As<ICustomFieldManager>().InstancePerLifetimeScope();
builder.RegisterType<CustomFieldHelper>().As<ICustomFieldHelper>().InstancePerLifetimeScope(); builder.RegisterType<CustomFieldHelper>().As<ICustomFieldHelper>().InstancePerLifetimeScope();

View File

@ -13,6 +13,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -985,7 +985,7 @@ public class EditCustomFieldUnitTests : CustomFieldsTestBase
} }
[Test] [Test]
public void EditCustomField_EditFieldWithReferenceNullSecondWay_ThrowsException()//TOdo Fix name(im dry out of ideas) public void EditCustomField_EditFieldWithReferenceNullSecondWay_ThrowsException()
{ {
//Arrange //Arrange
var customFieldId = new Guid("3fe78133-cf5f-47fb-b14e-1ba3d19a9867"); var customFieldId = new Guid("3fe78133-cf5f-47fb-b14e-1ba3d19a9867");

View File

@ -1,13 +1,14 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Modules.ExceptionLogManager.Repository; using e_suite.Modules.ExceptionLogManager.Repository;
namespace e_suite.Modules.ExceptionLogManager; namespace e_suite.Modules.ExceptionLogManager;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<ExceptionLogger>().As<IExceptionLogManager>().InstancePerLifetimeScope(); builder.RegisterType<ExceptionLogger>().As<IExceptionLogManager>().InstancePerLifetimeScope();
builder.RegisterType<ExceptionLogRepository>().As<IExceptionLogRepository>().InstancePerLifetimeScope(); builder.RegisterType<ExceptionLogRepository>().As<IExceptionLogRepository>().InstancePerLifetimeScope();

View File

@ -13,6 +13,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,13 +1,14 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Modules.GlossariesManager.Repository; using e_suite.Modules.GlossariesManager.Repository;
namespace e_suite.Modules.GlossariesManager; namespace e_suite.Modules.GlossariesManager;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<GlossariesManagerRepository>().As<IGlossariesManagerRepository>().InstancePerLifetimeScope(); builder.RegisterType<GlossariesManagerRepository>().As<IGlossariesManagerRepository>().InstancePerLifetimeScope();
builder.RegisterType<GlossariesManager>().As<IGlossariesManager>().InstancePerLifetimeScope(); builder.RegisterType<GlossariesManager>().As<IGlossariesManager>().InstancePerLifetimeScope();

View File

@ -14,6 +14,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,15 +1,16 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.Modules.DiagnosticManager.repository; using e_suite.DependencyInjection;
using e_suite.Modules.PerformanceManager.repository;
namespace e_suite.Modules.PerformanceManager;
namespace e_suite.Modules.PerformanceManager;
public static class IocRegistration
{ public class IocRegistration : IIocRegistration
public static void RegisterTypes(ContainerBuilder builder) {
{ public void RegisterTypes(ContainerBuilder builder)
builder.RegisterType<PerformanceManagerRepository>().As<IPerformanceManagerRepository>().InstancePerLifetimeScope(); {
builder.RegisterType<PerformanceManager>().As<IPerformanceManager>().InstancePerLifetimeScope(); builder.RegisterType<PerformanceManagerRepository>().As<IPerformanceManagerRepository>().InstancePerLifetimeScope();
} builder.RegisterType<PerformanceManager>().As<IPerformanceManager>().InstancePerLifetimeScope();
}
} }

View File

@ -1,154 +1,154 @@
using System.Linq.Expressions; using System.Linq.Expressions;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.models; using e_suite.API.Common.models;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.Database.Core.Tables.Diagnostics; using e_suite.Database.Core.Tables.Diagnostics;
using e_suite.Utilities.Pagination; using e_suite.Utilities.Pagination;
namespace e_suite.Modules.PerformanceManager; namespace e_suite.Modules.PerformanceManager;
public class PerformanceManager : IPerformanceManager public class PerformanceManager : IPerformanceManager
{ {
private readonly IPerformanceManagerRepository _performanceManagerRepository; private readonly IPerformanceManagerRepository _performanceManagerRepository;
public PerformanceManager(IPerformanceManagerRepository performanceManagerRepository) public PerformanceManager(IPerformanceManagerRepository performanceManagerRepository)
{ {
_performanceManagerRepository = performanceManagerRepository; _performanceManagerRepository = performanceManagerRepository;
} }
public async Task<PaginatedData<ReadPerformanceReportSummary>> GetPerformanceSummaryAsync(Paging paging, CancellationToken cancellationToken) public async Task<PaginatedData<ReadPerformanceReportSummary>> GetPerformanceSummaryAsync(Paging paging, CancellationToken cancellationToken)
{ {
var performanceReportSummary = _performanceManagerRepository.GetPerformanceReportSummary(); var performanceReportSummary = _performanceManagerRepository.GetPerformanceReportSummary();
var paginatedData = await PaginatedData.Paginate(performanceReportSummary, paging, var paginatedData = await PaginatedData.Paginate(performanceReportSummary, paging,
KeySelector, FilterSelector, cancellationToken); KeySelector, FilterSelector, cancellationToken);
var paginatedResult = new PaginatedData<ReadPerformanceReportSummary> var paginatedResult = new PaginatedData<ReadPerformanceReportSummary>
{ {
Count = paginatedData.Count, Count = paginatedData.Count,
Page = paginatedData.Page, Page = paginatedData.Page,
PageSize = paginatedData.PageSize, PageSize = paginatedData.PageSize,
Data = paginatedData.Data.Select(ToReadPerformanceReportSummary) Data = paginatedData.Data.Select(ToReadPerformanceReportSummary)
}; };
return paginatedResult; return paginatedResult;
} }
private ReadPerformanceReportSummary ToReadPerformanceReportSummary(PerformanceReportSummary performanceReportSummary) private ReadPerformanceReportSummary ToReadPerformanceReportSummary(PerformanceReportSummary performanceReportSummary)
{ {
return new ReadPerformanceReportSummary(performanceReportSummary) return new ReadPerformanceReportSummary(performanceReportSummary)
{ {
Host = performanceReportSummary.Host, Host = performanceReportSummary.Host,
ControllerName = performanceReportSummary.ControllerName, ControllerName = performanceReportSummary.ControllerName,
ActionName = performanceReportSummary.ActionName ActionName = performanceReportSummary.ActionName
}; };
} }
private Expression<Func<PerformanceReportSummary, bool>> FilterSelector(string? key, string value) private Expression<Func<PerformanceReportSummary, bool>> FilterSelector(string? key, string value)
{ {
return key?.ToLowerInvariant() switch return key?.ToLowerInvariant() switch
{ {
"host" => x => x.Host.Contains(value, StringComparison.CurrentCultureIgnoreCase), "host" => x => x.Host.Contains(value, StringComparison.CurrentCultureIgnoreCase),
"controllername" => x => x.ControllerName.Contains(value, StringComparison.CurrentCultureIgnoreCase), "controllername" => x => x.ControllerName.Contains(value, StringComparison.CurrentCultureIgnoreCase),
"actionname" => x => x.ActionName.Contains(value, StringComparison.CurrentCultureIgnoreCase), "actionname" => x => x.ActionName.Contains(value, StringComparison.CurrentCultureIgnoreCase),
"requestType" => x => x.RequestType.Contains(value, StringComparison.CurrentCultureIgnoreCase), "requestType" => x => x.RequestType.Contains(value, StringComparison.CurrentCultureIgnoreCase),
"count" => x => x.Count.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase), "count" => x => x.Count.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
"mintotaltimems" => x => x.MinTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase), "mintotaltimems" => x => x.MinTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
"maxtotaltimemS" => x => x.MaxTotalTimeMS.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase), "maxtotaltimemS" => x => x.MaxTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
"avgtotaltimems" => x => x.AvgTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase), "avgtotaltimems" => x => x.AvgTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
"sumtotaltimems" => x => x.SumTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase), "sumtotaltimems" => x => x.SumTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
_ => x => x.SumTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase), _ => x => x.SumTotalTimeMs.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
}; };
} }
private Expression<Func<PerformanceReportSummary, object>> KeySelector(string? sortKey) private Expression<Func<PerformanceReportSummary, object>> KeySelector(string? sortKey)
{ {
return sortKey?.ToLowerInvariant() switch return sortKey?.ToLowerInvariant() switch
{ {
"host" => x => x.Host, "host" => x => x.Host,
"controllername" => x => x.ControllerName, "controllername" => x => x.ControllerName,
"actionname" => x => x.ActionName, "actionname" => x => x.ActionName,
"requestType" => x => x.RequestType, "requestType" => x => x.RequestType,
"count" => x => x.Count, "count" => x => x.Count,
"mintotaltimems" => x => x.MinTotalTimeMs, "mintotaltimems" => x => x.MinTotalTimeMs,
"maxtotaltimemS" => x => x.MaxTotalTimeMS, "maxtotaltimemS" => x => x.MaxTotalTimeMs,
"avgtotaltimems" => x => x.AvgTotalTimeMs, "avgtotaltimems" => x => x.AvgTotalTimeMs,
"sumtotaltimems" => x => x.SumTotalTimeMs, "sumtotaltimems" => x => x.SumTotalTimeMs,
_ => x => x.SumTotalTimeMs _ => x => x.SumTotalTimeMs
}; };
} }
public async Task<PaginatedData<ReadPerformanceReport>> GetPerformanceDetailsAsync( public async Task<PaginatedData<ReadPerformanceReport>> GetPerformanceDetailsAsync(
string hostName, string hostName,
string controllerName, string controllerName,
string actionName, string actionName,
string requestType, string requestType,
Paging paging, Paging paging,
CancellationToken cancellationToken CancellationToken cancellationToken
) )
{ {
var performanceReportSummary = _performanceManagerRepository.GetPerformanceReports(hostName, controllerName, actionName, requestType); var performanceReportSummary = _performanceManagerRepository.GetPerformanceReports(hostName, controllerName, actionName, requestType);
var paginatedData = await PaginatedData.Paginate(performanceReportSummary, paging, var paginatedData = await PaginatedData.Paginate(performanceReportSummary, paging,
PerformanceReportKeySelector, PerformanceReportFilterSelector, cancellationToken); PerformanceReportKeySelector, PerformanceReportFilterSelector, cancellationToken);
var paginatedResult = new PaginatedData<ReadPerformanceReport> var paginatedResult = new PaginatedData<ReadPerformanceReport>
{ {
Count = paginatedData.Count, Count = paginatedData.Count,
Page = paginatedData.Page, Page = paginatedData.Page,
PageSize = paginatedData.PageSize, PageSize = paginatedData.PageSize,
Data = paginatedData.Data.Select(ToReadPerformanceReport) Data = paginatedData.Data.Select(ToReadPerformanceReport)
}; };
return paginatedResult; return paginatedResult;
} }
private ReadPerformanceReport ToReadPerformanceReport(PerformanceReport report) private ReadPerformanceReport ToReadPerformanceReport(PerformanceReport report)
{ {
return new ReadPerformanceReport(report) return new ReadPerformanceReport(report)
{ {
Host = report.Host, Host = report.Host,
ControllerName = report.ControllerName, ControllerName = report.ControllerName,
ActionName = report.ActionName ActionName = report.ActionName
}; };
} }
private Expression<Func<PerformanceReport, object>> PerformanceReportKeySelector(string? sortKey) private Expression<Func<PerformanceReport, object>> PerformanceReportKeySelector(string? sortKey)
{ {
return sortKey?.ToLowerInvariant() switch return sortKey?.ToLowerInvariant() switch
{ {
"host" => x => x.Host, "host" => x => x.Host,
"controllername" => x => x.ControllerName, "controllername" => x => x.ControllerName,
"actionname" => x => x.ActionName, "actionname" => x => x.ActionName,
"requestType" => x => x.RequestType, "requestType" => x => x.RequestType,
"id" => x => x.Id, "id" => x => x.Id,
"actionparameters" => x => x.ActionParameters, "actionparameters" => x => x.ActionParameters,
"startdateyime" => x => x.StartDateTime, "startdateyime" => x => x.StartDateTime,
"timings" => x => x.Timings, "timings" => x => x.Timings,
"totaltimems" => x => x.TotalTimeMS, "totaltimems" => x => x.TotalTimeMS,
_ => x => x.StartDateTime _ => x => x.StartDateTime
}; };
} }
private Expression<Func<PerformanceReport, bool>> PerformanceReportFilterSelector(string? key, string value) private Expression<Func<PerformanceReport, bool>> PerformanceReportFilterSelector(string? key, string value)
{ {
return key?.ToLowerInvariant() switch return key?.ToLowerInvariant() switch
{ {
"host" => x => x.Host.Contains(value, StringComparison.CurrentCultureIgnoreCase), "host" => x => x.Host.Contains(value, StringComparison.CurrentCultureIgnoreCase),
"controllername" => x => x.ControllerName.Contains(value, StringComparison.CurrentCultureIgnoreCase), "controllername" => x => x.ControllerName.Contains(value, StringComparison.CurrentCultureIgnoreCase),
"actionname" => x => x.ActionName.Contains(value, StringComparison.CurrentCultureIgnoreCase), "actionname" => x => x.ActionName.Contains(value, StringComparison.CurrentCultureIgnoreCase),
"requestType" => x => x.RequestType.Contains(value, StringComparison.CurrentCultureIgnoreCase), "requestType" => x => x.RequestType.Contains(value, StringComparison.CurrentCultureIgnoreCase),
"id" => x => x.Id.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase), "id" => x => x.Id.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
"actionparameters" => x => "actionparameters" => x =>
x.ActionParameters.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase), x.ActionParameters.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
"startdateyime" => x => "startdateyime" => x =>
x.StartDateTime.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase), x.StartDateTime.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
"timings" => x => x.Timings.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase), "timings" => x => x.Timings.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
"totaltimems" => x => x.TotalTimeMS.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase), "totaltimems" => x => x.TotalTimeMS.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase),
_ => x => x.StartDateTime.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase) _ => x => x.StartDateTime.ToString().Contains(value, StringComparison.CurrentCultureIgnoreCase)
}; };
} }
} }

View File

@ -1,216 +1,234 @@
{ {
"runtimeTarget": { "runtimeTarget": {
"name": ".NETCoreApp,Version=v10.0", "name": ".NETCoreApp,Version=v10.0",
"signature": "" "signature": ""
}, },
"compilationOptions": {}, "compilationOptions": {},
"targets": { "targets": {
".NETCoreApp,Version=v10.0": { ".NETCoreApp,Version=v10.0": {
"e-suite.Modules.PerformanceManager/1.0.0": { "e-suite.Modules.PerformanceManager/1.0.0": {
"dependencies": { "dependencies": {
"Autofac": "9.0.0", "Autofac": "9.0.0",
"e-suite.API.Common": "1.0.0", "e-suite.API.Common": "1.0.0",
"e-suite.Utilities.Pagination": "1.0.0", "e-suite.DependencyInjection": "1.0.0",
"e-suite.Nuget.PasswordHasher": "1.0.0.0" "e-suite.Utilities.Pagination": "1.0.0",
}, "e-suite.Nuget.PasswordHasher": "1.0.0.0"
"runtime": { },
"e-suite.Modules.PerformanceManager.dll": {} "runtime": {
} "e-suite.Modules.PerformanceManager.dll": {}
}, }
"Autofac/9.0.0": { },
"runtime": { "Autofac/9.0.0": {
"lib/net10.0/Autofac.dll": { "runtime": {
"assemblyVersion": "9.0.0.0", "lib/net10.0/Autofac.dll": {
"fileVersion": "9.0.0.0" "assemblyVersion": "9.0.0.0",
} "fileVersion": "9.0.0.0"
} }
}, }
"Microsoft.EntityFrameworkCore/10.0.2": { },
"dependencies": { "Microsoft.EntityFrameworkCore/10.0.2": {
"Microsoft.EntityFrameworkCore.Abstractions": "10.0.2" "dependencies": {
}, "Microsoft.EntityFrameworkCore.Abstractions": "10.0.2"
"runtime": { },
"lib/net10.0/Microsoft.EntityFrameworkCore.dll": { "runtime": {
"assemblyVersion": "10.0.2.0", "lib/net10.0/Microsoft.EntityFrameworkCore.dll": {
"fileVersion": "10.0.225.61305" "assemblyVersion": "10.0.2.0",
} "fileVersion": "10.0.225.61305"
} }
}, }
"Microsoft.EntityFrameworkCore.Abstractions/10.0.2": { },
"runtime": { "Microsoft.EntityFrameworkCore.Abstractions/10.0.2": {
"lib/net10.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { "runtime": {
"assemblyVersion": "10.0.2.0", "lib/net10.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
"fileVersion": "10.0.225.61305" "assemblyVersion": "10.0.2.0",
} "fileVersion": "10.0.225.61305"
} }
}, }
"Newtonsoft.Json/13.0.4": { },
"runtime": { "Newtonsoft.Json/13.0.4": {
"lib/net6.0/Newtonsoft.Json.dll": { "runtime": {
"assemblyVersion": "13.0.0.0", "lib/net6.0/Newtonsoft.Json.dll": {
"fileVersion": "13.0.4.30916" "assemblyVersion": "13.0.0.0",
} "fileVersion": "13.0.4.30916"
} }
}, }
"System.Linq.Dynamic.Core/1.7.1": { },
"runtime": { "System.Linq.Dynamic.Core/1.7.1": {
"lib/net10.0/System.Linq.Dynamic.Core.dll": { "runtime": {
"assemblyVersion": "1.7.1.0", "lib/net10.0/System.Linq.Dynamic.Core.dll": {
"fileVersion": "1.7.1.0" "assemblyVersion": "1.7.1.0",
} "fileVersion": "1.7.1.0"
} }
}, }
"e-suite.API.Common/1.0.0": { },
"dependencies": { "e-suite.API.Common/1.0.0": {
"e-suite.Database.Core": "1.0.0", "dependencies": {
"e-suite.Utilities.Pagination": "1.0.0" "e-suite.Database.Core": "1.0.0",
}, "e-suite.Utilities.Pagination": "1.0.0"
"runtime": { },
"e-suite.API.Common.dll": { "runtime": {
"assemblyVersion": "1.0.0.0", "e-suite.API.Common.dll": {
"fileVersion": "1.0.0.0" "assemblyVersion": "1.0.0.0",
} "fileVersion": "1.0.0.0"
} }
}, }
"e-suite.Database.Audit/1.0.0": { },
"dependencies": { "e-suite.Database.Audit/1.0.0": {
"Microsoft.EntityFrameworkCore": "10.0.2", "dependencies": {
"Newtonsoft.Json": "13.0.4", "Microsoft.EntityFrameworkCore": "10.0.2",
"System.Linq.Dynamic.Core": "1.7.1", "Newtonsoft.Json": "13.0.4",
"eSuite.Core": "1.0.0" "System.Linq.Dynamic.Core": "1.7.1",
}, "eSuite.Core": "1.0.0"
"runtime": { },
"e-suite.Database.Audit.dll": { "runtime": {
"assemblyVersion": "1.0.0.0", "e-suite.Database.Audit.dll": {
"fileVersion": "1.0.0.0" "assemblyVersion": "1.0.0.0",
} "fileVersion": "1.0.0.0"
} }
}, }
"e-suite.Database.Core/1.0.0": { },
"dependencies": { "e-suite.Database.Core/1.0.0": {
"e-suite.Database.Audit": "1.0.0", "dependencies": {
"eSuite.Core": "1.0.0", "e-suite.Database.Audit": "1.0.0",
"e_suite.Nuget.PasswordHasher": "1.0.0" "eSuite.Core": "1.0.0",
}, "e_suite.Nuget.PasswordHasher": "1.0.0"
"runtime": { },
"e-suite.Database.Core.dll": { "runtime": {
"assemblyVersion": "1.0.0.0", "e-suite.Database.Core.dll": {
"fileVersion": "1.0.0.0" "assemblyVersion": "1.0.0.0",
} "fileVersion": "1.0.0.0"
} }
}, }
"e-suite.Utilities.Pagination/1.0.0": { },
"dependencies": { "e-suite.DependencyInjection/1.0.0": {
"Microsoft.EntityFrameworkCore": "10.0.2" "dependencies": {
}, "Autofac": "9.0.0",
"runtime": { "eSuite.Core": "1.0.0"
"e-suite.Utilities.Pagination.dll": { },
"assemblyVersion": "1.0.0.0", "runtime": {
"fileVersion": "1.0.0.0" "e-suite.DependencyInjection.dll": {
} "assemblyVersion": "1.0.0.0",
} "fileVersion": "1.0.0.0"
}, }
"eSuite.Core/1.0.0": { }
"runtime": { },
"eSuite.Core.dll": { "e-suite.Utilities.Pagination/1.0.0": {
"assemblyVersion": "1.0.0.0", "dependencies": {
"fileVersion": "1.0.0.0" "Microsoft.EntityFrameworkCore": "10.0.2"
} },
} "runtime": {
}, "e-suite.Utilities.Pagination.dll": {
"e_suite.Nuget.PasswordHasher/1.0.0": { "assemblyVersion": "1.0.0.0",
"runtime": { "fileVersion": "1.0.0.0"
"e-suite.Nuget.PasswordHasher.dll": { }
"assemblyVersion": "1.0.0.0", }
"fileVersion": "1.0.0.0" },
} "eSuite.Core/1.0.0": {
} "runtime": {
}, "eSuite.Core.dll": {
"e-suite.Nuget.PasswordHasher/1.0.0.0": { "assemblyVersion": "1.0.0.0",
"runtime": { "fileVersion": "1.0.0.0"
"e-suite.Nuget.PasswordHasher.dll": { }
"assemblyVersion": "1.0.0.0", }
"fileVersion": "1.0.0.0" },
} "e_suite.Nuget.PasswordHasher/1.0.0": {
} "runtime": {
} "e-suite.Nuget.PasswordHasher.dll": {
} "assemblyVersion": "1.0.0.0",
}, "fileVersion": "1.0.0.0"
"libraries": { }
"e-suite.Modules.PerformanceManager/1.0.0": { }
"type": "project", },
"serviceable": false, "e-suite.Nuget.PasswordHasher/1.0.0.0": {
"sha512": "" "runtime": {
}, "e-suite.Nuget.PasswordHasher.dll": {
"Autofac/9.0.0": { "assemblyVersion": "1.0.0.0",
"type": "package", "fileVersion": "1.0.0.0"
"serviceable": true, }
"sha512": "sha512-G8TpUMVIq1pEAMuAao8h5MKduY91SotjgK93wQb5LaxbJUVE0/XjCA6t2SOp+AkPC3GB/C2MAiF2D7krYjraFw==", }
"path": "autofac/9.0.0", }
"hashPath": "autofac.9.0.0.nupkg.sha512" }
}, },
"Microsoft.EntityFrameworkCore/10.0.2": { "libraries": {
"type": "package", "e-suite.Modules.PerformanceManager/1.0.0": {
"serviceable": true, "type": "project",
"sha512": "sha512-d3+XKbLSHPCu3vwpXECoXcFbvGKmAhEeUmc1xy2czmuPnEF7rZN2HP5ZGMwCMbAKk4B01+nS4HixSMo2Vf/Y9g==", "serviceable": false,
"path": "microsoft.entityframeworkcore/10.0.2", "sha512": ""
"hashPath": "microsoft.entityframeworkcore.10.0.2.nupkg.sha512" },
}, "Autofac/9.0.0": {
"Microsoft.EntityFrameworkCore.Abstractions/10.0.2": { "type": "package",
"type": "package", "serviceable": true,
"serviceable": true, "sha512": "sha512-G8TpUMVIq1pEAMuAao8h5MKduY91SotjgK93wQb5LaxbJUVE0/XjCA6t2SOp+AkPC3GB/C2MAiF2D7krYjraFw==",
"sha512": "sha512-BzAwIU5mYeOmnKbEXrkwx7feW2V+zUTrK/kRonSib94tjvc0/iRj2a4N6YGXRhTNjaFP3tvCMIDaX1vIFF6dkg==", "path": "autofac/9.0.0",
"path": "microsoft.entityframeworkcore.abstractions/10.0.2", "hashPath": "autofac.9.0.0.nupkg.sha512"
"hashPath": "microsoft.entityframeworkcore.abstractions.10.0.2.nupkg.sha512" },
}, "Microsoft.EntityFrameworkCore/10.0.2": {
"Newtonsoft.Json/13.0.4": { "type": "package",
"type": "package", "serviceable": true,
"serviceable": true, "sha512": "sha512-d3+XKbLSHPCu3vwpXECoXcFbvGKmAhEeUmc1xy2czmuPnEF7rZN2HP5ZGMwCMbAKk4B01+nS4HixSMo2Vf/Y9g==",
"sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==", "path": "microsoft.entityframeworkcore/10.0.2",
"path": "newtonsoft.json/13.0.4", "hashPath": "microsoft.entityframeworkcore.10.0.2.nupkg.sha512"
"hashPath": "newtonsoft.json.13.0.4.nupkg.sha512" },
}, "Microsoft.EntityFrameworkCore.Abstractions/10.0.2": {
"System.Linq.Dynamic.Core/1.7.1": { "type": "package",
"type": "package", "serviceable": true,
"serviceable": true, "sha512": "sha512-BzAwIU5mYeOmnKbEXrkwx7feW2V+zUTrK/kRonSib94tjvc0/iRj2a4N6YGXRhTNjaFP3tvCMIDaX1vIFF6dkg==",
"sha512": "sha512-qlgku/j9r0fei52yxR5ho9nC/fWGZuaELqPkZmJm24QZbBW4cL3sVWri1dZ0cKgARD7cgFKBdRqzxYoIG5Q0Cg==", "path": "microsoft.entityframeworkcore.abstractions/10.0.2",
"path": "system.linq.dynamic.core/1.7.1", "hashPath": "microsoft.entityframeworkcore.abstractions.10.0.2.nupkg.sha512"
"hashPath": "system.linq.dynamic.core.1.7.1.nupkg.sha512" },
}, "Newtonsoft.Json/13.0.4": {
"e-suite.API.Common/1.0.0": { "type": "package",
"type": "project", "serviceable": true,
"serviceable": false, "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==",
"sha512": "" "path": "newtonsoft.json/13.0.4",
}, "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512"
"e-suite.Database.Audit/1.0.0": { },
"type": "project", "System.Linq.Dynamic.Core/1.7.1": {
"serviceable": false, "type": "package",
"sha512": "" "serviceable": true,
}, "sha512": "sha512-qlgku/j9r0fei52yxR5ho9nC/fWGZuaELqPkZmJm24QZbBW4cL3sVWri1dZ0cKgARD7cgFKBdRqzxYoIG5Q0Cg==",
"e-suite.Database.Core/1.0.0": { "path": "system.linq.dynamic.core/1.7.1",
"type": "project", "hashPath": "system.linq.dynamic.core.1.7.1.nupkg.sha512"
"serviceable": false, },
"sha512": "" "e-suite.API.Common/1.0.0": {
}, "type": "project",
"e-suite.Utilities.Pagination/1.0.0": { "serviceable": false,
"type": "project", "sha512": ""
"serviceable": false, },
"sha512": "" "e-suite.Database.Audit/1.0.0": {
}, "type": "project",
"eSuite.Core/1.0.0": { "serviceable": false,
"type": "project", "sha512": ""
"serviceable": false, },
"sha512": "" "e-suite.Database.Core/1.0.0": {
}, "type": "project",
"e_suite.Nuget.PasswordHasher/1.0.0": { "serviceable": false,
"type": "project", "sha512": ""
"serviceable": false, },
"sha512": "" "e-suite.DependencyInjection/1.0.0": {
}, "type": "project",
"e-suite.Nuget.PasswordHasher/1.0.0.0": { "serviceable": false,
"type": "reference", "sha512": ""
"serviceable": false, },
"sha512": "" "e-suite.Utilities.Pagination/1.0.0": {
} "type": "project",
} "serviceable": false,
"sha512": ""
},
"eSuite.Core/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"e_suite.Nuget.PasswordHasher/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"e-suite.Nuget.PasswordHasher/1.0.0.0": {
"type": "reference",
"serviceable": false,
"sha512": ""
}
}
} }

View File

@ -1,19 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net10.0</TargetFramework> <TargetFramework>net10.0</TargetFramework>
<RootNamespace>e_suite.Modules.PerformanceManager</RootNamespace> <RootNamespace>e_suite.Modules.PerformanceManager</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Autofac" Version="9.0.0" /> <PackageReference Include="Autofac" Version="9.0.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.Utilities.Pagination\e-suite.Utilities.Pagination\e-suite.Utilities.Pagination.csproj" /> <ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> <ProjectReference Include="..\..\e-suite.Utilities.Pagination\e-suite.Utilities.Pagination\e-suite.Utilities.Pagination.csproj" />
</ItemGroup>
</Project>
</Project>

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("e-suite.Modules.PerformanceManager")] [assembly: System.Reflection.AssemblyCompanyAttribute("e-suite.Modules.PerformanceManager")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5aa0151c59e2666c508b96df9e92dabf83e500c9")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e0510eeef5786b3814db949f18e6ff637e7b43f3")]
[assembly: System.Reflection.AssemblyProductAttribute("e-suite.Modules.PerformanceManager")] [assembly: System.Reflection.AssemblyProductAttribute("e-suite.Modules.PerformanceManager")]
[assembly: System.Reflection.AssemblyTitleAttribute("e-suite.Modules.PerformanceManager")] [assembly: System.Reflection.AssemblyTitleAttribute("e-suite.Modules.PerformanceManager")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
12c891daa1f4ee8300544eebbe3419c23cd5c84b39b050ea981c931e03259df0 fea0fa56c4e06387f95e760081cdb1d4f87acb8c388695ecdb5e4a1d7efdc675

View File

@ -1 +1 @@
2443ebba828e75681ac0f97ca7de8f4489ebb89e56b84c10c1343a75554c6876 f88c37d5e316d11e116f2a26e9477a7261a000dab8b574077b59bed01efc4aea

View File

@ -1,26 +1,54 @@
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.deps.json C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.deps.json
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.dll C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.dll
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.pdb C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.pdb
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.API.Common.dll C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.API.Common.dll
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Audit.dll C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Audit.dll
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Core.dll C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Core.dll
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.dll C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.dll
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Utilities.Pagination.dll C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Utilities.Pagination.dll
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.dll C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.dll
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.API.Common.pdb C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.API.Common.pdb
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Utilities.Pagination.pdb C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Utilities.Pagination.pdb
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Audit.pdb C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Audit.pdb
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Core.pdb C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Core.pdb
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.pdb C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.pdb
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.dll.config C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.dll.config
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.pdb C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.pdb
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.csproj.AssemblyReference.cache C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.csproj.AssemblyReference.cache
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.GeneratedMSBuildEditorConfig.editorconfig C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.AssemblyInfoInputs.cache C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.AssemblyInfoInputs.cache
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.AssemblyInfo.cs C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.AssemblyInfo.cs
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.csproj.CoreCompileInputs.cache C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.csproj.CoreCompileInputs.cache
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite..A86FA394.Up2Date C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite..A86FA394.Up2Date
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.dll C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.dll
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\refint\e-suite.Modules.PerformanceManager.dll C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\refint\e-suite.Modules.PerformanceManager.dll
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.pdb C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.pdb
C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\ref\e-suite.Modules.PerformanceManager.dll C:\Users\me\OneDrive\Code\Sun\e-suite\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\ref\e-suite.Modules.PerformanceManager.dll
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.deps.json
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.dll
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Modules.PerformanceManager.pdb
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.API.Common.dll
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Audit.dll
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Core.dll
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.DependencyInjection.dll
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.dll
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Utilities.Pagination.dll
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.dll
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.API.Common.pdb
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.DependencyInjection.pdb
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Utilities.Pagination.pdb
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Audit.pdb
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Database.Core.pdb
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.pdb
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\eSuite.Core.dll.config
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\bin\Debug\net10.0\e-suite.Nuget.PasswordHasher.pdb
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.csproj.AssemblyReference.cache
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.AssemblyInfoInputs.cache
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.AssemblyInfo.cs
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.csproj.CoreCompileInputs.cache
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite..A86FA394.Up2Date
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.dll
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\refint\e-suite.Modules.PerformanceManager.dll
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\e-suite.Modules.PerformanceManager.pdb
C:\Users\me\OneDrive\Code\Gitea\e-suite\e-suite.Backend\e-suite.Modules.PerformanceManager\e-suite.Modules.PerformanceManager\obj\Debug\net10.0\ref\e-suite.Modules.PerformanceManager.dll

View File

@ -1418,6 +1418,364 @@
} }
} }
}, },
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj",
"projectName": "e-suite.DependencyInjection",
"projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj",
"packagesPath": "C:\\Users\\me\\.nuget\\packages\\",
"outputPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\NuGet.Config",
"C:\\Users\\me\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net10.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {},
"https://sunbranding.pkgs.visualstudio.com/e-suite/_packaging/e-suite/nuget/v3/index.json": {}
},
"frameworks": {
"net10.0": {
"targetAlias": "net10.0",
"projectReferences": {
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Core\\eSuite.Core\\eSuite.Core.csproj": {
"projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Core\\eSuite.Core\\eSuite.Core.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "all"
},
"SdkAnalysisLevel": "10.0.100"
},
"frameworks": {
"net10.0": {
"targetAlias": "net10.0",
"dependencies": {
"Autofac": {
"target": "Package",
"version": "[9.0.0, )"
},
"Microsoft.Extensions.Configuration.FileExtensions": {
"target": "Package",
"version": "[8.0.0, )"
},
"Microsoft.Extensions.Configuration.Json": {
"target": "Package",
"version": "[8.0.0, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.102/PortableRuntimeIdentifierGraph.json",
"packagesToPrune": {
"Microsoft.CSharp": "(,4.7.32767]",
"Microsoft.VisualBasic": "(,10.4.32767]",
"Microsoft.Win32.Primitives": "(,4.3.32767]",
"Microsoft.Win32.Registry": "(,5.0.32767]",
"runtime.any.System.Collections": "(,4.3.32767]",
"runtime.any.System.Diagnostics.Tools": "(,4.3.32767]",
"runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]",
"runtime.any.System.Globalization": "(,4.3.32767]",
"runtime.any.System.Globalization.Calendars": "(,4.3.32767]",
"runtime.any.System.IO": "(,4.3.32767]",
"runtime.any.System.Reflection": "(,4.3.32767]",
"runtime.any.System.Reflection.Extensions": "(,4.3.32767]",
"runtime.any.System.Reflection.Primitives": "(,4.3.32767]",
"runtime.any.System.Resources.ResourceManager": "(,4.3.32767]",
"runtime.any.System.Runtime": "(,4.3.32767]",
"runtime.any.System.Runtime.Handles": "(,4.3.32767]",
"runtime.any.System.Runtime.InteropServices": "(,4.3.32767]",
"runtime.any.System.Text.Encoding": "(,4.3.32767]",
"runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]",
"runtime.any.System.Threading.Tasks": "(,4.3.32767]",
"runtime.any.System.Threading.Timer": "(,4.3.32767]",
"runtime.aot.System.Collections": "(,4.3.32767]",
"runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]",
"runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]",
"runtime.aot.System.Globalization": "(,4.3.32767]",
"runtime.aot.System.Globalization.Calendars": "(,4.3.32767]",
"runtime.aot.System.IO": "(,4.3.32767]",
"runtime.aot.System.Reflection": "(,4.3.32767]",
"runtime.aot.System.Reflection.Extensions": "(,4.3.32767]",
"runtime.aot.System.Reflection.Primitives": "(,4.3.32767]",
"runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]",
"runtime.aot.System.Runtime": "(,4.3.32767]",
"runtime.aot.System.Runtime.Handles": "(,4.3.32767]",
"runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]",
"runtime.aot.System.Text.Encoding": "(,4.3.32767]",
"runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]",
"runtime.aot.System.Threading.Tasks": "(,4.3.32767]",
"runtime.aot.System.Threading.Timer": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]",
"runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]",
"runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]",
"runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]",
"runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]",
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
"runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]",
"runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
"runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
"runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]",
"runtime.unix.System.Console": "(,4.3.32767]",
"runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]",
"runtime.unix.System.IO.FileSystem": "(,4.3.32767]",
"runtime.unix.System.Net.Primitives": "(,4.3.32767]",
"runtime.unix.System.Net.Sockets": "(,4.3.32767]",
"runtime.unix.System.Private.Uri": "(,4.3.32767]",
"runtime.unix.System.Runtime.Extensions": "(,4.3.32767]",
"runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]",
"runtime.win.System.Console": "(,4.3.32767]",
"runtime.win.System.Diagnostics.Debug": "(,4.3.32767]",
"runtime.win.System.IO.FileSystem": "(,4.3.32767]",
"runtime.win.System.Net.Primitives": "(,4.3.32767]",
"runtime.win.System.Net.Sockets": "(,4.3.32767]",
"runtime.win.System.Runtime.Extensions": "(,4.3.32767]",
"runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
"runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
"runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
"runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]",
"runtime.win7.System.Private.Uri": "(,4.3.32767]",
"runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]",
"System.AppContext": "(,4.3.32767]",
"System.Buffers": "(,5.0.32767]",
"System.Collections": "(,4.3.32767]",
"System.Collections.Concurrent": "(,4.3.32767]",
"System.Collections.Immutable": "(,10.0.32767]",
"System.Collections.NonGeneric": "(,4.3.32767]",
"System.Collections.Specialized": "(,4.3.32767]",
"System.ComponentModel": "(,4.3.32767]",
"System.ComponentModel.Annotations": "(,4.3.32767]",
"System.ComponentModel.EventBasedAsync": "(,4.3.32767]",
"System.ComponentModel.Primitives": "(,4.3.32767]",
"System.ComponentModel.TypeConverter": "(,4.3.32767]",
"System.Console": "(,4.3.32767]",
"System.Data.Common": "(,4.3.32767]",
"System.Data.DataSetExtensions": "(,4.4.32767]",
"System.Diagnostics.Contracts": "(,4.3.32767]",
"System.Diagnostics.Debug": "(,4.3.32767]",
"System.Diagnostics.DiagnosticSource": "(,10.0.32767]",
"System.Diagnostics.FileVersionInfo": "(,4.3.32767]",
"System.Diagnostics.Process": "(,4.3.32767]",
"System.Diagnostics.StackTrace": "(,4.3.32767]",
"System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]",
"System.Diagnostics.Tools": "(,4.3.32767]",
"System.Diagnostics.TraceSource": "(,4.3.32767]",
"System.Diagnostics.Tracing": "(,4.3.32767]",
"System.Drawing.Primitives": "(,4.3.32767]",
"System.Dynamic.Runtime": "(,4.3.32767]",
"System.Formats.Asn1": "(,10.0.32767]",
"System.Formats.Tar": "(,10.0.32767]",
"System.Globalization": "(,4.3.32767]",
"System.Globalization.Calendars": "(,4.3.32767]",
"System.Globalization.Extensions": "(,4.3.32767]",
"System.IO": "(,4.3.32767]",
"System.IO.Compression": "(,4.3.32767]",
"System.IO.Compression.ZipFile": "(,4.3.32767]",
"System.IO.FileSystem": "(,4.3.32767]",
"System.IO.FileSystem.AccessControl": "(,4.4.32767]",
"System.IO.FileSystem.DriveInfo": "(,4.3.32767]",
"System.IO.FileSystem.Primitives": "(,4.3.32767]",
"System.IO.FileSystem.Watcher": "(,4.3.32767]",
"System.IO.IsolatedStorage": "(,4.3.32767]",
"System.IO.MemoryMappedFiles": "(,4.3.32767]",
"System.IO.Pipelines": "(,10.0.32767]",
"System.IO.Pipes": "(,4.3.32767]",
"System.IO.Pipes.AccessControl": "(,5.0.32767]",
"System.IO.UnmanagedMemoryStream": "(,4.3.32767]",
"System.Linq": "(,4.3.32767]",
"System.Linq.AsyncEnumerable": "(,10.0.32767]",
"System.Linq.Expressions": "(,4.3.32767]",
"System.Linq.Parallel": "(,4.3.32767]",
"System.Linq.Queryable": "(,4.3.32767]",
"System.Memory": "(,5.0.32767]",
"System.Net.Http": "(,4.3.32767]",
"System.Net.Http.Json": "(,10.0.32767]",
"System.Net.NameResolution": "(,4.3.32767]",
"System.Net.NetworkInformation": "(,4.3.32767]",
"System.Net.Ping": "(,4.3.32767]",
"System.Net.Primitives": "(,4.3.32767]",
"System.Net.Requests": "(,4.3.32767]",
"System.Net.Security": "(,4.3.32767]",
"System.Net.ServerSentEvents": "(,10.0.32767]",
"System.Net.Sockets": "(,4.3.32767]",
"System.Net.WebHeaderCollection": "(,4.3.32767]",
"System.Net.WebSockets": "(,4.3.32767]",
"System.Net.WebSockets.Client": "(,4.3.32767]",
"System.Numerics.Vectors": "(,5.0.32767]",
"System.ObjectModel": "(,4.3.32767]",
"System.Private.DataContractSerialization": "(,4.3.32767]",
"System.Private.Uri": "(,4.3.32767]",
"System.Reflection": "(,4.3.32767]",
"System.Reflection.DispatchProxy": "(,6.0.32767]",
"System.Reflection.Emit": "(,4.7.32767]",
"System.Reflection.Emit.ILGeneration": "(,4.7.32767]",
"System.Reflection.Emit.Lightweight": "(,4.7.32767]",
"System.Reflection.Extensions": "(,4.3.32767]",
"System.Reflection.Metadata": "(,10.0.32767]",
"System.Reflection.Primitives": "(,4.3.32767]",
"System.Reflection.TypeExtensions": "(,4.3.32767]",
"System.Resources.Reader": "(,4.3.32767]",
"System.Resources.ResourceManager": "(,4.3.32767]",
"System.Resources.Writer": "(,4.3.32767]",
"System.Runtime": "(,4.3.32767]",
"System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]",
"System.Runtime.CompilerServices.VisualC": "(,4.3.32767]",
"System.Runtime.Extensions": "(,4.3.32767]",
"System.Runtime.Handles": "(,4.3.32767]",
"System.Runtime.InteropServices": "(,4.3.32767]",
"System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]",
"System.Runtime.Loader": "(,4.3.32767]",
"System.Runtime.Numerics": "(,4.3.32767]",
"System.Runtime.Serialization.Formatters": "(,4.3.32767]",
"System.Runtime.Serialization.Json": "(,4.3.32767]",
"System.Runtime.Serialization.Primitives": "(,4.3.32767]",
"System.Runtime.Serialization.Xml": "(,4.3.32767]",
"System.Security.AccessControl": "(,6.0.32767]",
"System.Security.Claims": "(,4.3.32767]",
"System.Security.Cryptography.Algorithms": "(,4.3.32767]",
"System.Security.Cryptography.Cng": "(,5.0.32767]",
"System.Security.Cryptography.Csp": "(,4.3.32767]",
"System.Security.Cryptography.Encoding": "(,4.3.32767]",
"System.Security.Cryptography.OpenSsl": "(,5.0.32767]",
"System.Security.Cryptography.Primitives": "(,4.3.32767]",
"System.Security.Cryptography.X509Certificates": "(,4.3.32767]",
"System.Security.Principal": "(,4.3.32767]",
"System.Security.Principal.Windows": "(,5.0.32767]",
"System.Security.SecureString": "(,4.3.32767]",
"System.Text.Encoding": "(,4.3.32767]",
"System.Text.Encoding.CodePages": "(,10.0.32767]",
"System.Text.Encoding.Extensions": "(,4.3.32767]",
"System.Text.Encodings.Web": "(,10.0.32767]",
"System.Text.Json": "(,10.0.32767]",
"System.Text.RegularExpressions": "(,4.3.32767]",
"System.Threading": "(,4.3.32767]",
"System.Threading.AccessControl": "(,10.0.32767]",
"System.Threading.Channels": "(,10.0.32767]",
"System.Threading.Overlapped": "(,4.3.32767]",
"System.Threading.Tasks": "(,4.3.32767]",
"System.Threading.Tasks.Dataflow": "(,10.0.32767]",
"System.Threading.Tasks.Extensions": "(,5.0.32767]",
"System.Threading.Tasks.Parallel": "(,4.3.32767]",
"System.Threading.Thread": "(,4.3.32767]",
"System.Threading.ThreadPool": "(,4.3.32767]",
"System.Threading.Timer": "(,4.3.32767]",
"System.ValueTuple": "(,4.5.32767]",
"System.Xml.ReaderWriter": "(,4.3.32767]",
"System.Xml.XDocument": "(,4.3.32767]",
"System.Xml.XmlDocument": "(,4.3.32767]",
"System.Xml.XmlSerializer": "(,4.3.32767]",
"System.Xml.XPath": "(,4.3.32767]",
"System.Xml.XPath.XDocument": "(,5.0.32767]"
}
}
}
},
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Modules.PerformanceManager\\e-suite.Modules.PerformanceManager\\e-suite.Modules.PerformanceManager.csproj": { "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Modules.PerformanceManager\\e-suite.Modules.PerformanceManager\\e-suite.Modules.PerformanceManager.csproj": {
"version": "1.0.0", "version": "1.0.0",
"restore": { "restore": {
@ -1450,6 +1808,9 @@
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.API.Common\\e-suite.API.Common\\e-suite.API.Common.csproj": { "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.API.Common\\e-suite.API.Common\\e-suite.API.Common.csproj": {
"projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.API.Common\\e-suite.API.Common\\e-suite.API.Common.csproj" "projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.API.Common\\e-suite.API.Common\\e-suite.API.Common.csproj"
}, },
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj": {
"projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj"
},
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination.csproj": { "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination.csproj": {
"projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination.csproj" "projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination.csproj"
} }

View File

@ -154,6 +154,51 @@
"buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets": {} "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets": {}
} }
}, },
"Microsoft.Extensions.Configuration.FileExtensions/8.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Configuration": "8.0.0",
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
"Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
"Microsoft.Extensions.FileProviders.Physical": "8.0.0",
"Microsoft.Extensions.Primitives": "8.0.0"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Configuration.Json/8.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Configuration": "8.0.0",
"Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
"Microsoft.Extensions.Configuration.FileExtensions": "8.0.0",
"Microsoft.Extensions.FileProviders.Abstractions": "8.0.0"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.Configuration.Json.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Configuration.Json.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.DependencyInjection/10.0.2": { "Microsoft.Extensions.DependencyInjection/10.0.2": {
"type": "package", "type": "package",
"dependencies": { "dependencies": {
@ -189,6 +234,62 @@
"buildTransitive/net8.0/_._": {} "buildTransitive/net8.0/_._": {}
} }
}, },
"Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "8.0.0"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.FileProviders.Physical/8.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
"Microsoft.Extensions.FileSystemGlobbing": "8.0.0",
"Microsoft.Extensions.Primitives": "8.0.0"
},
"compile": {
"lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.FileSystemGlobbing/8.0.0": {
"type": "package",
"compile": {
"lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Logging/10.0.2": { "Microsoft.Extensions.Logging/10.0.2": {
"type": "package", "type": "package",
"dependencies": { "dependencies": {
@ -337,6 +438,22 @@
"bin/placeholder/e-suite.Database.Core.dll": {} "bin/placeholder/e-suite.Database.Core.dll": {}
} }
}, },
"e-suite.DependencyInjection/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v10.0",
"dependencies": {
"Autofac": "9.0.0",
"Microsoft.Extensions.Configuration.FileExtensions": "8.0.0",
"Microsoft.Extensions.Configuration.Json": "8.0.0",
"eSuite.Core": "1.0.0"
},
"compile": {
"bin/placeholder/e-suite.DependencyInjection.dll": {}
},
"runtime": {
"bin/placeholder/e-suite.DependencyInjection.dll": {}
}
},
"e-suite.Utilities.Pagination/1.0.0": { "e-suite.Utilities.Pagination/1.0.0": {
"type": "project", "type": "project",
"framework": ".NETCoreApp,Version=v10.0", "framework": ".NETCoreApp,Version=v10.0",
@ -602,6 +719,68 @@
"useSharedDesignerContext.txt" "useSharedDesignerContext.txt"
] ]
}, },
"Microsoft.Extensions.Configuration.FileExtensions/8.0.0": {
"sha512": "McP+Lz/EKwvtCv48z0YImw+L1gi1gy5rHhNaNIY2CrjloV+XY8gydT8DjMR6zWeL13AFK+DioVpppwAuO1Gi1w==",
"type": "package",
"path": "microsoft.extensions.configuration.fileextensions/8.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Configuration.FileExtensions.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.FileExtensions.targets",
"lib/net462/Microsoft.Extensions.Configuration.FileExtensions.dll",
"lib/net462/Microsoft.Extensions.Configuration.FileExtensions.xml",
"lib/net6.0/Microsoft.Extensions.Configuration.FileExtensions.dll",
"lib/net6.0/Microsoft.Extensions.Configuration.FileExtensions.xml",
"lib/net7.0/Microsoft.Extensions.Configuration.FileExtensions.dll",
"lib/net7.0/Microsoft.Extensions.Configuration.FileExtensions.xml",
"lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll",
"lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.xml",
"microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512",
"microsoft.extensions.configuration.fileextensions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Configuration.Json/8.0.0": {
"sha512": "C2wqUoh9OmRL1akaCcKSTmRU8z0kckfImG7zLNI8uyi47Lp+zd5LWAD17waPQEqCz3ioWOCrFUo+JJuoeZLOBw==",
"type": "package",
"path": "microsoft.extensions.configuration.json/8.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Configuration.Json.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Json.targets",
"lib/net462/Microsoft.Extensions.Configuration.Json.dll",
"lib/net462/Microsoft.Extensions.Configuration.Json.xml",
"lib/net6.0/Microsoft.Extensions.Configuration.Json.dll",
"lib/net6.0/Microsoft.Extensions.Configuration.Json.xml",
"lib/net7.0/Microsoft.Extensions.Configuration.Json.dll",
"lib/net7.0/Microsoft.Extensions.Configuration.Json.xml",
"lib/net8.0/Microsoft.Extensions.Configuration.Json.dll",
"lib/net8.0/Microsoft.Extensions.Configuration.Json.xml",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.dll",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.xml",
"lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll",
"lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.xml",
"microsoft.extensions.configuration.json.8.0.0.nupkg.sha512",
"microsoft.extensions.configuration.json.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.DependencyInjection/10.0.2": { "Microsoft.Extensions.DependencyInjection/10.0.2": {
"sha512": "J/Zmp6fY93JbaiZ11ckWvcyxMPjD6XVwIHQXBjryTBgn7O6O20HYg9uVLFcZlNfgH78MnreE/7EH+hjfzn7VyA==", "sha512": "J/Zmp6fY93JbaiZ11ckWvcyxMPjD6XVwIHQXBjryTBgn7O6O20HYg9uVLFcZlNfgH78MnreE/7EH+hjfzn7VyA==",
"type": "package", "type": "package",
@ -664,6 +843,94 @@
"useSharedDesignerContext.txt" "useSharedDesignerContext.txt"
] ]
}, },
"Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
"sha512": "ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==",
"type": "package",
"path": "microsoft.extensions.fileproviders.abstractions/8.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.FileProviders.Abstractions.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Abstractions.targets",
"lib/net462/Microsoft.Extensions.FileProviders.Abstractions.dll",
"lib/net462/Microsoft.Extensions.FileProviders.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.xml",
"lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll",
"lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml",
"microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512",
"microsoft.extensions.fileproviders.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.FileProviders.Physical/8.0.0": {
"sha512": "UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==",
"type": "package",
"path": "microsoft.extensions.fileproviders.physical/8.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.FileProviders.Physical.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Physical.targets",
"lib/net462/Microsoft.Extensions.FileProviders.Physical.dll",
"lib/net462/Microsoft.Extensions.FileProviders.Physical.xml",
"lib/net6.0/Microsoft.Extensions.FileProviders.Physical.dll",
"lib/net6.0/Microsoft.Extensions.FileProviders.Physical.xml",
"lib/net7.0/Microsoft.Extensions.FileProviders.Physical.dll",
"lib/net7.0/Microsoft.Extensions.FileProviders.Physical.xml",
"lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll",
"lib/net8.0/Microsoft.Extensions.FileProviders.Physical.xml",
"lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll",
"lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.xml",
"microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512",
"microsoft.extensions.fileproviders.physical.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.FileSystemGlobbing/8.0.0": {
"sha512": "OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==",
"type": "package",
"path": "microsoft.extensions.filesystemglobbing/8.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.FileSystemGlobbing.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileSystemGlobbing.targets",
"lib/net462/Microsoft.Extensions.FileSystemGlobbing.dll",
"lib/net462/Microsoft.Extensions.FileSystemGlobbing.xml",
"lib/net6.0/Microsoft.Extensions.FileSystemGlobbing.dll",
"lib/net6.0/Microsoft.Extensions.FileSystemGlobbing.xml",
"lib/net7.0/Microsoft.Extensions.FileSystemGlobbing.dll",
"lib/net7.0/Microsoft.Extensions.FileSystemGlobbing.xml",
"lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll",
"lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.xml",
"lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll",
"lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.xml",
"microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512",
"microsoft.extensions.filesystemglobbing.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Logging/10.0.2": { "Microsoft.Extensions.Logging/10.0.2": {
"sha512": "a0EWuBs6D3d7XMGroDXm+WsAi5CVVfjOJvyxurzWnuhBN9CO+1qHKcrKV1JK7H/T4ZtHIoVCOX/YyWM8K87qtw==", "sha512": "a0EWuBs6D3d7XMGroDXm+WsAi5CVVfjOJvyxurzWnuhBN9CO+1qHKcrKV1JK7H/T4ZtHIoVCOX/YyWM8K87qtw==",
"type": "package", "type": "package",
@ -952,6 +1219,11 @@
"path": "../../e-suite.Database.Core/e-suite.Database.Core/e-suite.Database.Core.csproj", "path": "../../e-suite.Database.Core/e-suite.Database.Core/e-suite.Database.Core.csproj",
"msbuildProject": "../../e-suite.Database.Core/e-suite.Database.Core/e-suite.Database.Core.csproj" "msbuildProject": "../../e-suite.Database.Core/e-suite.Database.Core/e-suite.Database.Core.csproj"
}, },
"e-suite.DependencyInjection/1.0.0": {
"type": "project",
"path": "../../e-suite.DependencyInjection/e-suite.DependencyInjection.csproj",
"msbuildProject": "../../e-suite.DependencyInjection/e-suite.DependencyInjection.csproj"
},
"e-suite.Utilities.Pagination/1.0.0": { "e-suite.Utilities.Pagination/1.0.0": {
"type": "project", "type": "project",
"path": "../../e-suite.Utilities.Pagination/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination.csproj", "path": "../../e-suite.Utilities.Pagination/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination.csproj",
@ -972,6 +1244,7 @@
"net10.0": [ "net10.0": [
"Autofac >= 9.0.0", "Autofac >= 9.0.0",
"e-suite.API.Common >= 1.0.0", "e-suite.API.Common >= 1.0.0",
"e-suite.DependencyInjection >= 1.0.0",
"e-suite.Utilities.Pagination >= 1.0.0" "e-suite.Utilities.Pagination >= 1.0.0"
] ]
}, },
@ -1011,6 +1284,9 @@
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.API.Common\\e-suite.API.Common\\e-suite.API.Common.csproj": { "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.API.Common\\e-suite.API.Common\\e-suite.API.Common.csproj": {
"projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.API.Common\\e-suite.API.Common\\e-suite.API.Common.csproj" "projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.API.Common\\e-suite.API.Common\\e-suite.API.Common.csproj"
}, },
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj": {
"projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.DependencyInjection\\e-suite.DependencyInjection.csproj"
},
"C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination.csproj": { "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination.csproj": {
"projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination.csproj" "projectPath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination\\e-suite.Utilities.Pagination.csproj"
} }

View File

@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "4f7E/BIy1ic=", "dgSpecHash": "qGoUFiwgrmc=",
"success": true, "success": true,
"projectFilePath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Modules.PerformanceManager\\e-suite.Modules.PerformanceManager\\e-suite.Modules.PerformanceManager.csproj", "projectFilePath": "C:\\Users\\me\\OneDrive\\Code\\Gitea\\e-suite\\e-suite.Backend\\e-suite.Modules.PerformanceManager\\e-suite.Modules.PerformanceManager\\e-suite.Modules.PerformanceManager.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
@ -13,8 +13,13 @@
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.configuration\\10.0.2\\microsoft.extensions.configuration.10.0.2.nupkg.sha512", "C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.configuration\\10.0.2\\microsoft.extensions.configuration.10.0.2.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\10.0.2\\microsoft.extensions.configuration.abstractions.10.0.2.nupkg.sha512", "C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\10.0.2\\microsoft.extensions.configuration.abstractions.10.0.2.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.configuration.binder\\10.0.2\\microsoft.extensions.configuration.binder.10.0.2.nupkg.sha512", "C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.configuration.binder\\10.0.2\\microsoft.extensions.configuration.binder.10.0.2.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\8.0.0\\microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.configuration.json\\8.0.0\\microsoft.extensions.configuration.json.8.0.0.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\10.0.2\\microsoft.extensions.dependencyinjection.10.0.2.nupkg.sha512", "C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\10.0.2\\microsoft.extensions.dependencyinjection.10.0.2.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\10.0.2\\microsoft.extensions.dependencyinjection.abstractions.10.0.2.nupkg.sha512", "C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\10.0.2\\microsoft.extensions.dependencyinjection.abstractions.10.0.2.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\8.0.0\\microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\8.0.0\\microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\8.0.0\\microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.logging\\10.0.2\\microsoft.extensions.logging.10.0.2.nupkg.sha512", "C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.logging\\10.0.2\\microsoft.extensions.logging.10.0.2.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\10.0.2\\microsoft.extensions.logging.abstractions.10.0.2.nupkg.sha512", "C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\10.0.2\\microsoft.extensions.logging.abstractions.10.0.2.nupkg.sha512",
"C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.options\\10.0.2\\microsoft.extensions.options.10.0.2.nupkg.sha512", "C:\\Users\\me\\.nuget\\packages\\microsoft.extensions.options\\10.0.2\\microsoft.extensions.options.10.0.2.nupkg.sha512",

View File

@ -1,44 +1,44 @@
using e_suite.API.Common.models; using e_suite.API.Common.models;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.Database.Core; using e_suite.Database.Core;
using e_suite.Database.Core.Tables.Diagnostics; using e_suite.Database.Core.Tables.Diagnostics;
using eSuite.Core.Clock; using eSuite.Core.Clock;
namespace e_suite.Modules.DiagnosticManager.repository; namespace e_suite.Modules.PerformanceManager.repository;
public class PerformanceManagerRepository: RepositoryBase, IPerformanceManagerRepository public class PerformanceManagerRepository: RepositoryBase, IPerformanceManagerRepository
{ {
private readonly IClock _clock; private readonly IClock _clock;
public PerformanceManagerRepository(IEsuiteDatabaseDbContext databaseDbContext, IClock clock) : base(databaseDbContext) public PerformanceManagerRepository(IEsuiteDatabaseDbContext databaseDbContext, IClock clock) : base(databaseDbContext)
{ {
_clock = clock; _clock = clock;
} }
public IQueryable<PerformanceReportSummary> GetPerformanceReportSummary() public IQueryable<PerformanceReportSummary> GetPerformanceReportSummary()
{ {
var now = _clock.GetNow; var now = _clock.GetNow;
return DatabaseDbContext.PerformanceReports return DatabaseDbContext.PerformanceReports
.Where( x => x.StartDateTime > now.AddYears(-1)) .Where( x => x.StartDateTime > now.AddYears(-1))
.GroupBy( x => new{ x.Host, x.ControllerName, x.ActionName, x.RequestType} ) .GroupBy( x => new{ x.Host, x.ControllerName, x.ActionName, x.RequestType} )
.Select(r => new PerformanceReportSummary .Select(r => new PerformanceReportSummary
{ {
Host = r.Key.Host, Host = r.Key.Host,
ControllerName = r.Key.ControllerName, ControllerName = r.Key.ControllerName,
ActionName = r.Key.ActionName, ActionName = r.Key.ActionName,
RequestType = r.Key.RequestType, RequestType = r.Key.RequestType,
MinTotalTimeMs = r.ToArray().Min( x => x.TotalTimeMS), MinTotalTimeMs = r.ToArray().Min( x => x.TotalTimeMS),
MaxTotalTimeMS = r.ToArray().Max(x => x.TotalTimeMS), MaxTotalTimeMs = r.ToArray().Max(x => x.TotalTimeMS),
AvgTotalTimeMs = r.ToArray().Average(x => x.TotalTimeMS), AvgTotalTimeMs = r.ToArray().Average(x => x.TotalTimeMS),
SumTotalTimeMs = r.ToArray().Sum(x => x.TotalTimeMS), SumTotalTimeMs = r.ToArray().Sum(x => x.TotalTimeMS),
Count = r.Count() Count = r.Count()
}); });
} }
public IQueryable<PerformanceReport> GetPerformanceReports(string hostName, string controllerName, string actionName, string requestType) public IQueryable<PerformanceReport> GetPerformanceReports(string hostName, string controllerName, string actionName, string requestType)
{ {
return DatabaseDbContext.PerformanceReports return DatabaseDbContext.PerformanceReports
.Where( x => x.Host == hostName && x.ControllerName == controllerName && x.ActionName == actionName && x.RequestType == requestType); .Where( x => x.Host == hostName && x.ControllerName == controllerName && x.ActionName == actionName && x.RequestType == requestType);
} }
} }

View File

@ -1,13 +1,14 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Modules.RoleManager.Repository; using e_suite.Modules.RoleManager.Repository;
namespace e_suite.Modules.RoleManager; namespace e_suite.Modules.RoleManager;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<RoleManagerRepository>().As<IRoleManagerRepository>().InstancePerLifetimeScope(); builder.RegisterType<RoleManagerRepository>().As<IRoleManagerRepository>().InstancePerLifetimeScope();

View File

@ -10,11 +10,11 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Autofac" Version="9.0.0" /> <PackageReference Include="Autofac" Version="9.0.0" />
<PackageReference Include="MockQueryable.Moq" Version="10.0.1" /> <PackageReference Include="MockQueryable.Moq" Version="10.0.1" />
<PackageReference Include="NUnit3TestAdapter" Version="6.1.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,13 +1,14 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Modules.SSOManager.repository; using e_suite.Modules.SSOManager.repository;
namespace e_suite.Modules.SSOManager; namespace e_suite.Modules.SSOManager;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<SsoManagerRepository>().As<ISsoManagerRepository>().InstancePerLifetimeScope(); builder.RegisterType<SsoManagerRepository>().As<ISsoManagerRepository>().InstancePerLifetimeScope();

View File

@ -13,6 +13,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
<ProjectReference Include="..\..\e-suite.Utilities.Pagination\e-suite.Utilities.Pagination\e-suite.Utilities.Pagination.csproj" /> <ProjectReference Include="..\..\e-suite.Utilities.Pagination\e-suite.Utilities.Pagination\e-suite.Utilities.Pagination.csproj" />
</ItemGroup> </ItemGroup>

View File

@ -1,13 +1,14 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Modules.SequenceManager.Repository; using e_suite.Modules.SequenceManager.Repository;
namespace e_suite.Modules.SequenceManager; namespace e_suite.Modules.SequenceManager;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<SequenceManagerRepository>().As<ISequenceManagerRepository>().InstancePerLifetimeScope(); builder.RegisterType<SequenceManagerRepository>().As<ISequenceManagerRepository>().InstancePerLifetimeScope();

View File

@ -13,6 +13,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,13 +1,14 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Modules.SiteManager.repository; using e_suite.Modules.SiteManager.repository;
namespace e_suite.Modules.SiteManager; namespace e_suite.Modules.SiteManager;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<SiteManagerRepository>().As<ISiteManagerRepository>().InstancePerLifetimeScope(); builder.RegisterType<SiteManagerRepository>().As<ISiteManagerRepository>().InstancePerLifetimeScope();

View File

@ -1,13 +1,14 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Modules.SpecificationManager.repository; using e_suite.Modules.SpecificationManager.repository;
namespace e_suite.Modules.SpecificationManager; namespace e_suite.Modules.SpecificationManager;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<SpecificationManagerRepository>().As<ISpecificationManagerRepository>().InstancePerLifetimeScope(); builder.RegisterType<SpecificationManagerRepository>().As<ISpecificationManagerRepository>().InstancePerLifetimeScope();

View File

@ -1,15 +1,16 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Modules.UserManager.Facade; using e_suite.Modules.UserManager.Facade;
using e_suite.Modules.UserManager.Repository; using e_suite.Modules.UserManager.Repository;
using e_suite.Modules.UserManager.Services; using e_suite.Modules.UserManager.Services;
namespace e_suite.Modules.UserManager; namespace e_suite.Modules.UserManager;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<TwoFactorAuthenticatorFacade>().As<ITwoFactorAuthenticator>().SingleInstance(); builder.RegisterType<TwoFactorAuthenticatorFacade>().As<ITwoFactorAuthenticator>().SingleInstance();
builder.RegisterType<RandomNumberGeneratorFacade>().As<IRandomNumberGenerator>().SingleInstance(); builder.RegisterType<RandomNumberGeneratorFacade>().As<IRandomNumberGenerator>().SingleInstance();

View File

@ -17,6 +17,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
<ProjectReference Include="..\..\e-suite.Nuget.PasswordHasher\e-suite.Nuget.PasswordHasher\e-suite.Nuget.PasswordHasher.csproj" /> <ProjectReference Include="..\..\e-suite.Nuget.PasswordHasher\e-suite.Nuget.PasswordHasher\e-suite.Nuget.PasswordHasher.csproj" />
</ItemGroup> </ItemGroup>

View File

@ -1,6 +1,7 @@
using Autofac; using Autofac;
using e_suite.Database.Core; using e_suite.Database.Core;
using e_suite.Database.SqlServer; using e_suite.Database.SqlServer;
using e_suite.DependencyInjection;
using e_suite.Scheduler.Jobs; using e_suite.Scheduler.Jobs;
using eSuite.Core.Clock; using eSuite.Core.Clock;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
@ -11,7 +12,7 @@ namespace e_suite.Scheduler.DependencyInjection;
/// <summary> /// <summary>
/// Used as a the primary location for IOC type registration for e-suite. /// Used as a the primary location for IOC type registration for e-suite.
/// </summary> /// </summary>
public class CoreRegistrationModule : Module public class CoreRegistrationModule : ESuiteModule
{ {
/// <summary> /// <summary>
/// Use the builder to register all the types and interfaces that the API requires to operate properly. /// Use the builder to register all the types and interfaces that the API requires to operate properly.
@ -19,15 +20,23 @@ public class CoreRegistrationModule : Module
/// <param name="builder"></param> /// <param name="builder"></param>
protected override void Load(ContainerBuilder builder) protected override void Load(ContainerBuilder builder)
{ {
base.Load(builder);
var loggerFactory = LoggerFactory.Create(loggingBuilder => loggingBuilder.AddConsole()); var loggerFactory = LoggerFactory.Create(loggingBuilder => loggingBuilder.AddConsole());
builder.Register( x=> loggerFactory.CreateLogger("e-Suite.Scheduler")).As<ILogger>().SingleInstance(); builder.Register( x=> loggerFactory.CreateLogger("e-Suite.Scheduler")).As<ILogger>().SingleInstance();
IClock clock = new UtcClock();
builder.RegisterInstance(clock).As<IClock>().SingleInstance();
builder.RegisterInstance(ESuiteDatabaseExtension.BuildConfiguration()).As<IConfiguration>().SingleInstance(); builder.RegisterInstance(ESuiteDatabaseExtension.BuildConfiguration()).As<IConfiguration>().SingleInstance();
builder.Register(c => ESuiteDatabaseExtension.CreateDatabase(clock).GetAwaiter().GetResult()).As<IEsuiteDatabaseDbContext>().InstancePerLifetimeScope(); builder.Register(c =>
{
var clock = c.Resolve<IClock>();
return ESuiteDatabaseExtension.CreateDatabase(clock)
.GetAwaiter()
.GetResult();
})
.As<IEsuiteDatabaseDbContext>()
.InstancePerLifetimeScope();
Messaging.Common.DependencyInjection.CoreRegistrationModule.Load(builder); //Messaging.Common.IocRegistration.RegisterTypes(builder);
builder.RegisterType<NightlyCleanUp>(); builder.RegisterType<NightlyCleanUp>();
builder.RegisterType<NightlySigmaImport>(); builder.RegisterType<NightlySigmaImport>();

View File

@ -1,5 +1,10 @@
{ {
"RabbitMQ": { "RabbitMQ": {
"hostname": "localhost" "hostname": "localhost"
} },
"Modules": [
"e-suite.API.Common.dll",
"e-suite.Database.SqlServer.dll",
"e-suite.Messaging.Common.dll"
]
} }

View File

@ -17,6 +17,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.Database.SqlServer\e-suite.Database.SqlServer\e-suite.Database.SqlServer.csproj" /> <ProjectReference Include="..\..\e-suite.Database.SqlServer\e-suite.Database.SqlServer\e-suite.Database.SqlServer.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
<ProjectReference Include="..\..\e-suite.Messaging.Common\e-suite.Messaging.Common\e-suite.Messaging.Common.csproj" /> <ProjectReference Include="..\..\e-suite.Messaging.Common\e-suite.Messaging.Common\e-suite.Messaging.Common.csproj" />
</ItemGroup> </ItemGroup>

View File

@ -1,13 +1,14 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Service.CustomFieldValidation.Repository; using e_suite.Service.CustomFieldValidation.Repository;
namespace e_suite.Service.CustomFieldValidation; namespace e_suite.Service.CustomFieldValidation;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<CustomFieldValidatorRepository>().As<ICustomFieldValidatorRepository>().InstancePerLifetimeScope(); builder.RegisterType<CustomFieldValidatorRepository>().As<ICustomFieldValidatorRepository>().InstancePerLifetimeScope();
builder.RegisterType<CustomFieldValidator>().As<ICustomFieldValidator>().InstancePerLifetimeScope(); builder.RegisterType<CustomFieldValidator>().As<ICustomFieldValidator>().InstancePerLifetimeScope();

View File

@ -13,6 +13,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,13 +1,14 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.DependencyInjection;
using e_suite.Service.EFlowSync.EflowAPI; using e_suite.Service.EFlowSync.EflowAPI;
using e_suite.Service.EFlowSync.Repository; using e_suite.Service.EFlowSync.Repository;
namespace e_suite.Service.EFlowSync; namespace e_suite.Service.EFlowSync;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<EFlowSyncRepository>().As<IEFlowSyncRepository>().InstancePerLifetimeScope(); builder.RegisterType<EFlowSyncRepository>().As<IEFlowSyncRepository>().InstancePerLifetimeScope();
builder.RegisterType<EFlowCategories>().As<IEFlowCategories>(); builder.RegisterType<EFlowCategories>().As<IEFlowCategories>();

View File

@ -25,6 +25,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.Database.SqlServer\e-suite.Database.SqlServer\e-suite.Database.SqlServer.csproj" /> <ProjectReference Include="..\..\e-suite.Database.SqlServer\e-suite.Database.SqlServer\e-suite.Database.SqlServer.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,14 +1,15 @@
using Autofac; using Autofac;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Service.Mail.Facade; using e_suite.Service.Mail.Facade;
using e_suite.Service.Mail.repository; using e_suite.Service.Mail.repository;
using eSuite.Core.MailService; using eSuite.Core.MailService;
namespace e_suite.Service.Mail; namespace e_suite.Service.Mail;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<MailService>().As<IMailService>().InstancePerLifetimeScope(); builder.RegisterType<MailService>().As<IMailService>().InstancePerLifetimeScope();
builder.RegisterType<MailServiceRepository>().As<IMailServiceRepository>().InstancePerLifetimeScope(); builder.RegisterType<MailServiceRepository>().As<IMailServiceRepository>().InstancePerLifetimeScope();

View File

@ -14,6 +14,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -29,7 +29,7 @@ public class PerformanceActionParamMaperFilter : ActionFilterAttribute
report!.ActionParameters = context.ActionArguments!; report!.ActionParameters = context.ActionArguments!;
} }
_memoryCache.Set(traceId, report);//TODO Remove magic string _memoryCache.Set(traceId, report);
return base.OnActionExecutionAsync(context, next); return base.OnActionExecutionAsync(context, next);
} }
} }

View File

@ -1,5 +1,6 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.DependencyInjection;
using e_suite.Service.Performance.Implementations; using e_suite.Service.Performance.Implementations;
using e_suite.Service.Performance.Interfaces; using e_suite.Service.Performance.Interfaces;
using e_suite.Service.Performance.Repository; using e_suite.Service.Performance.Repository;
@ -7,9 +8,9 @@ using Microsoft.Extensions.Caching.Memory;
namespace e_suite.Service.Performance; namespace e_suite.Service.Performance;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<PerformanceCache>().As<IPerformanceCache>().InstancePerLifetimeScope(); builder.RegisterType<PerformanceCache>().As<IPerformanceCache>().InstancePerLifetimeScope();
builder.RegisterType<PerformanceRepository>().As<IPerformanceRepository>().InstancePerLifetimeScope(); builder.RegisterType<PerformanceRepository>().As<IPerformanceRepository>().InstancePerLifetimeScope();

View File

@ -15,6 +15,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,12 +1,13 @@
using Autofac; using Autofac;
using e_suite.API.Common.repository; using e_suite.API.Common.repository;
using e_suite.DependencyInjection;
using e_suite.Service.Sentinel.Repository; using e_suite.Service.Sentinel.Repository;
namespace e_suite.Service.Sentinel; namespace e_suite.Service.Sentinel;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<Sentinel>().As<ISentinel>().InstancePerLifetimeScope(); builder.RegisterType<Sentinel>().As<ISentinel>().InstancePerLifetimeScope();
builder.RegisterType<SentinelMaintenance>().As<ISentinelMaintenance>().InstancePerLifetimeScope(); builder.RegisterType<SentinelMaintenance>().As<ISentinelMaintenance>().InstancePerLifetimeScope();

View File

@ -17,6 +17,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,5 +1,6 @@
using Autofac; using Autofac;
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.DependencyInjection;
using e_suite.Service.SigmaImporter.GmgProfiles; using e_suite.Service.SigmaImporter.GmgProfiles;
using e_suite.Service.SigmaImporter.Helpers; using e_suite.Service.SigmaImporter.Helpers;
using e_suite.Service.SigmaImporter.PrintSpecifications; using e_suite.Service.SigmaImporter.PrintSpecifications;
@ -7,9 +8,9 @@ using e_suite.Service.SigmaImporter.Repository;
namespace e_suite.Service.SigmaImporter; namespace e_suite.Service.SigmaImporter;
public static class IocRegistration public class IocRegistration : IIocRegistration
{ {
public static void RegisterTypes(ContainerBuilder builder) public void RegisterTypes(ContainerBuilder builder)
{ {
builder.RegisterType<SigmaImporter>().As<ISigmaImporter>().InstancePerLifetimeScope(); builder.RegisterType<SigmaImporter>().As<ISigmaImporter>().InstancePerLifetimeScope();
builder.RegisterType<SigmaFileBrowserRepository>().As<ISigmaFileBrowserRepository>().InstancePerLifetimeScope(); builder.RegisterType<SigmaFileBrowserRepository>().As<ISigmaFileBrowserRepository>().InstancePerLifetimeScope();

View File

@ -28,6 +28,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" /> <ProjectReference Include="..\..\e-suite.API.Common\e-suite.API.Common\e-suite.API.Common.csproj" />
<ProjectReference Include="..\..\e-suite.DependencyInjection\e-suite.DependencyInjection.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,7 +1,9 @@
namespace e_suite.Workflow.Core; using e_suite.Workflow.Core.Interfaces;
public class ApprovalTaskAssignee : TaskAssignee, IApprovalTaskAssignee namespace e_suite.Workflow.Core;
{
public bool Bypassable { get; set; } public class ApprovalTaskAssignee : TaskAssignee, IApprovalTaskAssignee
public bool AllowNoVerdict { get; set; } {
public bool Bypassable { get; set; }
public bool AllowNoVerdict { get; set; }
} }

View File

@ -1,19 +1,19 @@
namespace e_suite.Workflow.Core; namespace e_suite.Workflow.Core.Attributes;
public abstract class TaskTypeAttribute : Attribute public abstract class TaskTypeAttribute : Attribute
{ {
} }
public class GeneralTaskAttribute : TaskTypeAttribute public class GeneralTaskAttribute : TaskTypeAttribute
{ {
public bool AllowMultiple { get; } public bool AllowMultiple { get; }
public GeneralTaskAttribute(bool allowMultiple = true) public GeneralTaskAttribute(bool allowMultiple = true)
{ {
AllowMultiple = allowMultiple; AllowMultiple = allowMultiple;
} }
} }
public class ApprovalTaskAttribute : TaskTypeAttribute public class ApprovalTaskAttribute : TaskTypeAttribute
{ {
} }

View File

@ -1,6 +1,6 @@
namespace e_suite.Workflow.Core; namespace e_suite.Workflow.Core.Attributes;
internal class RuntimeOnlyAttribute : Attribute internal class RuntimeOnlyAttribute : Attribute
{ {
} }

View File

@ -1,8 +1,8 @@
namespace e_suite.Workflow.Core; namespace e_suite.Workflow.Core.Enums;
public enum BudgetOption public enum BudgetOption
{ {
DoNotShow, DoNotShow,
ShowOnly, ShowOnly,
ShowAndEdit ShowAndEdit
} }

View File

@ -1,8 +1,8 @@
namespace e_suite.Workflow.Core; namespace e_suite.Workflow.Core.Enums;
public enum Priority public enum Priority
{ {
Normal, Normal,
High, High,
Low Low
} }

View File

@ -1,9 +1,9 @@
namespace e_suite.Workflow.Core; namespace e_suite.Workflow.Core.Enums;
public enum Raci public enum Raci
{ {
Responsible, Responsible,
Accountable, Accountable,
Consulted, Consulted,
Informed Informed
} }

View File

@ -1,17 +1,17 @@
using System.ComponentModel; using System.ComponentModel;
namespace e_suite.Workflow.Core; namespace e_suite.Workflow.Core.Enums;
public enum TaskState public enum TaskState
{ {
[Description("The task is waiting to start")] [Description("The task is waiting to start")]
Pending, Pending,
[Description("The task has been cancelled")] [Description("The task has been cancelled")]
Cancelled, Cancelled,
[Description("The task is active for user/system interaction and processing")] [Description("The task is active for user/system interaction and processing")]
Active, Active,
[Description("The active portion of the task has finished and the task is ready to complete")] [Description("The active portion of the task has finished and the task is ready to complete")]
ReadyToComplete, ReadyToComplete,
[Description("The task has been completed")] [Description("The task has been completed")]
Completed Completed
} }

View File

@ -1,17 +1,17 @@
using System.ComponentModel; using System.ComponentModel;
namespace e_suite.Workflow.Core; namespace e_suite.Workflow.Core.Enums;
public enum WorkflowState public enum WorkflowState
{ {
[Description("The workflow has not yet started")] [Description("The workflow has not yet started")]
Pending, Pending,
[Description("The workflow has been cancelled abd wukk bit be processed")] [Description("The workflow has been cancelled abd wukk bit be processed")]
Cancelled, Cancelled,
[Description("The workflow is currently active for user/system interaction and processing")] [Description("The workflow is currently active for user/system interaction and processing")]
Active, Active,
[Description("The active portion of the workflow has finished and the workflow is ready to complete")] [Description("The active portion of the workflow has finished and the workflow is ready to complete")]
ReadyToComplete, ReadyToComplete,
[Description("Processing of this item has finished the ")] [Description("Processing of this item has finished the ")]
Completed Completed
} }

View File

@ -1,9 +1,9 @@
namespace e_suite.Workflow.Core; namespace e_suite.Workflow.Core.Extensions;
public static class ObjectExtensions public static class ObjectExtensions
{ {
public static bool In<T>(this T obj, params T[] args) public static bool In<T>(this T obj, params T[] args)
{ {
return args.Contains(obj); return args.Contains(obj);
} }
} }

Some files were not shown because too many files have changed in this diff Show More