From a9d5e13c2e04bc7267adb2e3ebbfeca8593d8712 Mon Sep 17 00:00:00 2001 From: Colin Dawson Date: Wed, 4 Mar 2026 22:39:46 +0000 Subject: [PATCH] Nuget update, started working on the ability to create acivities --- .../e-suite.API.Common.UnitTests.csproj | 6 +- .../e-suite.API.Common.csproj | 2 +- .../eSuite.API.UnitTests.csproj | 4 +- e-suite.API/eSuite.API/eSuite.API.csproj | 4 +- .../eSuite.Core.UnitTests.csproj | 4 +- e-suite.Core/eSuite.Core/eSuite.Core.csproj | 4 +- .../e-suite.Database.Audit.UnitTests.csproj | 6 +- .../e-suite.Database.Audit.csproj | 2 +- .../e-suite.Database.Core.UnitTests.csproj | 6 +- .../e-suite.Database.MigrationBuilder.csproj | 2 +- ...-suite.Database.SqlServer.UnitTests.csproj | 4 +- .../20260303204706_ActivityTables.Designer.cs | 2220 +++++++++++++++++ .../20260303204706_ActivityTables.cs | 133 + ...SqlEsuiteDatabaseDbContextModelSnapshot.cs | 142 +- .../e-suite.Database.SqlServer.csproj | 4 +- ...suite.DependencyInjection.UnitTests.csproj | 4 +- .../e-suite.DependencyInjection.csproj | 4 +- ...Modules.BlockedIPsManager.UnitTests.csproj | 6 +- .../e-suite.MessageProcessor.UnitTests.csproj | 4 +- .../Handlers/ActivityQueueHandler.cs | 36 + .../Handlers/DatabaseQueueHandler.cs | 2 +- .../QueueProcessor/QueueProcessor.cs | 1 + .../e-suite.Messaging.Common.UnitTests.csproj | 4 +- .../MessageQueueNames.cs | 1 + .../e-suite.Messaging.Common.csproj | 4 +- .../models/ActivityMessage.cs | 13 + .../models/ActivityMessageTypes.cs | 6 + .../AuditLog.UnitTests.csproj | 4 +- ...Modules.CustomFieldManagerUnitTests.csproj | 6 +- ...ite.Modules.DomainManager.UnitTests.csproj | 4 +- ...dules.ExceptionLogManager.UnitTests.csproj | 6 +- ...suite.Modules.FormsManagerUnitTests.csproj | 6 +- .../GlossariesManager.UnitTests.csproj | 4 +- .../e-suite.Modules.GlossariesManager.csproj | 2 +- ...ules.MailTemplatesManager.UnitTests.csproj | 4 +- ...ules.OrganisationsManager.UnitTests.csproj | 6 +- ...es.PerformanceManager.csproj.nuget.g.props | 36 +- ....PerformanceManager.csproj.nuget.g.targets | 14 +- ...suite.Modules.RoleManager.UnitTests.csproj | 4 +- .../SSOManager.UnitTests.csproj | 4 +- .../SequenceManager.UnitTests.csproj | 4 +- ...suite.Modules.SiteManager.UnitTests.csproj | 4 +- ...ules.SpecificationManager.UnitTests.csproj | 4 +- .../UserManager.UnitTests.csproj | 4 +- .../e-suite.Modules.UserManager.csproj | 6 +- ...uite.Nuget.PasswordHasher.UnitTests.csproj | 4 +- .../e-suite.Scheduler.UnitTests.csproj | 4 +- .../e-suite.Scheduler.csproj | 2 +- ...ice.CustomFieldValidation.UnitTests.csproj | 4 +- ...e-suite.Service.EFlowSync.UnitTests.csproj | 4 +- .../e-suite.Service.Mail.UnitTests.csproj | 4 +- .../e-suite.Service.Mail.csproj | 2 +- ...suite.Service.Performance.UnitTests.csproj | 6 +- .../SigmaImporter.UnitTests.csproj | 4 +- .../e-suite.UnitTestCore.csproj | 2 +- ...uite.Utilities.Pagination.UnitTests.csproj | 4 +- .../e-suite.Utilities.Pagination.csproj | 2 +- ...e-suite.Workflow.Core.csproj.nuget.g.props | 36 +- ...suite.Workflow.Core.csproj.nuget.g.targets | 14 +- 59 files changed, 2695 insertions(+), 147 deletions(-) create mode 100644 e-suite.Database.SqlServer/e-suite.Database.SqlServer/Migrations/20260303204706_ActivityTables.Designer.cs create mode 100644 e-suite.Database.SqlServer/e-suite.Database.SqlServer/Migrations/20260303204706_ActivityTables.cs create mode 100644 e-suite.MessageProcessor/e-suite.MessageProcessor/Handlers/ActivityQueueHandler.cs create mode 100644 e-suite.Messaging.Common/e-suite.Messaging.Common/models/ActivityMessage.cs create mode 100644 e-suite.Messaging.Common/e-suite.Messaging.Common/models/ActivityMessageTypes.cs diff --git a/e-suite.API.Common/e-suite.API.Common.UnitTests/e-suite.API.Common.UnitTests.csproj b/e-suite.API.Common/e-suite.API.Common.UnitTests/e-suite.API.Common.UnitTests.csproj index 42f61d0..318b4fc 100644 --- a/e-suite.API.Common/e-suite.API.Common.UnitTests/e-suite.API.Common.UnitTests.csproj +++ b/e-suite.API.Common/e-suite.API.Common.UnitTests/e-suite.API.Common.UnitTests.csproj @@ -8,10 +8,10 @@ - - + + - + diff --git a/e-suite.API.Common/e-suite.API.Common/e-suite.API.Common.csproj b/e-suite.API.Common/e-suite.API.Common/e-suite.API.Common.csproj index 98a8d0f..003ec27 100644 --- a/e-suite.API.Common/e-suite.API.Common/e-suite.API.Common.csproj +++ b/e-suite.API.Common/e-suite.API.Common/e-suite.API.Common.csproj @@ -8,7 +8,7 @@ - + diff --git a/e-suite.API/eSuite.API.UnitTests/eSuite.API.UnitTests.csproj b/e-suite.API/eSuite.API.UnitTests/eSuite.API.UnitTests.csproj index ff86004..26b6b82 100644 --- a/e-suite.API/eSuite.API.UnitTests/eSuite.API.UnitTests.csproj +++ b/e-suite.API/eSuite.API.UnitTests/eSuite.API.UnitTests.csproj @@ -11,10 +11,10 @@ - + - + diff --git a/e-suite.API/eSuite.API/eSuite.API.csproj b/e-suite.API/eSuite.API/eSuite.API.csproj index 26ebdf5..99ec5bb 100644 --- a/e-suite.API/eSuite.API/eSuite.API.csproj +++ b/e-suite.API/eSuite.API/eSuite.API.csproj @@ -34,9 +34,9 @@ - + - + diff --git a/e-suite.Core/eSuite.Core.UnitTests/eSuite.Core.UnitTests.csproj b/e-suite.Core/eSuite.Core.UnitTests/eSuite.Core.UnitTests.csproj index eadfdc0..fc89dbc 100644 --- a/e-suite.Core/eSuite.Core.UnitTests/eSuite.Core.UnitTests.csproj +++ b/e-suite.Core/eSuite.Core.UnitTests/eSuite.Core.UnitTests.csproj @@ -7,8 +7,8 @@ - - + + diff --git a/e-suite.Core/eSuite.Core/eSuite.Core.csproj b/e-suite.Core/eSuite.Core/eSuite.Core.csproj index 8769330..0bd1ac6 100644 --- a/e-suite.Core/eSuite.Core/eSuite.Core.csproj +++ b/e-suite.Core/eSuite.Core/eSuite.Core.csproj @@ -7,8 +7,8 @@ - - + + diff --git a/e-suite.Database.Audit/e-suite.Database.Audit.UnitTests/e-suite.Database.Audit.UnitTests.csproj b/e-suite.Database.Audit/e-suite.Database.Audit.UnitTests/e-suite.Database.Audit.UnitTests.csproj index 0fbfadf..db718a8 100644 --- a/e-suite.Database.Audit/e-suite.Database.Audit.UnitTests/e-suite.Database.Audit.UnitTests.csproj +++ b/e-suite.Database.Audit/e-suite.Database.Audit.UnitTests/e-suite.Database.Audit.UnitTests.csproj @@ -16,10 +16,10 @@ - - + + - + diff --git a/e-suite.Database.Audit/e-suite.Database.Audit/e-suite.Database.Audit.csproj b/e-suite.Database.Audit/e-suite.Database.Audit/e-suite.Database.Audit.csproj index da15b35..693dc33 100644 --- a/e-suite.Database.Audit/e-suite.Database.Audit/e-suite.Database.Audit.csproj +++ b/e-suite.Database.Audit/e-suite.Database.Audit/e-suite.Database.Audit.csproj @@ -16,7 +16,7 @@ - + diff --git a/e-suite.Database.Core/e-suite.Database.Core.UnitTests/e-suite.Database.Core.UnitTests.csproj b/e-suite.Database.Core/e-suite.Database.Core.UnitTests/e-suite.Database.Core.UnitTests.csproj index 3153db0..0c63159 100644 --- a/e-suite.Database.Core/e-suite.Database.Core.UnitTests/e-suite.Database.Core.UnitTests.csproj +++ b/e-suite.Database.Core/e-suite.Database.Core.UnitTests/e-suite.Database.Core.UnitTests.csproj @@ -8,11 +8,11 @@ - - + + - + diff --git a/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/e-suite.Database.MigrationBuilder.csproj b/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/e-suite.Database.MigrationBuilder.csproj index 73ad3d7..7da9b75 100644 --- a/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/e-suite.Database.MigrationBuilder.csproj +++ b/e-suite.Database.SqlServer/e-suite.Database.MigrationBuilder/e-suite.Database.MigrationBuilder.csproj @@ -9,7 +9,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/e-suite.Database.SqlServer/e-suite.Database.SqlServer.UnitTests/e-suite.Database.SqlServer.UnitTests.csproj b/e-suite.Database.SqlServer/e-suite.Database.SqlServer.UnitTests/e-suite.Database.SqlServer.UnitTests.csproj index 56a3c2a..d0f3a3b 100644 --- a/e-suite.Database.SqlServer/e-suite.Database.SqlServer.UnitTests/e-suite.Database.SqlServer.UnitTests.csproj +++ b/e-suite.Database.SqlServer/e-suite.Database.SqlServer.UnitTests/e-suite.Database.SqlServer.UnitTests.csproj @@ -8,9 +8,9 @@ - + - + diff --git a/e-suite.Database.SqlServer/e-suite.Database.SqlServer/Migrations/20260303204706_ActivityTables.Designer.cs b/e-suite.Database.SqlServer/e-suite.Database.SqlServer/Migrations/20260303204706_ActivityTables.Designer.cs new file mode 100644 index 0000000..27994f0 --- /dev/null +++ b/e-suite.Database.SqlServer/e-suite.Database.SqlServer/Migrations/20260303204706_ActivityTables.Designer.cs @@ -0,0 +1,2220 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using e_suite.Database.SqlServer; + +#nullable disable + +namespace esuite.Database.SqlServer.Migrations +{ + [DbContext(typeof(SqlEsuiteDatabaseDbContext))] + [Migration("20260303204706_ActivityTables")] + partial class ActivityTables + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "10.0.3") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("e_suite.Database.Audit.Tables.Audit.AuditDetail", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DateTime") + .HasColumnType("datetimeoffset"); + + b.Property("Fields") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UserDisplayName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.ToTable("AuditDetails", "Audit"); + }); + + modelBuilder.Entity("e_suite.Database.Audit.Tables.Audit.AuditDrillHierarchy", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ChildAuditDrillDownEntityId") + .HasColumnType("bigint"); + + b.Property("ParentAuditDrillDownEntityId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("ChildAuditDrillDownEntityId"); + + b.HasIndex("ParentAuditDrillDownEntityId"); + + b.ToTable("AuditDrillHierarchies", "Audit"); + }); + + modelBuilder.Entity("e_suite.Database.Audit.Tables.Audit.AuditEntry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AuditLogId") + .HasColumnType("bigint"); + + b.Property("DisplayName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("EntityName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("IsPrimary") + .HasColumnType("bit"); + + b.Property("PrimaryKey") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("AuditLogId"); + + b.ToTable("AuditEntries", "Audit"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Activity.Activity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ActivityState") + .HasColumnType("int"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("WorkflowVersionId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("Name") + .IsUnique(); + + b.HasIndex("WorkflowVersionId"); + + b.ToTable("Activities", "Activity"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Activity.ActivityTask", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ActivityId") + .HasColumnType("bigint"); + + b.Property("ActivityOrdinal") + .HasColumnType("bigint"); + + b.Property("ActivityState") + .HasColumnType("int"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("FinishDateTime") + .HasColumnType("datetimeoffset"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("ParentId") + .HasColumnType("bigint"); + + b.Property("StartDateTime") + .HasColumnType("datetimeoffset"); + + b.Property("TaskGuid") + .HasColumnType("uniqueidentifier"); + + b.Property("TaskName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("ParentId"); + + b.HasIndex("ActivityId", "ActivityOrdinal") + .IsUnique(); + + b.ToTable("ActivityTasks", "Activity"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Contacts.Contact", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("JCard") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("Id") + .IsUnique(); + + b.ToTable("Contacts", "Contacts"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.CustomFields.CustomField", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("DefaultValue") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("FieldType") + .HasColumnType("int"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("MaxEntries") + .HasColumnType("bigint"); + + b.Property("MinEntries") + .HasColumnType("bigint"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("CustomFields", "CustomFields"); + + b.HasData( + new + { + Id = 1L, + DefaultValue = "", + Deleted = false, + FieldType = 7, + Guid = new Guid("8d910089-3079-4a29-abad-8ddf82db6dbb"), + LastUpdated = new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + MaxEntries = 1L, + MinEntries = 1L, + Name = "Print Specification Form Template" + }); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.CustomFields.CustomFieldFormTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CustomFieldId") + .HasColumnType("bigint"); + + b.Property("FormTemplateId") + .HasColumnType("bigint"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.HasKey("Id"); + + b.HasIndex("CustomFieldId"); + + b.HasIndex("FormTemplateId"); + + b.ToTable("CustomFieldFormTemplates", "CustomFields"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.CustomFields.CustomFieldGlossary", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CustomFieldId") + .HasColumnType("bigint"); + + b.Property("GlossaryId") + .HasColumnType("bigint"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.HasKey("Id"); + + b.HasIndex("CustomFieldId"); + + b.HasIndex("GlossaryId"); + + b.ToTable("CustomFieldGlossaries", "CustomFields"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.CustomFields.CustomFieldNumber", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CustomFieldId") + .HasColumnType("bigint"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("MaximumValue") + .HasPrecision(28, 8) + .HasColumnType("decimal(28,8)"); + + b.Property("MinimumValue") + .HasPrecision(28, 8) + .HasColumnType("decimal(28,8)"); + + b.Property("Step") + .HasPrecision(28, 8) + .HasColumnType("decimal(28,8)"); + + b.HasKey("Id"); + + b.HasIndex("CustomFieldId"); + + b.ToTable("CustomFieldNumbers", "CustomFields"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.CustomFields.CustomFieldSequence", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CustomFieldId") + .HasColumnType("bigint"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("SequenceId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("CustomFieldId"); + + b.HasIndex("SequenceId"); + + b.ToTable("CustomFieldSequences", "CustomFields"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.CustomFields.CustomFieldText", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CustomFieldId") + .HasColumnType("bigint"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("MultiLine") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.HasIndex("CustomFieldId"); + + b.ToTable("CustomFieldTexts", "CustomFields"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Diagnostics.ExceptionLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Application") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ExceptionJson") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Message") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OccuredAt") + .HasColumnType("datetimeoffset"); + + b.Property("StackTrace") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("SupportingData") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("ExceptionLogs", "Diagnostics"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Diagnostics.PerformanceReport", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ActionName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ActionParameters") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ControllerName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Host") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RequestType") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("StartDateTime") + .HasColumnType("datetimeoffset"); + + b.Property("Timings") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("TotalTimeMS") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("PerformanceReports", "Diagnostics"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Diagnostics.PerformanceThreshold", b => + { + b.Property("ControllerName") + .HasColumnType("nvarchar(450)"); + + b.Property("ActionName") + .HasColumnType("nvarchar(450)"); + + b.Property("RequestType") + .HasColumnType("nvarchar(450)"); + + b.Property("TotalTimeMS") + .HasColumnType("int"); + + b.HasKey("ControllerName", "ActionName", "RequestType"); + + b.ToTable("PerformanceThresholds", "Diagnostics"); + + b.HasData( + new + { + ControllerName = "", + ActionName = "", + RequestType = "", + TotalTimeMS = 2000 + }); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Domain.Domain", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("SigmaId") + .HasColumnType("bigint"); + + b.Property("SsoProviderId") + .HasColumnType("bigint"); + + b.Property("SunriseAppId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("SunriseCategoryId") + .IsRequired() + .HasMaxLength(16) + .HasColumnType("nvarchar(16)"); + + b.Property("SunriseHostname") + .IsRequired() + .HasMaxLength(16) + .HasColumnType("nvarchar(16)"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("Name") + .IsUnique(); + + b.HasIndex("SsoProviderId"); + + b.ToTable("Domains", "Domain"); + + b.HasData( + new + { + Id = 1L, + Deleted = false, + Guid = new Guid("4eb1b0c7-e81b-4c9d-ba91-384ed47a1cf9"), + LastUpdated = new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + Name = "Sun-Strategy", + SunriseAppId = "", + SunriseCategoryId = "", + SunriseHostname = "" + }); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Domain.Role", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CanDelete") + .HasColumnType("bit"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DomainId") + .HasColumnType("bigint"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("IsAdministrator") + .HasColumnType("bit"); + + b.Property("IsSuperUser") + .HasColumnType("bit"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("DomainId", "Name") + .IsUnique(); + + b.ToTable("Roles", "Domain"); + + b.HasData( + new + { + Id = 1L, + CanDelete = false, + Deleted = false, + DomainId = 1L, + Guid = new Guid("32d65817-4de4-4bd5-912e-2b33054a2171"), + IsAdministrator = false, + IsSuperUser = true, + LastUpdated = new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + Name = "Super Users" + }, + new + { + Id = 2L, + CanDelete = false, + Deleted = false, + DomainId = 1L, + Guid = new Guid("2f77f57c-fe2c-4a36-ad17-5d902afc86cb"), + IsAdministrator = true, + IsSuperUser = false, + LastUpdated = new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + Name = "Administrators" + }); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Domain.RoleAccess", b => + { + b.Property("RoleId") + .HasColumnType("bigint"); + + b.Property("AccessKey") + .HasColumnType("int"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.HasKey("RoleId", "AccessKey"); + + b.ToTable("RoleAccess", "Domain"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Domain.UserAccess", b => + { + b.Property("AccessKey") + .HasColumnType("int"); + + b.Property("DomainId") + .HasColumnType("bigint"); + + b.Property("UserId") + .HasColumnType("bigint"); + + b.HasIndex("DomainId"); + + b.HasIndex("UserId"); + + b.ToTable("UserAccess", "Domain"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Domain.UserRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("RoleId") + .HasColumnType("bigint"); + + b.Property("UserId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasAlternateKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("UserRoles", "Domain"); + + b.HasData( + new + { + Id = 1L, + Deleted = false, + LastUpdated = new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + RoleId = 1L, + UserId = 1L + }); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Forms.FormFieldInstance", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CustomFieldId") + .HasColumnType("bigint"); + + b.Property("DisplayValue") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("FormInstanceId") + .HasColumnType("bigint"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Value") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("CustomFieldId"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("FormInstanceId", "CustomFieldId", "Index") + .IsUnique(); + + b.ToTable("FormFieldInstances", "Forms"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Forms.FormInstance", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("FormTemplateVersionId") + .HasColumnType("bigint"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.HasKey("Id"); + + b.HasIndex("FormTemplateVersionId"); + + b.HasIndex("Guid") + .IsUnique(); + + b.ToTable("FormInstances", "Forms"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Forms.FormTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("FormTemplates", "Forms"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Forms.FormTemplateVersion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("FormDefinition") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("TemplateId") + .HasColumnType("bigint"); + + b.Property("Version") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("TemplateId", "Version") + .IsUnique(); + + b.ToTable("FormTemplateVersions", "Forms"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Glossaries.Glossary", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("ParentId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("Name") + .IsUnique(); + + b.HasIndex("ParentId"); + + b.HasIndex("Id", "ParentId") + .IsUnique() + .HasFilter("[ParentId] IS NOT NULL"); + + b.ToTable("Glossaries", "Glossaries"); + + b.HasData( + new + { + Id = 1L, + Deleted = false, + Guid = new Guid("fa6566f8-b4b0-48c5-9985-336c9284796e"), + LastUpdated = new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + Name = "System" + }, + new + { + Id = 2L, + Deleted = false, + Guid = new Guid("90c48cf1-1a2b-4a76-b30b-260ecb149ccc"), + LastUpdated = new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + Name = "Domain" + }, + new + { + Id = 3L, + Deleted = false, + Guid = new Guid("35eb8c23-4528-49a7-a798-b8bae3b06daf"), + LastUpdated = new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + Name = "Print Specifications", + ParentId = 1L + }); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Glossaries.GlossaryCustomField", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CustomFieldId") + .HasColumnType("bigint"); + + b.Property("GlossaryId") + .HasColumnType("bigint"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.HasKey("Id"); + + b.HasAlternateKey("GlossaryId", "CustomFieldId"); + + b.HasIndex("CustomFieldId"); + + b.ToTable("GlossaryCustomFields", "Glossaries"); + + b.HasData( + new + { + Id = 1L, + CustomFieldId = 1L, + GlossaryId = 3L, + LastUpdated = new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)) + }); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Glossaries.GlossaryCustomFieldValue", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CustomFieldId") + .HasColumnType("bigint"); + + b.Property("DisplayValue") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("GlossaryId") + .HasColumnType("bigint"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("Index") + .HasColumnType("bigint"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Value") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasAlternateKey("GlossaryId", "CustomFieldId", "Index"); + + b.HasIndex("CustomFieldId"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("GlossaryId", "CustomFieldId", "Index") + .IsUnique(); + + b.ToTable("GlossaryCustomFieldValues", "Glossaries"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Mail.MailTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("DomainId") + .HasColumnType("bigint"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("MailType") + .HasColumnType("int"); + + b.Property("Subject") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("TemplateDefinition") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("DomainId", "MailType") + .IsUnique(); + + b.ToTable("MailTemplates", "Mail"); + + b.HasData( + new + { + Id = 1L, + Deleted = false, + DomainId = 1L, + Guid = new Guid("32b657af-5e17-47f3-b8dc-59580516b141"), + LastUpdated = new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + MailType = 0, + Subject = "Confirmation e-mail", + TemplateDefinition = "

Please confirm your e-mail

Welcome to . Please click on this link to confirm your e-mail address is correct." + }, + new + { + Id = 2L, + Deleted = false, + DomainId = 1L, + Guid = new Guid("77fff2b0-dd8c-43e6-a9fd-304c79850f81"), + LastUpdated = new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + MailType = 2, + Subject = "Password reset", + TemplateDefinition = "

Please follow the link to reset your password


Reset Password" + }, + new + { + Id = 3L, + Deleted = false, + DomainId = 1L, + Guid = new Guid("2e2d84a5-be1c-4e3b-a86a-bdafed42801b"), + LastUpdated = new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + MailType = 1, + Subject = "Disable two factor authentication", + TemplateDefinition = "

Please follow the link to reset two factor authentication


Disable two factor authentication" + }, + new + { + Id = 4L, + Deleted = false, + DomainId = 1L, + Guid = new Guid("421b67c7-5f4b-4cad-adc5-528e2921790c"), + LastUpdated = new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + MailType = 3, + Subject = "Password successfully reset", + TemplateDefinition = "

Your password has been reset. Please contact your admin if this wasn't you.

" + }); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Miscellaneous.ExternalKey", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("EntityName") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("ExternalId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("ExternalSystemId") + .HasColumnType("bigint"); + + b.Property("PrimaryKey") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("EntityName", "PrimaryKey") + .IsUnique(); + + b.HasIndex("ExternalSystemId", "ExternalId") + .IsUnique(); + + b.ToTable("ExternalKeys", "Miscellaneous"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Miscellaneous.ExternalSystem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("SystemName") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("Id"); + + b.HasIndex("SystemName") + .IsUnique(); + + b.ToTable("ExternalSystems", "Miscellaneous"); + + b.HasData( + new + { + Id = 1L, + SystemName = "e-flow" + }); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Printer.Organisation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Address") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("Status") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("Id") + .IsUnique(); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("Organisations", "Printer"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Printer.OrganisationContact", b => + { + b.Property("OrganisationId") + .HasColumnType("bigint"); + + b.Property("ContactId") + .HasColumnType("bigint"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Primary") + .HasColumnType("bit"); + + b.HasKey("OrganisationId", "ContactId"); + + b.HasIndex("ContactId"); + + b.ToTable("OrganisationContacts", "Printer"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Printer.Site", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Address") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrganisationId") + .HasColumnType("bigint"); + + b.Property("SigmaId") + .HasColumnType("bigint"); + + b.Property("Status") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("OrganisationId"); + + b.HasIndex("SigmaId") + .IsUnique() + .HasFilter("[SigmaId] IS NOT NULL"); + + b.ToTable("Sites", "Printer"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Printer.SiteContact", b => + { + b.Property("SiteId") + .HasColumnType("bigint"); + + b.Property("ContactId") + .HasColumnType("bigint"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Primary") + .HasColumnType("bit"); + + b.HasKey("SiteId", "ContactId"); + + b.HasIndex("ContactId"); + + b.ToTable("SiteContacts", "Printer"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Printer.Specification", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("FormInstanceId") + .HasColumnType("bigint"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("SigmaId") + .HasColumnType("bigint"); + + b.Property("SiteId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("Id") + .IsUnique(); + + b.HasIndex("SigmaId") + .IsUnique() + .HasFilter("[SigmaId] IS NOT NULL"); + + b.HasIndex("SiteId"); + + b.ToTable("Specifications", "Printer"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Sentinel.FailedAccessAttempt", b => + { + b.Property("IPAddress") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AttemptedTime") + .HasColumnType("datetimeoffset"); + + b.HasKey("IPAddress", "AttemptedTime"); + + b.ToTable("FailedAccessAttempts", "Sentinel"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Sequences.Sequence", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("Increment") + .HasColumnType("bigint"); + + b.Property("LastIssueDate") + .HasColumnType("datetimeoffset"); + + b.Property("LastIssueValue") + .HasColumnType("bigint"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("Pattern") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Rollover") + .HasColumnType("int"); + + b.Property("Seed") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("Sequences", "Sequences"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.UserManager.EmailUserAction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("EmailActionType") + .HasColumnType("int"); + + b.Property("Expires") + .HasColumnType("datetimeoffset"); + + b.Property("Token") + .HasColumnType("uniqueidentifier"); + + b.Property("UserId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasAlternateKey("Token", "EmailActionType"); + + b.HasIndex("UserId"); + + b.ToTable("EmailUserActions", "UserManager"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.UserManager.SingleUseGuid", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Expires") + .HasColumnType("datetimeoffset"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("UserId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("UserId"); + + b.ToTable("SingleUseGuids", "UserManager"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.UserManager.SsoProvider", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AuthorizationEndpoint") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ClientId") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ClientSecret") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("IsPublic") + .HasColumnType("bit"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("TokenEndpoint") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ValidIssuer") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("SsoProviders", "UserManager"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.UserManager.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Active") + .HasColumnType("bit"); + + b.Property("Created") + .HasColumnType("datetimeoffset"); + + b.Property("DomainId") + .HasColumnType("bigint"); + + b.Property("Email") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("EmailConfirmed") + .HasColumnType("bit"); + + b.Property("FirstName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("MiddleNames") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("PreferredLocale") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("SsoProviderId") + .HasColumnType("bigint"); + + b.Property("SsoSubject") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("TwoFactorAuthenticationKey") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UsingTwoFactorAuthentication") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.HasIndex("DomainId"); + + b.HasIndex("Email") + .IsUnique(); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("SsoProviderId"); + + b.ToTable("Users", "UserManager"); + + b.HasData( + new + { + Id = 1L, + Active = true, + Created = new DateTimeOffset(new DateTime(2022, 6, 9, 12, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + DomainId = 1L, + Email = "testuser1@sun-strategy.com", + EmailConfirmed = true, + FirstName = "Test1", + Guid = new Guid("30cfcd5b-3385-43f1-b59a-fd35236f3d92"), + LastName = "User", + LastUpdated = new DateTimeOffset(new DateTime(2022, 6, 9, 12, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0)), + MiddleNames = "", + Password = "AgAAAAIAACcQAAAAAAAAABDGmF9Hre4l8k9lkZAxBRJk0zNHD2b6xfKz4C7h6UjuirkoyoP2fVR6d9b7riT03UnL5yAgFh2pSSVQDx+nQ5PBjZRB9UG4u5FrY8W7ouA/+w==", + PreferredLocale = "en-GB", + SsoSubject = "", + TwoFactorAuthenticationKey = "4EHHG42OWCN3L72TSRYSHTV6MRJXVOY3", + UsingTwoFactorAuthentication = false + }); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Workflow.Workflow", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("Workflows", "Workflow"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Workflow.WorkflowVersion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ActivityNameTemplate") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Description") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DomainId") + .HasColumnType("bigint"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Tasks") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Version") + .HasColumnType("bigint"); + + b.Property("WorkflowId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("DomainId"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("WorkflowId", "Version") + .IsUnique(); + + b.ToTable("WorkflowVersions", "Workflow"); + }); + + modelBuilder.Entity("e_suite.Database.Audit.Tables.Audit.AuditDrillHierarchy", b => + { + b.HasOne("e_suite.Database.Audit.Tables.Audit.AuditEntry", "ChildAuditDrillDownEntity") + .WithMany() + .HasForeignKey("ChildAuditDrillDownEntityId") + .OnDelete(DeleteBehavior.NoAction) + .IsRequired(); + + b.HasOne("e_suite.Database.Audit.Tables.Audit.AuditEntry", "ParentAuditDrillDownEntity") + .WithMany() + .HasForeignKey("ParentAuditDrillDownEntityId") + .OnDelete(DeleteBehavior.NoAction) + .IsRequired(); + + b.Navigation("ChildAuditDrillDownEntity"); + + b.Navigation("ParentAuditDrillDownEntity"); + }); + + modelBuilder.Entity("e_suite.Database.Audit.Tables.Audit.AuditEntry", b => + { + b.HasOne("e_suite.Database.Audit.Tables.Audit.AuditDetail", "AuditLog") + .WithMany() + .HasForeignKey("AuditLogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("AuditLog"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Activity.Activity", b => + { + b.HasOne("e_suite.Database.Core.Tables.Workflow.WorkflowVersion", "WorkflowVersion") + .WithMany() + .HasForeignKey("WorkflowVersionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkflowVersion"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Activity.ActivityTask", b => + { + b.HasOne("e_suite.Database.Core.Tables.Activity.Activity", "Activity") + .WithMany("Tasks") + .HasForeignKey("ActivityId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.Activity.ActivityTask", "ParentTask") + .WithMany("Tasks") + .HasForeignKey("ParentId"); + + b.Navigation("Activity"); + + b.Navigation("ParentTask"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.CustomFields.CustomFieldFormTemplate", b => + { + b.HasOne("e_suite.Database.Core.Tables.CustomFields.CustomField", "CustomField") + .WithMany() + .HasForeignKey("CustomFieldId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.Forms.FormTemplate", "FormTemplate") + .WithMany() + .HasForeignKey("FormTemplateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CustomField"); + + b.Navigation("FormTemplate"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.CustomFields.CustomFieldGlossary", b => + { + b.HasOne("e_suite.Database.Core.Tables.CustomFields.CustomField", "CustomField") + .WithMany() + .HasForeignKey("CustomFieldId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.Glossaries.Glossary", "Glossary") + .WithMany() + .HasForeignKey("GlossaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CustomField"); + + b.Navigation("Glossary"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.CustomFields.CustomFieldNumber", b => + { + b.HasOne("e_suite.Database.Core.Tables.CustomFields.CustomField", "CustomField") + .WithMany() + .HasForeignKey("CustomFieldId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CustomField"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.CustomFields.CustomFieldSequence", b => + { + b.HasOne("e_suite.Database.Core.Tables.CustomFields.CustomField", "CustomField") + .WithMany() + .HasForeignKey("CustomFieldId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.Sequences.Sequence", "Sequence") + .WithMany() + .HasForeignKey("SequenceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CustomField"); + + b.Navigation("Sequence"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.CustomFields.CustomFieldText", b => + { + b.HasOne("e_suite.Database.Core.Tables.CustomFields.CustomField", "CustomField") + .WithMany() + .HasForeignKey("CustomFieldId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CustomField"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Domain.Domain", b => + { + b.HasOne("e_suite.Database.Core.Tables.UserManager.SsoProvider", "SsoProvider") + .WithMany() + .HasForeignKey("SsoProviderId"); + + b.Navigation("SsoProvider"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Domain.Role", b => + { + b.HasOne("e_suite.Database.Core.Tables.Domain.Domain", "Domain") + .WithMany() + .HasForeignKey("DomainId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Domain"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Domain.RoleAccess", b => + { + b.HasOne("e_suite.Database.Core.Tables.Domain.Role", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Domain.UserAccess", b => + { + b.HasOne("e_suite.Database.Core.Tables.Domain.Domain", "Domain") + .WithMany() + .HasForeignKey("DomainId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.UserManager.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Domain"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Domain.UserRole", b => + { + b.HasOne("e_suite.Database.Core.Tables.Domain.Role", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.UserManager.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Forms.FormFieldInstance", b => + { + b.HasOne("e_suite.Database.Core.Tables.CustomFields.CustomField", "CustomField") + .WithMany() + .HasForeignKey("CustomFieldId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.Forms.FormInstance", "FormInstance") + .WithMany("FormFields") + .HasForeignKey("FormInstanceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CustomField"); + + b.Navigation("FormInstance"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Forms.FormInstance", b => + { + b.HasOne("e_suite.Database.Core.Tables.Forms.FormTemplateVersion", "FormTemplateVersion") + .WithMany() + .HasForeignKey("FormTemplateVersionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FormTemplateVersion"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Forms.FormTemplateVersion", b => + { + b.HasOne("e_suite.Database.Core.Tables.Forms.FormTemplate", "Template") + .WithMany("Versions") + .HasForeignKey("TemplateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Template"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Glossaries.Glossary", b => + { + b.HasOne("e_suite.Database.Core.Tables.Glossaries.Glossary", "Parent") + .WithMany() + .HasForeignKey("ParentId"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Glossaries.GlossaryCustomField", b => + { + b.HasOne("e_suite.Database.Core.Tables.CustomFields.CustomField", "CustomField") + .WithMany() + .HasForeignKey("CustomFieldId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.Glossaries.Glossary", "Glossary") + .WithMany("CustomFieldDefinitions") + .HasForeignKey("GlossaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CustomField"); + + b.Navigation("Glossary"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Glossaries.GlossaryCustomFieldValue", b => + { + b.HasOne("e_suite.Database.Core.Tables.CustomFields.CustomField", "CustomField") + .WithMany() + .HasForeignKey("CustomFieldId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.Glossaries.Glossary", "Glossary") + .WithMany("CustomFieldValues") + .HasForeignKey("GlossaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CustomField"); + + b.Navigation("Glossary"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Mail.MailTemplate", b => + { + b.HasOne("e_suite.Database.Core.Tables.Domain.Domain", "Domain") + .WithMany() + .HasForeignKey("DomainId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Domain"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Miscellaneous.ExternalKey", b => + { + b.HasOne("e_suite.Database.Core.Tables.Miscellaneous.ExternalSystem", "ExternalSystem") + .WithMany() + .HasForeignKey("ExternalSystemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ExternalSystem"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Printer.OrganisationContact", b => + { + b.HasOne("e_suite.Database.Core.Tables.Contacts.Contact", "Contact") + .WithMany() + .HasForeignKey("ContactId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.Printer.Organisation", "Organisation") + .WithMany() + .HasForeignKey("OrganisationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Contact"); + + b.Navigation("Organisation"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Printer.Site", b => + { + b.HasOne("e_suite.Database.Core.Tables.Printer.Organisation", "Organisation") + .WithMany("Sites") + .HasForeignKey("OrganisationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Organisation"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Printer.SiteContact", b => + { + b.HasOne("e_suite.Database.Core.Tables.Contacts.Contact", "Contact") + .WithMany() + .HasForeignKey("ContactId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.Printer.Site", "Site") + .WithMany() + .HasForeignKey("SiteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Contact"); + + b.Navigation("Site"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Printer.Specification", b => + { + b.HasOne("e_suite.Database.Core.Tables.Printer.Site", "Site") + .WithMany("Specifications") + .HasForeignKey("SiteId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Site"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.UserManager.EmailUserAction", b => + { + b.HasOne("e_suite.Database.Core.Tables.UserManager.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.UserManager.SingleUseGuid", b => + { + b.HasOne("e_suite.Database.Core.Tables.UserManager.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.UserManager.User", b => + { + b.HasOne("e_suite.Database.Core.Tables.Domain.Domain", "Domain") + .WithMany() + .HasForeignKey("DomainId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.UserManager.SsoProvider", "SsoProvider") + .WithMany() + .HasForeignKey("SsoProviderId"); + + b.Navigation("Domain"); + + b.Navigation("SsoProvider"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Workflow.WorkflowVersion", b => + { + b.HasOne("e_suite.Database.Core.Tables.Domain.Domain", "Domain") + .WithMany() + .HasForeignKey("DomainId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.Workflow.Workflow", "Workflow") + .WithMany("Versions") + .HasForeignKey("WorkflowId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Domain"); + + b.Navigation("Workflow"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Activity.Activity", b => + { + b.Navigation("Tasks"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Activity.ActivityTask", b => + { + b.Navigation("Tasks"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Forms.FormInstance", b => + { + b.Navigation("FormFields"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Forms.FormTemplate", b => + { + b.Navigation("Versions"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Glossaries.Glossary", b => + { + b.Navigation("CustomFieldDefinitions"); + + b.Navigation("CustomFieldValues"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Printer.Organisation", b => + { + b.Navigation("Sites"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Printer.Site", b => + { + b.Navigation("Specifications"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Workflow.Workflow", b => + { + b.Navigation("Versions"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/e-suite.Database.SqlServer/e-suite.Database.SqlServer/Migrations/20260303204706_ActivityTables.cs b/e-suite.Database.SqlServer/e-suite.Database.SqlServer/Migrations/20260303204706_ActivityTables.cs new file mode 100644 index 0000000..dca2a27 --- /dev/null +++ b/e-suite.Database.SqlServer/e-suite.Database.SqlServer/Migrations/20260303204706_ActivityTables.cs @@ -0,0 +1,133 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace esuite.Database.SqlServer.Migrations +{ + /// + public partial class ActivityTables : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.EnsureSchema( + name: "Activity"); + + migrationBuilder.CreateTable( + name: "Activities", + schema: "Activity", + columns: table => new + { + Id = table.Column(type: "bigint", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Guid = table.Column(type: "uniqueidentifier", nullable: false), + Name = table.Column(type: "nvarchar(450)", nullable: false), + WorkflowVersionId = table.Column(type: "bigint", nullable: false), + ActivityState = table.Column(type: "int", nullable: false), + Deleted = table.Column(type: "bit", nullable: false), + LastUpdated = table.Column(type: "datetimeoffset", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Activities", x => x.Id); + table.ForeignKey( + name: "FK_Activities_WorkflowVersions_WorkflowVersionId", + column: x => x.WorkflowVersionId, + principalSchema: "Workflow", + principalTable: "WorkflowVersions", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "ActivityTasks", + schema: "Activity", + columns: table => new + { + Id = table.Column(type: "bigint", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Guid = table.Column(type: "uniqueidentifier", nullable: false), + ParentId = table.Column(type: "bigint", nullable: true), + ActivityId = table.Column(type: "bigint", nullable: false), + ActivityOrdinal = table.Column(type: "bigint", nullable: false), + TaskGuid = table.Column(type: "uniqueidentifier", nullable: false), + TaskName = table.Column(type: "nvarchar(max)", nullable: false), + ActivityState = table.Column(type: "int", nullable: false), + StartDateTime = table.Column(type: "datetimeoffset", nullable: true), + FinishDateTime = table.Column(type: "datetimeoffset", nullable: true), + Deleted = table.Column(type: "bit", nullable: false), + LastUpdated = table.Column(type: "datetimeoffset", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_ActivityTasks", x => x.Id); + table.ForeignKey( + name: "FK_ActivityTasks_Activities_ActivityId", + column: x => x.ActivityId, + principalSchema: "Activity", + principalTable: "Activities", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_ActivityTasks_ActivityTasks_ParentId", + column: x => x.ParentId, + principalSchema: "Activity", + principalTable: "ActivityTasks", + principalColumn: "Id"); + }); + + migrationBuilder.CreateIndex( + name: "IX_Activities_Guid", + schema: "Activity", + table: "Activities", + column: "Guid", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_Activities_Name", + schema: "Activity", + table: "Activities", + column: "Name", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_Activities_WorkflowVersionId", + schema: "Activity", + table: "Activities", + column: "WorkflowVersionId"); + + migrationBuilder.CreateIndex( + name: "IX_ActivityTasks_ActivityId_ActivityOrdinal", + schema: "Activity", + table: "ActivityTasks", + columns: new[] { "ActivityId", "ActivityOrdinal" }, + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_ActivityTasks_Guid", + schema: "Activity", + table: "ActivityTasks", + column: "Guid", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_ActivityTasks_ParentId", + schema: "Activity", + table: "ActivityTasks", + column: "ParentId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "ActivityTasks", + schema: "Activity"); + + migrationBuilder.DropTable( + name: "Activities", + schema: "Activity"); + } + } +} diff --git a/e-suite.Database.SqlServer/e-suite.Database.SqlServer/Migrations/SqlEsuiteDatabaseDbContextModelSnapshot.cs b/e-suite.Database.SqlServer/e-suite.Database.SqlServer/Migrations/SqlEsuiteDatabaseDbContextModelSnapshot.cs index 146bcd8..5e76deb 100644 --- a/e-suite.Database.SqlServer/e-suite.Database.SqlServer/Migrations/SqlEsuiteDatabaseDbContextModelSnapshot.cs +++ b/e-suite.Database.SqlServer/e-suite.Database.SqlServer/Migrations/SqlEsuiteDatabaseDbContextModelSnapshot.cs @@ -17,7 +17,7 @@ namespace esuite.Database.SqlServer.Migrations { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "10.0.2") + .HasAnnotation("ProductVersion", "10.0.3") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -114,6 +114,101 @@ namespace esuite.Database.SqlServer.Migrations b.ToTable("AuditEntries", "Audit"); }); + modelBuilder.Entity("e_suite.Database.Core.Tables.Activity.Activity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ActivityState") + .HasColumnType("int"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.Property("WorkflowVersionId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("Name") + .IsUnique(); + + b.HasIndex("WorkflowVersionId"); + + b.ToTable("Activities", "Activity"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Activity.ActivityTask", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ActivityId") + .HasColumnType("bigint"); + + b.Property("ActivityOrdinal") + .HasColumnType("bigint"); + + b.Property("ActivityState") + .HasColumnType("int"); + + b.Property("Deleted") + .HasColumnType("bit"); + + b.Property("FinishDateTime") + .HasColumnType("datetimeoffset"); + + b.Property("Guid") + .HasColumnType("uniqueidentifier"); + + b.Property("LastUpdated") + .HasColumnType("datetimeoffset"); + + b.Property("ParentId") + .HasColumnType("bigint"); + + b.Property("StartDateTime") + .HasColumnType("datetimeoffset"); + + b.Property("TaskGuid") + .HasColumnType("uniqueidentifier"); + + b.Property("TaskName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("Guid") + .IsUnique(); + + b.HasIndex("ParentId"); + + b.HasIndex("ActivityId", "ActivityOrdinal") + .IsUnique(); + + b.ToTable("ActivityTasks", "Activity"); + }); + modelBuilder.Entity("e_suite.Database.Core.Tables.Contacts.Contact", b => { b.Property("Id") @@ -1671,6 +1766,34 @@ namespace esuite.Database.SqlServer.Migrations b.Navigation("AuditLog"); }); + modelBuilder.Entity("e_suite.Database.Core.Tables.Activity.Activity", b => + { + b.HasOne("e_suite.Database.Core.Tables.Workflow.WorkflowVersion", "WorkflowVersion") + .WithMany() + .HasForeignKey("WorkflowVersionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkflowVersion"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Activity.ActivityTask", b => + { + b.HasOne("e_suite.Database.Core.Tables.Activity.Activity", "Activity") + .WithMany("Tasks") + .HasForeignKey("ActivityId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("e_suite.Database.Core.Tables.Activity.ActivityTask", "ParentTask") + .WithMany("Tasks") + .HasForeignKey("ParentId"); + + b.Navigation("Activity"); + + b.Navigation("ParentTask"); + }); + modelBuilder.Entity("e_suite.Database.Core.Tables.CustomFields.CustomFieldFormTemplate", b => { b.HasOne("e_suite.Database.Core.Tables.CustomFields.CustomField", "CustomField") @@ -2037,7 +2160,7 @@ namespace esuite.Database.SqlServer.Migrations .IsRequired(); b.HasOne("e_suite.Database.Core.Tables.Workflow.Workflow", "Workflow") - .WithMany() + .WithMany("Versions") .HasForeignKey("WorkflowId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); @@ -2047,6 +2170,16 @@ namespace esuite.Database.SqlServer.Migrations b.Navigation("Workflow"); }); + modelBuilder.Entity("e_suite.Database.Core.Tables.Activity.Activity", b => + { + b.Navigation("Tasks"); + }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Activity.ActivityTask", b => + { + b.Navigation("Tasks"); + }); + modelBuilder.Entity("e_suite.Database.Core.Tables.Forms.FormInstance", b => { b.Navigation("FormFields"); @@ -2073,6 +2206,11 @@ namespace esuite.Database.SqlServer.Migrations { b.Navigation("Specifications"); }); + + modelBuilder.Entity("e_suite.Database.Core.Tables.Workflow.Workflow", b => + { + b.Navigation("Versions"); + }); #pragma warning restore 612, 618 } } diff --git a/e-suite.Database.SqlServer/e-suite.Database.SqlServer/e-suite.Database.SqlServer.csproj b/e-suite.Database.SqlServer/e-suite.Database.SqlServer/e-suite.Database.SqlServer.csproj index c71f8a6..533832e 100644 --- a/e-suite.Database.SqlServer/e-suite.Database.SqlServer/e-suite.Database.SqlServer.csproj +++ b/e-suite.Database.SqlServer/e-suite.Database.SqlServer/e-suite.Database.SqlServer.csproj @@ -13,8 +13,8 @@ - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/e-suite.DependencyInjection.UnitTests/e-suite.DependencyInjection.UnitTests.csproj b/e-suite.DependencyInjection.UnitTests/e-suite.DependencyInjection.UnitTests.csproj index 97f3659..26f5643 100644 --- a/e-suite.DependencyInjection.UnitTests/e-suite.DependencyInjection.UnitTests.csproj +++ b/e-suite.DependencyInjection.UnitTests/e-suite.DependencyInjection.UnitTests.csproj @@ -8,9 +8,9 @@ - + - + diff --git a/e-suite.DependencyInjection/e-suite.DependencyInjection.csproj b/e-suite.DependencyInjection/e-suite.DependencyInjection.csproj index 6bd3f32..5fa372e 100644 --- a/e-suite.DependencyInjection/e-suite.DependencyInjection.csproj +++ b/e-suite.DependencyInjection/e-suite.DependencyInjection.csproj @@ -16,7 +16,7 @@ - - + + diff --git a/e-suite.Manager.BlockedIPs/e-suite.Modules.BlockedIPsManager.UnitTests/e-suite.Modules.BlockedIPsManager.UnitTests.csproj b/e-suite.Manager.BlockedIPs/e-suite.Modules.BlockedIPsManager.UnitTests/e-suite.Modules.BlockedIPsManager.UnitTests.csproj index 43e45d9..31cb8c7 100644 --- a/e-suite.Manager.BlockedIPs/e-suite.Modules.BlockedIPsManager.UnitTests/e-suite.Modules.BlockedIPsManager.UnitTests.csproj +++ b/e-suite.Manager.BlockedIPs/e-suite.Modules.BlockedIPsManager.UnitTests/e-suite.Modules.BlockedIPsManager.UnitTests.csproj @@ -10,15 +10,15 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/e-suite.MessageProcessor/e-suite.MessageProcessor.UnitTests/e-suite.MessageProcessor.UnitTests.csproj b/e-suite.MessageProcessor/e-suite.MessageProcessor.UnitTests/e-suite.MessageProcessor.UnitTests.csproj index 30e2766..5612c31 100644 --- a/e-suite.MessageProcessor/e-suite.MessageProcessor.UnitTests/e-suite.MessageProcessor.UnitTests.csproj +++ b/e-suite.MessageProcessor/e-suite.MessageProcessor.UnitTests/e-suite.MessageProcessor.UnitTests.csproj @@ -8,9 +8,9 @@ - + - + diff --git a/e-suite.MessageProcessor/e-suite.MessageProcessor/Handlers/ActivityQueueHandler.cs b/e-suite.MessageProcessor/e-suite.MessageProcessor/Handlers/ActivityQueueHandler.cs new file mode 100644 index 0000000..76f40b4 --- /dev/null +++ b/e-suite.MessageProcessor/e-suite.MessageProcessor/Handlers/ActivityQueueHandler.cs @@ -0,0 +1,36 @@ +using e_suite.Messaging.Common.models; +using eSuite.Core.Clock; +using Microsoft.Extensions.Logging; +using RabbitMQ.Client.Events; + +namespace e_suite.MessageProcessor.Handlers; + +public class ActivityQueueHandler : QueueHandlerBase +{ + private readonly ILogger _logger; + private readonly IClock _clock; + + public ActivityQueueHandler(ILogger logger, IClock clock) + { + _logger = logger; + _clock = clock; + } + + public override async Task OnReceived(string queueName, BasicDeliverEventArgs basicDeliverEventArgs) + { + var activityMessage = await TranslateMessage(basicDeliverEventArgs); + _logger.LogInformation("{DateTime}: {MessageType} message received.", _clock.GetNow, activityMessage.MessageType); + switch (activityMessage.MessageType) + { + case ActivityMessageTypes.ProgressActivity: + var progressActivityMessage = await TranslateMessage(basicDeliverEventArgs); + _logger.LogInformation("{DateTime}: Progressing Activity {messageId}", _clock.GetNow, progressActivityMessage.ActivityId); + break; + default: +#pragma warning disable CA2208 // Instantiate argument exceptions correctly + throw new ArgumentOutOfRangeException(nameof(activityMessage.MessageType), activityMessage.MessageType, "Unexpected message type"); +#pragma warning restore CA2208 // Instantiate argument exceptions correctly + } + _logger.LogInformation("{DateTime}: {MessageType} message processing finished.", _clock.GetNow, activityMessage.MessageType); + } +} \ No newline at end of file diff --git a/e-suite.MessageProcessor/e-suite.MessageProcessor/Handlers/DatabaseQueueHandler.cs b/e-suite.MessageProcessor/e-suite.MessageProcessor/Handlers/DatabaseQueueHandler.cs index 4dd3e30..71fb747 100644 --- a/e-suite.MessageProcessor/e-suite.MessageProcessor/Handlers/DatabaseQueueHandler.cs +++ b/e-suite.MessageProcessor/e-suite.MessageProcessor/Handlers/DatabaseQueueHandler.cs @@ -1,9 +1,9 @@ using e_suite.API.Common; -using RabbitMQ.Client.Events; using e_suite.Messaging.Common.models; using e_suite.Service.Sentinel; using eSuite.Core.Clock; using Microsoft.Extensions.Logging; +using RabbitMQ.Client.Events; namespace e_suite.MessageProcessor.Handlers; diff --git a/e-suite.MessageProcessor/e-suite.MessageProcessor/QueueProcessor/QueueProcessor.cs b/e-suite.MessageProcessor/e-suite.MessageProcessor/QueueProcessor/QueueProcessor.cs index fc09326..482f213 100644 --- a/e-suite.MessageProcessor/e-suite.MessageProcessor/QueueProcessor/QueueProcessor.cs +++ b/e-suite.MessageProcessor/e-suite.MessageProcessor/QueueProcessor/QueueProcessor.cs @@ -48,6 +48,7 @@ public class QueueProcessorService : IHostedService Channels.Add(await ListenForMessagesOnQueue(_connection, MessageQueueNames.Database)); Channels.Add(await ListenForMessagesOnQueue(_connection, MessageQueueNames.SigmaImport)); Channels.Add(await ListenForMessagesOnQueue(_connection, MessageQueueNames.EFlowSync)); + Channels.Add(await ListenForMessagesOnQueue(_connection, MessageQueueNames.Activity)); } public Task StopAsync(CancellationToken cancellationToken) diff --git a/e-suite.Messaging.Common/e-suite.Messaging.Common.UnitTests/e-suite.Messaging.Common.UnitTests.csproj b/e-suite.Messaging.Common/e-suite.Messaging.Common.UnitTests/e-suite.Messaging.Common.UnitTests.csproj index fad2d1a..5bc571c 100644 --- a/e-suite.Messaging.Common/e-suite.Messaging.Common.UnitTests/e-suite.Messaging.Common.UnitTests.csproj +++ b/e-suite.Messaging.Common/e-suite.Messaging.Common.UnitTests/e-suite.Messaging.Common.UnitTests.csproj @@ -8,9 +8,9 @@ - + - + diff --git a/e-suite.Messaging.Common/e-suite.Messaging.Common/MessageQueueNames.cs b/e-suite.Messaging.Common/e-suite.Messaging.Common/MessageQueueNames.cs index 3a33343..831cce5 100644 --- a/e-suite.Messaging.Common/e-suite.Messaging.Common/MessageQueueNames.cs +++ b/e-suite.Messaging.Common/e-suite.Messaging.Common/MessageQueueNames.cs @@ -5,4 +5,5 @@ public static class MessageQueueNames public const string Database = "database"; public const string SigmaImport = "sigmaImport"; public const string EFlowSync = "EFlowSync"; + public const string Activity = "Activity"; } \ No newline at end of file diff --git a/e-suite.Messaging.Common/e-suite.Messaging.Common/e-suite.Messaging.Common.csproj b/e-suite.Messaging.Common/e-suite.Messaging.Common/e-suite.Messaging.Common.csproj index 11b252d..0d23ff5 100644 --- a/e-suite.Messaging.Common/e-suite.Messaging.Common/e-suite.Messaging.Common.csproj +++ b/e-suite.Messaging.Common/e-suite.Messaging.Common/e-suite.Messaging.Common.csproj @@ -8,8 +8,8 @@ - - + + diff --git a/e-suite.Messaging.Common/e-suite.Messaging.Common/models/ActivityMessage.cs b/e-suite.Messaging.Common/e-suite.Messaging.Common/models/ActivityMessage.cs new file mode 100644 index 0000000..a789c85 --- /dev/null +++ b/e-suite.Messaging.Common/e-suite.Messaging.Common/models/ActivityMessage.cs @@ -0,0 +1,13 @@ +using eSuite.Core.Miscellaneous; + +namespace e_suite.Messaging.Common.models; + +public class ActivityMessage +{ + public ActivityMessageTypes MessageType { get; set; } +} + +public class ProgressActivityMessage : ActivityMessage +{ + public GeneralIdRef ActivityId { get; set; } +} \ No newline at end of file diff --git a/e-suite.Messaging.Common/e-suite.Messaging.Common/models/ActivityMessageTypes.cs b/e-suite.Messaging.Common/e-suite.Messaging.Common/models/ActivityMessageTypes.cs new file mode 100644 index 0000000..6539db7 --- /dev/null +++ b/e-suite.Messaging.Common/e-suite.Messaging.Common/models/ActivityMessageTypes.cs @@ -0,0 +1,6 @@ +namespace e_suite.Messaging.Common.models; + +public enum ActivityMessageTypes +{ + ProgressActivity = 1 +} \ No newline at end of file diff --git a/e-suite.Modules.AuditLog/AuditLog.UnitTests/AuditLog.UnitTests.csproj b/e-suite.Modules.AuditLog/AuditLog.UnitTests/AuditLog.UnitTests.csproj index ab7467e..1ddf795 100644 --- a/e-suite.Modules.AuditLog/AuditLog.UnitTests/AuditLog.UnitTests.csproj +++ b/e-suite.Modules.AuditLog/AuditLog.UnitTests/AuditLog.UnitTests.csproj @@ -7,9 +7,9 @@ - + - + diff --git a/e-suite.Modules.CustomFieldsManager/e_suite.Modules.CusomFieldManagerUnitTest/e_suite.Modules.CustomFieldManagerUnitTests.csproj b/e-suite.Modules.CustomFieldsManager/e_suite.Modules.CusomFieldManagerUnitTest/e_suite.Modules.CustomFieldManagerUnitTests.csproj index fe08265..10fadb4 100644 --- a/e-suite.Modules.CustomFieldsManager/e_suite.Modules.CusomFieldManagerUnitTest/e_suite.Modules.CustomFieldManagerUnitTests.csproj +++ b/e-suite.Modules.CustomFieldsManager/e_suite.Modules.CusomFieldManagerUnitTest/e_suite.Modules.CustomFieldManagerUnitTests.csproj @@ -9,16 +9,16 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/e-suite.Modules.DomainManager/e-suite.Modules.DomainManager.UnitTests/e-suite.Modules.DomainManager.UnitTests.csproj b/e-suite.Modules.DomainManager/e-suite.Modules.DomainManager.UnitTests/e-suite.Modules.DomainManager.UnitTests.csproj index 7d2b6fd..d7f2f66 100644 --- a/e-suite.Modules.DomainManager/e-suite.Modules.DomainManager.UnitTests/e-suite.Modules.DomainManager.UnitTests.csproj +++ b/e-suite.Modules.DomainManager/e-suite.Modules.DomainManager.UnitTests/e-suite.Modules.DomainManager.UnitTests.csproj @@ -8,10 +8,10 @@ - + - + diff --git a/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager.UnitTests/e-suite.Modules.ExceptionLogManager.UnitTests.csproj b/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager.UnitTests/e-suite.Modules.ExceptionLogManager.UnitTests.csproj index c16cca9..c977ca7 100644 --- a/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager.UnitTests/e-suite.Modules.ExceptionLogManager.UnitTests.csproj +++ b/e-suite.Modules.ExceptionLogManager/e-suite.Modules.ExceptionLogManager.UnitTests/e-suite.Modules.ExceptionLogManager.UnitTests.csproj @@ -10,15 +10,15 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/e-suite.Modules.FormsManager/e_suite.Modules.Form.ManagerUnitTest/e_suite.Modules.FormsManagerUnitTests.csproj b/e-suite.Modules.FormsManager/e_suite.Modules.Form.ManagerUnitTest/e_suite.Modules.FormsManagerUnitTests.csproj index 62dd8ef..591b3e1 100644 --- a/e-suite.Modules.FormsManager/e_suite.Modules.Form.ManagerUnitTest/e_suite.Modules.FormsManagerUnitTests.csproj +++ b/e-suite.Modules.FormsManager/e_suite.Modules.Form.ManagerUnitTest/e_suite.Modules.FormsManagerUnitTests.csproj @@ -9,15 +9,15 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/e-suite.Modules.GlossariesManager/GlossariesManager.UnitTests/GlossariesManager.UnitTests.csproj b/e-suite.Modules.GlossariesManager/GlossariesManager.UnitTests/GlossariesManager.UnitTests.csproj index b8f1933..7aa5328 100644 --- a/e-suite.Modules.GlossariesManager/GlossariesManager.UnitTests/GlossariesManager.UnitTests.csproj +++ b/e-suite.Modules.GlossariesManager/GlossariesManager.UnitTests/GlossariesManager.UnitTests.csproj @@ -7,10 +7,10 @@ - + - + diff --git a/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager.csproj b/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager.csproj index 1a408b2..ae7f01f 100644 --- a/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager.csproj +++ b/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager/e-suite.Modules.GlossariesManager.csproj @@ -8,7 +8,7 @@ - + diff --git a/e-suite.Modules.MailTemplatesManager/e-suite.Modules.MailTemplatesManager.UnitTests/e-suite.Modules.MailTemplatesManager.UnitTests.csproj b/e-suite.Modules.MailTemplatesManager/e-suite.Modules.MailTemplatesManager.UnitTests/e-suite.Modules.MailTemplatesManager.UnitTests.csproj index 287f2e9..26b80b4 100644 --- a/e-suite.Modules.MailTemplatesManager/e-suite.Modules.MailTemplatesManager.UnitTests/e-suite.Modules.MailTemplatesManager.UnitTests.csproj +++ b/e-suite.Modules.MailTemplatesManager/e-suite.Modules.MailTemplatesManager.UnitTests/e-suite.Modules.MailTemplatesManager.UnitTests.csproj @@ -8,8 +8,8 @@ - - + + diff --git a/e-suite.Modules.OrganisationManager/e-Suite.Modules.OrganisationManger.UnitTests/e-suite.Modules.OrganisationsManager.UnitTests.csproj b/e-suite.Modules.OrganisationManager/e-Suite.Modules.OrganisationManger.UnitTests/e-suite.Modules.OrganisationsManager.UnitTests.csproj index 323ff34..6d14e8c 100644 --- a/e-suite.Modules.OrganisationManager/e-Suite.Modules.OrganisationManger.UnitTests/e-suite.Modules.OrganisationsManager.UnitTests.csproj +++ b/e-suite.Modules.OrganisationManager/e-Suite.Modules.OrganisationManger.UnitTests/e-suite.Modules.OrganisationsManager.UnitTests.csproj @@ -9,15 +9,15 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/e-suite.Modules.PerformanceManager.csproj.nuget.g.props b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/e-suite.Modules.PerformanceManager.csproj.nuget.g.props index 10ae078..34cdfde 100644 --- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/e-suite.Modules.PerformanceManager.csproj.nuget.g.props +++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/e-suite.Modules.PerformanceManager.csproj.nuget.g.props @@ -1,19 +1,19 @@ - - - - True - NuGet - $(MSBuildThisFileDirectory)project.assets.json - $(UserProfile)\.nuget\packages\ - C:\Users\me\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages - PackageReference - 7.0.0 - - - - - - - - + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\me\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + PackageReference + 7.0.0 + + + + + + + + \ No newline at end of file diff --git a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/e-suite.Modules.PerformanceManager.csproj.nuget.g.targets b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/e-suite.Modules.PerformanceManager.csproj.nuget.g.targets index c6fc552..89055c1 100644 --- a/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/e-suite.Modules.PerformanceManager.csproj.nuget.g.targets +++ b/e-suite.Modules.PerformanceManager/e-suite.Modules.PerformanceManager/obj/e-suite.Modules.PerformanceManager.csproj.nuget.g.targets @@ -1,8 +1,8 @@ - - - - - - - + + + + + + + \ No newline at end of file diff --git a/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager.UnitTests/e-suite.Modules.RoleManager.UnitTests.csproj b/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager.UnitTests/e-suite.Modules.RoleManager.UnitTests.csproj index 0a37d7d..b380acc 100644 --- a/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager.UnitTests/e-suite.Modules.RoleManager.UnitTests.csproj +++ b/e-suite.Modules.RoleManager/e-suite.Modules.RoleManager.UnitTests/e-suite.Modules.RoleManager.UnitTests.csproj @@ -8,10 +8,10 @@ - + - + diff --git a/e-suite.Modules.SSOManager/SSOManager.UnitTests/SSOManager.UnitTests.csproj b/e-suite.Modules.SSOManager/SSOManager.UnitTests/SSOManager.UnitTests.csproj index 99641ed..8f96970 100644 --- a/e-suite.Modules.SSOManager/SSOManager.UnitTests/SSOManager.UnitTests.csproj +++ b/e-suite.Modules.SSOManager/SSOManager.UnitTests/SSOManager.UnitTests.csproj @@ -7,9 +7,9 @@ - + - + diff --git a/e-suite.Modules.SequenceManager/SequenceManager.UnitTests/SequenceManager.UnitTests.csproj b/e-suite.Modules.SequenceManager/SequenceManager.UnitTests/SequenceManager.UnitTests.csproj index 6d81c55..97ff703 100644 --- a/e-suite.Modules.SequenceManager/SequenceManager.UnitTests/SequenceManager.UnitTests.csproj +++ b/e-suite.Modules.SequenceManager/SequenceManager.UnitTests/SequenceManager.UnitTests.csproj @@ -9,9 +9,9 @@ - + - + all diff --git a/e-suite.Modules.SiteManager/e-suite.Modules.SiteManager.UnitTests/e-suite.Modules.SiteManager.UnitTests.csproj b/e-suite.Modules.SiteManager/e-suite.Modules.SiteManager.UnitTests/e-suite.Modules.SiteManager.UnitTests.csproj index ca8bae7..a022076 100644 --- a/e-suite.Modules.SiteManager/e-suite.Modules.SiteManager.UnitTests/e-suite.Modules.SiteManager.UnitTests.csproj +++ b/e-suite.Modules.SiteManager/e-suite.Modules.SiteManager.UnitTests/e-suite.Modules.SiteManager.UnitTests.csproj @@ -8,10 +8,10 @@ - + - + diff --git a/e-suite.Modules.SpecificationManager/e-suite.Modules.SpecificationManager.UnitTests/e-suite.Modules.SpecificationManager.UnitTests.csproj b/e-suite.Modules.SpecificationManager/e-suite.Modules.SpecificationManager.UnitTests/e-suite.Modules.SpecificationManager.UnitTests.csproj index 7034b3a..7072966 100644 --- a/e-suite.Modules.SpecificationManager/e-suite.Modules.SpecificationManager.UnitTests/e-suite.Modules.SpecificationManager.UnitTests.csproj +++ b/e-suite.Modules.SpecificationManager/e-suite.Modules.SpecificationManager.UnitTests/e-suite.Modules.SpecificationManager.UnitTests.csproj @@ -8,10 +8,10 @@ - + - + diff --git a/e-suite.Modules.UserManager/UserManager.UnitTests/UserManager.UnitTests.csproj b/e-suite.Modules.UserManager/UserManager.UnitTests/UserManager.UnitTests.csproj index a2d2320..ca998a0 100644 --- a/e-suite.Modules.UserManager/UserManager.UnitTests/UserManager.UnitTests.csproj +++ b/e-suite.Modules.UserManager/UserManager.UnitTests/UserManager.UnitTests.csproj @@ -7,9 +7,9 @@ - + - + diff --git a/e-suite.Modules.UserManager/e-suite.Modules.UserManager/e-suite.Modules.UserManager.csproj b/e-suite.Modules.UserManager/e-suite.Modules.UserManager/e-suite.Modules.UserManager.csproj index f9d3d3d..5b4dcfd 100644 --- a/e-suite.Modules.UserManager/e-suite.Modules.UserManager/e-suite.Modules.UserManager.csproj +++ b/e-suite.Modules.UserManager/e-suite.Modules.UserManager/e-suite.Modules.UserManager.csproj @@ -9,9 +9,9 @@ - - - + + + diff --git a/e-suite.Nuget.PasswordHasher/e-suite.Nuget.PasswordHasher.UnitTests/e-suite.Nuget.PasswordHasher.UnitTests.csproj b/e-suite.Nuget.PasswordHasher/e-suite.Nuget.PasswordHasher.UnitTests/e-suite.Nuget.PasswordHasher.UnitTests.csproj index 5d99cc0..dc6c174 100644 --- a/e-suite.Nuget.PasswordHasher/e-suite.Nuget.PasswordHasher.UnitTests/e-suite.Nuget.PasswordHasher.UnitTests.csproj +++ b/e-suite.Nuget.PasswordHasher/e-suite.Nuget.PasswordHasher.UnitTests/e-suite.Nuget.PasswordHasher.UnitTests.csproj @@ -8,8 +8,8 @@ - - + + diff --git a/e-suite.Scheduler/e-suite.Scheduler.UnitTests/e-suite.Scheduler.UnitTests.csproj b/e-suite.Scheduler/e-suite.Scheduler.UnitTests/e-suite.Scheduler.UnitTests.csproj index 4378482..e845639 100644 --- a/e-suite.Scheduler/e-suite.Scheduler.UnitTests/e-suite.Scheduler.UnitTests.csproj +++ b/e-suite.Scheduler/e-suite.Scheduler.UnitTests/e-suite.Scheduler.UnitTests.csproj @@ -8,9 +8,9 @@ - + - + diff --git a/e-suite.Scheduler/e-suite.Scheduler/e-suite.Scheduler.csproj b/e-suite.Scheduler/e-suite.Scheduler/e-suite.Scheduler.csproj index 6f2d671..ce329b9 100644 --- a/e-suite.Scheduler/e-suite.Scheduler/e-suite.Scheduler.csproj +++ b/e-suite.Scheduler/e-suite.Scheduler/e-suite.Scheduler.csproj @@ -10,7 +10,7 @@ - + diff --git a/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidationUnitTests/e-suite.Service.CustomFieldValidation.UnitTests.csproj b/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidationUnitTests/e-suite.Service.CustomFieldValidation.UnitTests.csproj index 24b2640..b1e0b5c 100644 --- a/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidationUnitTests/e-suite.Service.CustomFieldValidation.UnitTests.csproj +++ b/e-suite.Service.CustomFieldValidation/e-suite.Service.CustomFieldValidationUnitTests/e-suite.Service.CustomFieldValidation.UnitTests.csproj @@ -8,9 +8,9 @@ - + - + diff --git a/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync.UnitTests/e-suite.Service.EFlowSync.UnitTests.csproj b/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync.UnitTests/e-suite.Service.EFlowSync.UnitTests.csproj index cded255..e149fd6 100644 --- a/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync.UnitTests/e-suite.Service.EFlowSync.UnitTests.csproj +++ b/e-suite.Service.EFlowSync/e-suite.Service.EFlowSync.UnitTests/e-suite.Service.EFlowSync.UnitTests.csproj @@ -8,9 +8,9 @@ - + - + diff --git a/e-suite.Service.Mail/e-suite.Service.Mail.UnitTests/e-suite.Service.Mail.UnitTests.csproj b/e-suite.Service.Mail/e-suite.Service.Mail.UnitTests/e-suite.Service.Mail.UnitTests.csproj index 5e1c3e4..ece4e13 100644 --- a/e-suite.Service.Mail/e-suite.Service.Mail.UnitTests/e-suite.Service.Mail.UnitTests.csproj +++ b/e-suite.Service.Mail/e-suite.Service.Mail.UnitTests/e-suite.Service.Mail.UnitTests.csproj @@ -8,10 +8,10 @@ - + - + diff --git a/e-suite.Service.Mail/e-suite.Service.Mail/e-suite.Service.Mail.csproj b/e-suite.Service.Mail/e-suite.Service.Mail/e-suite.Service.Mail.csproj index a1830bd..827795f 100644 --- a/e-suite.Service.Mail/e-suite.Service.Mail/e-suite.Service.Mail.csproj +++ b/e-suite.Service.Mail/e-suite.Service.Mail/e-suite.Service.Mail.csproj @@ -8,7 +8,7 @@ - + diff --git a/e-suite.Service.Performance/e-suite.Service.Performance.UnitTests/e-suite.Service.Performance.UnitTests.csproj b/e-suite.Service.Performance/e-suite.Service.Performance.UnitTests/e-suite.Service.Performance.UnitTests.csproj index 3dd320f..0a83374 100644 --- a/e-suite.Service.Performance/e-suite.Service.Performance.UnitTests/e-suite.Service.Performance.UnitTests.csproj +++ b/e-suite.Service.Performance/e-suite.Service.Performance.UnitTests/e-suite.Service.Performance.UnitTests.csproj @@ -10,15 +10,15 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/e-suite.Service.SigmaImporter/SigmaImporter.UnitTests/SigmaImporter.UnitTests.csproj b/e-suite.Service.SigmaImporter/SigmaImporter.UnitTests/SigmaImporter.UnitTests.csproj index 6173714..9585395 100644 --- a/e-suite.Service.SigmaImporter/SigmaImporter.UnitTests/SigmaImporter.UnitTests.csproj +++ b/e-suite.Service.SigmaImporter/SigmaImporter.UnitTests/SigmaImporter.UnitTests.csproj @@ -7,9 +7,9 @@ - + - + diff --git a/e-suite.UnitTest.Core/e-suite.UnitTestCore/e-suite.UnitTestCore.csproj b/e-suite.UnitTest.Core/e-suite.UnitTestCore/e-suite.UnitTestCore.csproj index a979b63..2354bc0 100644 --- a/e-suite.UnitTest.Core/e-suite.UnitTestCore/e-suite.UnitTestCore.csproj +++ b/e-suite.UnitTest.Core/e-suite.UnitTestCore/e-suite.UnitTestCore.csproj @@ -8,7 +8,7 @@ - + diff --git a/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination.UnitTests/e-suite.Utilities.Pagination.UnitTests.csproj b/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination.UnitTests/e-suite.Utilities.Pagination.UnitTests.csproj index c25d1de..a2df472 100644 --- a/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination.UnitTests/e-suite.Utilities.Pagination.UnitTests.csproj +++ b/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination.UnitTests/e-suite.Utilities.Pagination.UnitTests.csproj @@ -8,10 +8,10 @@ - + - + diff --git a/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination.csproj b/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination.csproj index 4e0d680..a2b9c3c 100644 --- a/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination.csproj +++ b/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination/e-suite.Utilities.Pagination.csproj @@ -8,7 +8,7 @@ - + diff --git a/e-suite.Workflow.Core/obj/e-suite.Workflow.Core.csproj.nuget.g.props b/e-suite.Workflow.Core/obj/e-suite.Workflow.Core.csproj.nuget.g.props index 10ae078..34cdfde 100644 --- a/e-suite.Workflow.Core/obj/e-suite.Workflow.Core.csproj.nuget.g.props +++ b/e-suite.Workflow.Core/obj/e-suite.Workflow.Core.csproj.nuget.g.props @@ -1,19 +1,19 @@ - - - - True - NuGet - $(MSBuildThisFileDirectory)project.assets.json - $(UserProfile)\.nuget\packages\ - C:\Users\me\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages - PackageReference - 7.0.0 - - - - - - - - + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\me\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + PackageReference + 7.0.0 + + + + + + + + \ No newline at end of file diff --git a/e-suite.Workflow.Core/obj/e-suite.Workflow.Core.csproj.nuget.g.targets b/e-suite.Workflow.Core/obj/e-suite.Workflow.Core.csproj.nuget.g.targets index c6fc552..89055c1 100644 --- a/e-suite.Workflow.Core/obj/e-suite.Workflow.Core.csproj.nuget.g.targets +++ b/e-suite.Workflow.Core/obj/e-suite.Workflow.Core.csproj.nuget.g.targets @@ -1,8 +1,8 @@ - - - - - - - + + + + + + + \ No newline at end of file