diff --git a/.github/workflows/sonarcloud-scan.yml b/.github/workflows/sonarcloud-scan.yml index bc5d41bd..d8f6a50b 100644 --- a/.github/workflows/sonarcloud-scan.yml +++ b/.github/workflows/sonarcloud-scan.yml @@ -66,9 +66,9 @@ jobs: run: | .\.sonar\scanner\dotnet-sonarscanner begin /k:"gaepdit.complaint-tracking" /o:"gaepdit" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.opencover.reportsPaths=coverage.xml /d:sonar.exclusions=src/EfRepository/Migrations/**,src/TestData/** dotnet build - coverlet .\.artifacts\DomainTests\bin\Debug\net8.0\DomainTests.dll --target "dotnet" --targetargs "test tests/DomainTests --no-build" --exclude "[TestData]*" - coverlet .\.artifacts\EfRepositoryTests\bin\Debug\net8.0\EfRepositoryTests.dll --target "dotnet" --targetargs "test tests/EfRepositoryTests --no-build" --exclude "[TestData]*" --exclude "[EfRepository]Cts.EfRepository.Migrations.*" --merge-with "coverage.json" - coverlet .\.artifacts\LocalRepositoryTests\bin\Debug\net8.0\LocalRepositoryTests.dll --target "dotnet" --targetargs "test tests/LocalRepositoryTests --no-build" --exclude "[TestData]*" --merge-with "coverage.json" - coverlet .\.artifacts\AppServicesTests\bin\Debug\net8.0\AppServicesTests.dll --target "dotnet" --targetargs "test tests/AppServicesTests --no-build" --exclude "[TestData]*" --merge-with "coverage.json" - coverlet .\.artifacts\WebAppTests\bin\Debug\net8.0\WebAppTests.dll --target "dotnet" --targetargs "test tests/WebAppTests --no-build" --exclude "[TestData]*" --exclude "[EfRepository]Cts.EfRepository.Migrations.*" --merge-with "coverage.json" -f=opencover -o="coverage.xml" + coverlet .\.artifacts\DomainTests\bin\Debug\net9.0\DomainTests.dll --target "dotnet" --targetargs "test tests/DomainTests --no-build" --exclude "[TestData]*" + coverlet .\.artifacts\EfRepositoryTests\bin\Debug\net9.0\EfRepositoryTests.dll --target "dotnet" --targetargs "test tests/EfRepositoryTests --no-build" --exclude "[TestData]*" --exclude "[EfRepository]Cts.EfRepository.Migrations.*" --merge-with "coverage.json" + coverlet .\.artifacts\LocalRepositoryTests\bin\Debug\net9.0\LocalRepositoryTests.dll --target "dotnet" --targetargs "test tests/LocalRepositoryTests --no-build" --exclude "[TestData]*" --merge-with "coverage.json" + coverlet .\.artifacts\AppServicesTests\bin\Debug\net9.0\AppServicesTests.dll --target "dotnet" --targetargs "test tests/AppServicesTests --no-build" --exclude "[TestData]*" --merge-with "coverage.json" + coverlet .\.artifacts\WebAppTests\bin\Debug\net9.0\WebAppTests.dll --target "dotnet" --targetargs "test tests/WebAppTests --no-build" --exclude "[TestData]*" --exclude "[EfRepository]Cts.EfRepository.Migrations.*" --merge-with "coverage.json" -f=opencover -o="coverage.xml" .\.sonar\scanner\dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}" diff --git a/.idea/.idea.complaint-tracking/.idea/sonarlint.xml b/.idea/.idea.complaint-tracking/.idea/sonarlint.xml index e28c8f36..de7f1ae6 100644 --- a/.idea/.idea.complaint-tracking/.idea/sonarlint.xml +++ b/.idea/.idea.complaint-tracking/.idea/sonarlint.xml @@ -3,6 +3,6 @@ \ No newline at end of file diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml index 0fc54fe1..2e044012 100644 --- a/.idea/dataSources.xml +++ b/.idea/dataSources.xml @@ -1,11 +1,11 @@ - + sqlserver.ms true com.microsoft.sqlserver.jdbc.SQLServerDriver - jdbc:sqlserver://10.34.149.104:1433;database=ComplaintTracking + jdbc:sqlserver://test-db.gaepd.org:2433;database=ComplaintTracking @@ -13,11 +13,11 @@ - + sqlserver.ms true com.microsoft.sqlserver.jdbc.SQLServerDriver - jdbc:sqlserver://10.34.149.104:2433;database=ComplaintTracking + jdbc:sqlserver://db.gaepd.org:1433;database=ComplaintTracking @@ -25,11 +25,11 @@ - + sqlserver.ms true com.microsoft.sqlserver.jdbc.SQLServerDriver - jdbc:sqlserver://10.34.148.199:1433;database=ComplaintTracking + jdbc:sqlserver://test-db.gaepd.org:1433;database=ComplaintTracking diff --git a/.run/Run WebApp.run.xml b/.run/Run WebApp.run.xml index 955115d2..eaf1b1c6 100644 --- a/.run/Run WebApp.run.xml +++ b/.run/Run WebApp.run.xml @@ -1,7 +1,7 @@  \ No newline at end of file diff --git a/global.json b/global.json index 36394634..394a3922 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "8.0.0", + "version": "9.0.0", "rollForward": "latestFeature", "allowPrerelease": false } diff --git a/src/AppServices/AppServices.csproj b/src/AppServices/AppServices.csproj index 3586d85d..da8aa0d5 100644 --- a/src/AppServices/AppServices.csproj +++ b/src/AppServices/AppServices.csproj @@ -1,9 +1,5 @@ - - net8.0 - enable - enable Cts.AppServices @@ -12,19 +8,14 @@ - + - + - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - diff --git a/src/Domain/Domain.csproj b/src/Domain/Domain.csproj index b9d2eec9..57e598ee 100644 --- a/src/Domain/Domain.csproj +++ b/src/Domain/Domain.csproj @@ -1,9 +1,5 @@ - - net8.0 - enable - enable Cts.Domain @@ -12,10 +8,5 @@ - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - diff --git a/src/EfRepository/EfRepository.csproj b/src/EfRepository/EfRepository.csproj index 81201008..8f1d1642 100644 --- a/src/EfRepository/EfRepository.csproj +++ b/src/EfRepository/EfRepository.csproj @@ -1,9 +1,5 @@ - - net8.0 - enable - enable Cts.EfRepository @@ -15,15 +11,10 @@ all - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - diff --git a/src/EfRepository/Migrations/20250117160528_UpdateEmailLog.Designer.cs b/src/EfRepository/Migrations/20250117160528_UpdateEmailLog.Designer.cs new file mode 100644 index 00000000..dbb3c80b --- /dev/null +++ b/src/EfRepository/Migrations/20250117160528_UpdateEmailLog.Designer.cs @@ -0,0 +1,1355 @@ +// +using System; +using Cts.EfRepository.Contexts; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Cts.EfRepository.Migrations +{ + [DbContext(typeof(AppDbContext))] + [Migration("20250117160528_UpdateEmailLog")] + partial class UpdateEmailLog + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "9.0.1") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("Cts.Domain.DataViews.DataArchiveViews.ClosedComplaint", b => + { + b.Property("CallerCity") + .HasColumnType("nvarchar(max)"); + + b.Property("CallerName") + .HasColumnType("nvarchar(max)"); + + b.Property("CallerPostalCode") + .HasColumnType("nvarchar(max)"); + + b.Property("CallerRepresents") + .HasColumnType("nvarchar(max)"); + + b.Property("CallerState") + .HasColumnType("nvarchar(max)"); + + b.Property("CallerStreet") + .HasColumnType("nvarchar(max)"); + + b.Property("CallerStreet2") + .HasColumnType("nvarchar(max)"); + + b.Property("ComplaintCity") + .HasColumnType("nvarchar(max)"); + + b.Property("ComplaintClosedDate") + .HasColumnType("datetimeoffset"); + + b.Property("ComplaintCounty") + .HasColumnType("nvarchar(max)"); + + b.Property("ComplaintDirections") + .HasColumnType("nvarchar(max)"); + + b.Property("ComplaintId") + .HasColumnType("int"); + + b.Property("ComplaintLocation") + .HasColumnType("nvarchar(max)"); + + b.Property("ComplaintNature") + .HasColumnType("nvarchar(max)"); + + b.Property("CurrentOffice") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("CurrentOwner") + .HasColumnType("nvarchar(max)"); + + b.Property("CurrentOwnerAcceptedDate") + .HasColumnType("datetimeoffset"); + + b.Property("CurrentOwnerAssignedDate") + .HasColumnType("datetimeoffset"); + + b.Property("EnteredBy") + .HasColumnType("nvarchar(max)"); + + b.Property("EnteredDate") + .HasColumnType("datetimeoffset"); + + b.Property("PrimaryConcern") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ReceivedBy") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ReceivedDate") + .HasColumnType("datetimeoffset"); + + b.Property("ReviewComments") + .HasColumnType("nvarchar(max)"); + + b.Property("ReviewedBy") + .HasColumnType("nvarchar(max)"); + + b.Property("SecondaryConcern") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceCity") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceContactName") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceFacilityId") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceFacilityName") + .HasColumnType("nvarchar(max)"); + + b.Property("SourcePostalCode") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceState") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceStreet") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceStreet2") + .HasColumnType("nvarchar(max)"); + + b.ToTable((string)null); + + b.ToView("ClosedComplaintsView", (string)null); + }); + + modelBuilder.Entity("Cts.Domain.DataViews.DataArchiveViews.ClosedComplaintAction", b => + { + b.Property("ActionDate") + .HasColumnType("date"); + + b.Property("ActionType") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Comments") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ComplaintId") + .HasColumnType("int"); + + b.Property("EnteredBy") + .HasColumnType("nvarchar(max)"); + + b.Property("EnteredDate") + .HasColumnType("datetimeoffset"); + + b.Property("Investigator") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.ToTable((string)null); + + b.ToView("ClosedComplaintActionsView", (string)null); + }); + + modelBuilder.Entity("Cts.Domain.DataViews.DataArchiveViews.OpenComplaint", b => + { + b.Property("CallerCity") + .HasColumnType("nvarchar(max)"); + + b.Property("CallerName") + .HasColumnType("nvarchar(max)"); + + b.Property("CallerPostalCode") + .HasColumnType("nvarchar(max)"); + + b.Property("CallerRepresents") + .HasColumnType("nvarchar(max)"); + + b.Property("CallerState") + .HasColumnType("nvarchar(max)"); + + b.Property("CallerStreet") + .HasColumnType("nvarchar(max)"); + + b.Property("CallerStreet2") + .HasColumnType("nvarchar(max)"); + + b.Property("ComplaintCity") + .HasColumnType("nvarchar(max)"); + + b.Property("ComplaintCounty") + .HasColumnType("nvarchar(max)"); + + b.Property("ComplaintDirections") + .HasColumnType("nvarchar(max)"); + + b.Property("ComplaintId") + .HasColumnType("int"); + + b.Property("ComplaintLocation") + .HasColumnType("nvarchar(max)"); + + b.Property("ComplaintNature") + .HasColumnType("nvarchar(max)"); + + b.Property("PrimaryConcern") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ReceivedBy") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ReceivedDate") + .HasColumnType("datetimeoffset"); + + b.Property("SecondaryConcern") + .HasColumnType("nvarchar(max)"); + + b.ToTable((string)null); + + b.ToView("OpenComplaintsView", (string)null); + }); + + modelBuilder.Entity("Cts.Domain.DataViews.DataArchiveViews.RecordsCount", b => + { + b.Property("Count") + .HasColumnType("int"); + + b.Property("Order") + .HasColumnType("int"); + + b.Property("Table") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.ToTable((string)null); + + b.ToView("RecordsCountView", (string)null); + }); + + modelBuilder.Entity("Cts.Domain.Entities.ActionTypes.ActionType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Active") + .HasColumnType("bit"); + + b.Property("CreatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedById") + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("UpdatedById") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("ActionTypes"); + }); + + modelBuilder.Entity("Cts.Domain.Entities.Attachments.Attachment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ComplaintId") + .HasColumnType("int"); + + b.Property("CreatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedById") + .HasColumnType("nvarchar(max)"); + + b.Property("DeletedAt") + .HasColumnType("datetimeoffset"); + + b.Property("DeletedById") + .HasColumnType("nvarchar(max)"); + + b.Property("FileExtension") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("FileName") + .IsRequired() + .HasMaxLength(245) + .HasColumnType("nvarchar(245)"); + + b.Property("IsDeleted") + .HasColumnType("bit"); + + b.Property("IsImage") + .HasColumnType("bit"); + + b.Property("Size") + .HasColumnType("bigint"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("UpdatedById") + .HasColumnType("nvarchar(max)"); + + b.Property("UploadedById") + .HasColumnType("nvarchar(450)"); + + b.Property("UploadedDate") + .HasColumnType("datetimeoffset"); + + b.HasKey("Id"); + + b.HasIndex("ComplaintId"); + + b.HasIndex("UploadedById"); + + b.ToTable("Attachments"); + }); + + modelBuilder.Entity("Cts.Domain.Entities.ComplaintActions.ComplaintAction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ActionDate") + .HasColumnType("date"); + + b.Property("ActionTypeId") + .HasColumnType("uniqueidentifier"); + + b.Property("Comments") + .IsRequired() + .HasMaxLength(10000) + .HasColumnType("nvarchar(max)"); + + b.Property("ComplaintId") + .HasColumnType("int"); + + b.Property("CreatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedById") + .HasColumnType("nvarchar(max)"); + + b.Property("DeletedAt") + .HasColumnType("datetimeoffset"); + + b.Property("DeletedById") + .HasColumnType("nvarchar(450)"); + + b.Property("EnteredById") + .HasColumnType("nvarchar(450)"); + + b.Property("EnteredDate") + .HasColumnType("datetimeoffset"); + + b.Property("Investigator") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("IsDeleted") + .HasColumnType("bit"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("UpdatedById") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("ActionTypeId"); + + b.HasIndex("ComplaintId"); + + b.HasIndex("DeletedById"); + + b.HasIndex("EnteredById"); + + b.ToTable("ComplaintActions"); + }); + + modelBuilder.Entity("Cts.Domain.Entities.ComplaintTransitions.ComplaintTransition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Comment") + .HasMaxLength(7000) + .HasColumnType("nvarchar(max)"); + + b.Property("CommittedByUserId") + .HasColumnType("nvarchar(450)"); + + b.Property("CommittedDate") + .HasColumnType("datetimeoffset"); + + b.Property("ComplaintId") + .HasColumnType("int"); + + b.Property("CreatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedById") + .HasColumnType("nvarchar(max)"); + + b.Property("TransferredToOfficeId") + .HasColumnType("uniqueidentifier"); + + b.Property("TransferredToUserId") + .HasColumnType("nvarchar(450)"); + + b.Property("TransitionType") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("UpdatedById") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("CommittedByUserId"); + + b.HasIndex("ComplaintId"); + + b.HasIndex("TransferredToOfficeId"); + + b.HasIndex("TransferredToUserId"); + + b.ToTable("ComplaintTransitions"); + }); + + modelBuilder.Entity("Cts.Domain.Entities.Complaints.Complaint", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CallerEmail") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("CallerName") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("CallerRepresents") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("ComplaintCity") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ComplaintClosed") + .HasColumnType("bit"); + + b.Property("ComplaintClosedDate") + .HasColumnType("datetimeoffset"); + + b.Property("ComplaintCounty") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("ComplaintDirections") + .HasMaxLength(2600) + .HasColumnType("nvarchar(2600)"); + + b.Property("ComplaintLocation") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("ComplaintNature") + .HasMaxLength(15000) + .HasColumnType("nvarchar(max)"); + + b.Property("CreatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedById") + .HasColumnType("nvarchar(max)"); + + b.Property("CurrentOfficeId") + .HasColumnType("uniqueidentifier"); + + b.Property("CurrentOwnerAcceptedDate") + .HasColumnType("datetimeoffset"); + + b.Property("CurrentOwnerAssignedDate") + .HasColumnType("datetimeoffset"); + + b.Property("CurrentOwnerId") + .HasColumnType("nvarchar(450)"); + + b.Property("DeleteComments") + .HasMaxLength(7000) + .HasColumnType("nvarchar(max)"); + + b.Property("DeletedAt") + .HasColumnType("datetimeoffset"); + + b.Property("DeletedById") + .HasColumnType("nvarchar(450)"); + + b.Property("EnteredById") + .HasColumnType("nvarchar(450)"); + + b.Property("EnteredDate") + .HasColumnType("datetimeoffset"); + + b.Property("IsDeleted") + .HasColumnType("bit"); + + b.Property("PrimaryConcernId") + .HasColumnType("uniqueidentifier"); + + b.Property("ReceivedById") + .HasColumnType("nvarchar(450)"); + + b.Property("ReceivedDate") + .HasColumnType("datetimeoffset"); + + b.Property("ReviewComments") + .HasMaxLength(7000) + .HasColumnType("nvarchar(max)"); + + b.Property("ReviewedById") + .HasColumnType("nvarchar(450)"); + + b.Property("SecondaryConcernId") + .HasColumnType("uniqueidentifier"); + + b.Property("SourceContactName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SourceEmail") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("SourceFacilityIdNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceFacilityName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Status") + .IsRequired() + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("UpdatedById") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("CurrentOfficeId"); + + b.HasIndex("CurrentOwnerId"); + + b.HasIndex("DeletedById"); + + b.HasIndex("EnteredById"); + + b.HasIndex("PrimaryConcernId"); + + b.HasIndex("ReceivedById"); + + b.HasIndex("ReviewedById"); + + b.HasIndex("SecondaryConcernId"); + + b.ToTable("Complaints"); + }); + + modelBuilder.Entity("Cts.Domain.Entities.Concerns.Concern", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Active") + .HasColumnType("bit"); + + b.Property("CreatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedById") + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("UpdatedById") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Concerns"); + }); + + modelBuilder.Entity("Cts.Domain.Entities.Offices.Office", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Active") + .HasColumnType("bit"); + + b.Property("AssignorId") + .HasColumnType("nvarchar(450)"); + + b.Property("CreatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("CreatedById") + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("UpdatedById") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("AssignorId"); + + b.ToTable("Offices"); + }); + + modelBuilder.Entity("Cts.Domain.Identity.ApplicationUser", b => + { + b.Property("Id") + .HasColumnType("nvarchar(450)"); + + b.Property("AccessFailedCount") + .HasColumnType("int"); + + b.Property("AccountCreatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("AccountUpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("Active") + .HasColumnType("bit"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("bit"); + + b.Property("FamilyName") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("GivenName") + .IsRequired() + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("LockoutEnabled") + .HasColumnType("bit"); + + b.Property("LockoutEnd") + .HasColumnType("datetimeoffset"); + + b.Property("MostRecentLogin") + .HasColumnType("datetimeoffset"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ObjectIdentifier") + .HasMaxLength(36) + .HasColumnType("nvarchar(36)"); + + b.Property("OfficeId") + .HasColumnType("uniqueidentifier"); + + b.Property("PasswordHash") + .HasColumnType("nvarchar(max)"); + + b.Property("PhoneNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("bit"); + + b.Property("ProfileUpdatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("SecurityStamp") + .HasColumnType("nvarchar(max)"); + + b.Property("TwoFactorEnabled") + .HasColumnType("bit"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex") + .HasFilter("[NormalizedUserName] IS NOT NULL"); + + b.HasIndex("OfficeId"); + + b.ToTable("AspNetUsers", (string)null); + }); + + modelBuilder.Entity("GaEpd.EmailService.EmailLogRepository.EmailLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("CopyRecipients") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("CreatedAt") + .HasColumnType("datetimeoffset"); + + b.Property("HtmlBody") + .HasMaxLength(20000) + .HasColumnType("nvarchar(max)"); + + b.Property("Recipients") + .IsRequired() + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)"); + + b.Property("Sender") + .IsRequired() + .HasMaxLength(300) + .HasColumnType("nvarchar(300)"); + + b.Property("Subject") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("TextBody") + .HasMaxLength(15000) + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("EmailLogs"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("nvarchar(450)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex") + .HasFilter("[NormalizedName] IS NOT NULL"); + + b.ToTable("AspNetRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("nvarchar(450)"); + + b.Property("ProviderKey") + .HasColumnType("nvarchar(450)"); + + b.Property("ProviderDisplayName") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("nvarchar(450)"); + + b.Property("RoleId") + .HasColumnType("nvarchar(450)"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("nvarchar(450)"); + + b.Property("LoginProvider") + .HasColumnType("nvarchar(450)"); + + b.Property("Name") + .HasColumnType("nvarchar(450)"); + + b.Property("Value") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("Cts.Domain.Entities.Attachments.Attachment", b => + { + b.HasOne("Cts.Domain.Entities.Complaints.Complaint", "Complaint") + .WithMany("Attachments") + .HasForeignKey("ComplaintId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Cts.Domain.Identity.ApplicationUser", "UploadedBy") + .WithMany() + .HasForeignKey("UploadedById"); + + b.Navigation("Complaint"); + + b.Navigation("UploadedBy"); + }); + + modelBuilder.Entity("Cts.Domain.Entities.ComplaintActions.ComplaintAction", b => + { + b.HasOne("Cts.Domain.Entities.ActionTypes.ActionType", "ActionType") + .WithMany() + .HasForeignKey("ActionTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Cts.Domain.Entities.Complaints.Complaint", "Complaint") + .WithMany("Actions") + .HasForeignKey("ComplaintId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Cts.Domain.Identity.ApplicationUser", "DeletedBy") + .WithMany() + .HasForeignKey("DeletedById"); + + b.HasOne("Cts.Domain.Identity.ApplicationUser", "EnteredBy") + .WithMany() + .HasForeignKey("EnteredById"); + + b.Navigation("ActionType"); + + b.Navigation("Complaint"); + + b.Navigation("DeletedBy"); + + b.Navigation("EnteredBy"); + }); + + modelBuilder.Entity("Cts.Domain.Entities.ComplaintTransitions.ComplaintTransition", b => + { + b.HasOne("Cts.Domain.Identity.ApplicationUser", "CommittedByUser") + .WithMany() + .HasForeignKey("CommittedByUserId"); + + b.HasOne("Cts.Domain.Entities.Complaints.Complaint", "Complaint") + .WithMany("ComplaintTransitions") + .HasForeignKey("ComplaintId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Cts.Domain.Entities.Offices.Office", "TransferredToOffice") + .WithMany() + .HasForeignKey("TransferredToOfficeId"); + + b.HasOne("Cts.Domain.Identity.ApplicationUser", "TransferredToUser") + .WithMany() + .HasForeignKey("TransferredToUserId"); + + b.Navigation("CommittedByUser"); + + b.Navigation("Complaint"); + + b.Navigation("TransferredToOffice"); + + b.Navigation("TransferredToUser"); + }); + + modelBuilder.Entity("Cts.Domain.Entities.Complaints.Complaint", b => + { + b.HasOne("Cts.Domain.Entities.Offices.Office", "CurrentOffice") + .WithMany() + .HasForeignKey("CurrentOfficeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Cts.Domain.Identity.ApplicationUser", "CurrentOwner") + .WithMany() + .HasForeignKey("CurrentOwnerId"); + + b.HasOne("Cts.Domain.Identity.ApplicationUser", "DeletedBy") + .WithMany() + .HasForeignKey("DeletedById"); + + b.HasOne("Cts.Domain.Identity.ApplicationUser", "EnteredBy") + .WithMany() + .HasForeignKey("EnteredById"); + + b.HasOne("Cts.Domain.Entities.Concerns.Concern", "PrimaryConcern") + .WithMany() + .HasForeignKey("PrimaryConcernId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Cts.Domain.Identity.ApplicationUser", "ReceivedBy") + .WithMany() + .HasForeignKey("ReceivedById"); + + b.HasOne("Cts.Domain.Identity.ApplicationUser", "ReviewedBy") + .WithMany() + .HasForeignKey("ReviewedById"); + + b.HasOne("Cts.Domain.Entities.Concerns.Concern", "SecondaryConcern") + .WithMany() + .HasForeignKey("SecondaryConcernId"); + + b.OwnsOne("Cts.Domain.ValueObjects.IncompleteAddress", "CallerAddress", b1 => + { + b1.Property("ComplaintId") + .HasColumnType("int"); + + b1.Property("City") + .HasColumnType("nvarchar(max)"); + + b1.Property("PostalCode") + .HasColumnType("nvarchar(max)"); + + b1.Property("State") + .HasColumnType("nvarchar(max)"); + + b1.Property("Street") + .HasColumnType("nvarchar(max)"); + + b1.Property("Street2") + .HasColumnType("nvarchar(max)"); + + b1.HasKey("ComplaintId"); + + b1.ToTable("Complaints"); + + b1.WithOwner() + .HasForeignKey("ComplaintId"); + }); + + b.OwnsOne("Cts.Domain.ValueObjects.PhoneNumber", "CallerPhoneNumber", b1 => + { + b1.Property("ComplaintId") + .HasColumnType("int"); + + b1.Property("Number") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Type") + .HasColumnType("nvarchar(25)"); + + b1.HasKey("ComplaintId"); + + b1.ToTable("Complaints"); + + b1.WithOwner() + .HasForeignKey("ComplaintId"); + }); + + b.OwnsOne("Cts.Domain.ValueObjects.PhoneNumber", "CallerSecondaryPhoneNumber", b1 => + { + b1.Property("ComplaintId") + .HasColumnType("int"); + + b1.Property("Number") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Type") + .HasColumnType("nvarchar(25)"); + + b1.HasKey("ComplaintId"); + + b1.ToTable("Complaints"); + + b1.WithOwner() + .HasForeignKey("ComplaintId"); + }); + + b.OwnsOne("Cts.Domain.ValueObjects.PhoneNumber", "CallerTertiaryPhoneNumber", b1 => + { + b1.Property("ComplaintId") + .HasColumnType("int"); + + b1.Property("Number") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Type") + .HasColumnType("nvarchar(25)"); + + b1.HasKey("ComplaintId"); + + b1.ToTable("Complaints"); + + b1.WithOwner() + .HasForeignKey("ComplaintId"); + }); + + b.OwnsOne("Cts.Domain.ValueObjects.IncompleteAddress", "SourceAddress", b1 => + { + b1.Property("ComplaintId") + .HasColumnType("int"); + + b1.Property("City") + .HasColumnType("nvarchar(max)"); + + b1.Property("PostalCode") + .HasColumnType("nvarchar(max)"); + + b1.Property("State") + .HasColumnType("nvarchar(max)"); + + b1.Property("Street") + .HasColumnType("nvarchar(max)"); + + b1.Property("Street2") + .HasColumnType("nvarchar(max)"); + + b1.HasKey("ComplaintId"); + + b1.ToTable("Complaints"); + + b1.WithOwner() + .HasForeignKey("ComplaintId"); + }); + + b.OwnsOne("Cts.Domain.ValueObjects.PhoneNumber", "SourcePhoneNumber", b1 => + { + b1.Property("ComplaintId") + .HasColumnType("int"); + + b1.Property("Number") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Type") + .HasColumnType("nvarchar(25)"); + + b1.HasKey("ComplaintId"); + + b1.ToTable("Complaints"); + + b1.WithOwner() + .HasForeignKey("ComplaintId"); + }); + + b.OwnsOne("Cts.Domain.ValueObjects.PhoneNumber", "SourceSecondaryPhoneNumber", b1 => + { + b1.Property("ComplaintId") + .HasColumnType("int"); + + b1.Property("Number") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Type") + .HasColumnType("nvarchar(25)"); + + b1.HasKey("ComplaintId"); + + b1.ToTable("Complaints"); + + b1.WithOwner() + .HasForeignKey("ComplaintId"); + }); + + b.OwnsOne("Cts.Domain.ValueObjects.PhoneNumber", "SourceTertiaryPhoneNumber", b1 => + { + b1.Property("ComplaintId") + .HasColumnType("int"); + + b1.Property("Number") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b1.Property("Type") + .HasColumnType("nvarchar(25)"); + + b1.HasKey("ComplaintId"); + + b1.ToTable("Complaints"); + + b1.WithOwner() + .HasForeignKey("ComplaintId"); + }); + + b.Navigation("CallerAddress"); + + b.Navigation("CallerPhoneNumber"); + + b.Navigation("CallerSecondaryPhoneNumber"); + + b.Navigation("CallerTertiaryPhoneNumber"); + + b.Navigation("CurrentOffice"); + + b.Navigation("CurrentOwner"); + + b.Navigation("DeletedBy"); + + b.Navigation("EnteredBy"); + + b.Navigation("PrimaryConcern"); + + b.Navigation("ReceivedBy"); + + b.Navigation("ReviewedBy"); + + b.Navigation("SecondaryConcern"); + + b.Navigation("SourceAddress"); + + b.Navigation("SourcePhoneNumber"); + + b.Navigation("SourceSecondaryPhoneNumber"); + + b.Navigation("SourceTertiaryPhoneNumber"); + }); + + modelBuilder.Entity("Cts.Domain.Entities.Offices.Office", b => + { + b.HasOne("Cts.Domain.Identity.ApplicationUser", "Assignor") + .WithMany() + .HasForeignKey("AssignorId"); + + b.Navigation("Assignor"); + }); + + modelBuilder.Entity("Cts.Domain.Identity.ApplicationUser", b => + { + b.HasOne("Cts.Domain.Entities.Offices.Office", "Office") + .WithMany("StaffMembers") + .HasForeignKey("OfficeId"); + + b.Navigation("Office"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("Cts.Domain.Identity.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("Cts.Domain.Identity.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Cts.Domain.Identity.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("Cts.Domain.Identity.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Cts.Domain.Entities.Complaints.Complaint", b => + { + b.Navigation("Actions"); + + b.Navigation("Attachments"); + + b.Navigation("ComplaintTransitions"); + }); + + modelBuilder.Entity("Cts.Domain.Entities.Offices.Office", b => + { + b.Navigation("StaffMembers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/EfRepository/Migrations/20250117160528_UpdateEmailLog.cs b/src/EfRepository/Migrations/20250117160528_UpdateEmailLog.cs new file mode 100644 index 00000000..42bd0056 --- /dev/null +++ b/src/EfRepository/Migrations/20250117160528_UpdateEmailLog.cs @@ -0,0 +1,38 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Cts.EfRepository.Migrations +{ + /// + public partial class UpdateEmailLog : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "Sender", + table: "EmailLogs", + type: "nvarchar(300)", + maxLength: 300, + nullable: false, + oldClrType: typeof(string), + oldType: "nvarchar(200)", + oldMaxLength: 200); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "Sender", + table: "EmailLogs", + type: "nvarchar(200)", + maxLength: 200, + nullable: false, + oldClrType: typeof(string), + oldType: "nvarchar(300)", + oldMaxLength: 300); + } + } +} diff --git a/src/EfRepository/Migrations/AppDbContextModelSnapshot.cs b/src/EfRepository/Migrations/AppDbContextModelSnapshot.cs index 582fcd80..6463811b 100644 --- a/src/EfRepository/Migrations/AppDbContextModelSnapshot.cs +++ b/src/EfRepository/Migrations/AppDbContextModelSnapshot.cs @@ -17,7 +17,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "8.0.4") + .HasAnnotation("ProductVersion", "9.0.1") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -766,7 +766,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.ToTable("AspNetUsers", (string)null); }); - modelBuilder.Entity("GaEpd.EmailService.Repository.EmailLog", b => + modelBuilder.Entity("GaEpd.EmailService.EmailLogRepository.EmailLog", b => { b.Property("Id") .ValueGeneratedOnAdd() @@ -790,8 +790,8 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.Property("Sender") .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); + .HasMaxLength(300) + .HasColumnType("nvarchar(300)"); b.Property("Subject") .IsRequired() diff --git a/src/LocalRepository/LocalRepository.csproj b/src/LocalRepository/LocalRepository.csproj index 1c25daee..ff3a29d0 100644 --- a/src/LocalRepository/LocalRepository.csproj +++ b/src/LocalRepository/LocalRepository.csproj @@ -1,22 +1,10 @@ - - net8.0 - enable - enable Cts.LocalRepository - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - diff --git a/src/TestData/TestData.csproj b/src/TestData/TestData.csproj index 8552c4c7..6f7aedf0 100644 --- a/src/TestData/TestData.csproj +++ b/src/TestData/TestData.csproj @@ -1,21 +1,9 @@ - - net8.0 - enable - enable Cts.TestData - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - diff --git a/src/WebApp/WebApp.csproj b/src/WebApp/WebApp.csproj index 10665b17..b26d240b 100644 --- a/src/WebApp/WebApp.csproj +++ b/src/WebApp/WebApp.csproj @@ -1,10 +1,6 @@ - 2025.1.10 - net8.0 - enable - enable Cts.WebApp @@ -15,10 +11,6 @@ - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - @@ -47,7 +39,7 @@ - + filePath @@ -58,5 +50,4 @@ web.config - diff --git a/tests/AppServicesTests/AppServicesTests.csproj b/tests/AppServicesTests/AppServicesTests.csproj index ee053358..6b0c5dec 100644 --- a/tests/AppServicesTests/AppServicesTests.csproj +++ b/tests/AppServicesTests/AppServicesTests.csproj @@ -1,40 +1,6 @@  - - - net8.0 - enable - enable - false - true - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props new file mode 100644 index 00000000..9df08d4c --- /dev/null +++ b/tests/Directory.Build.props @@ -0,0 +1,44 @@ + + + net9.0 + enable + enable + false + true + + + + $(MSBuildThisFileDirectory)..\.artifacts\$(MSBuildProjectName) + $(BaseProjectArtifactPath)\bin\ + $(BaseProjectArtifactPath)\obj\ + + + + + true + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + diff --git a/tests/DomainTests/DomainTests.csproj b/tests/DomainTests/DomainTests.csproj index 76a4c889..85d50dd5 100644 --- a/tests/DomainTests/DomainTests.csproj +++ b/tests/DomainTests/DomainTests.csproj @@ -1,40 +1,6 @@ - - - net8.0 - enable - enable - false - true - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - diff --git a/tests/EfRepositoryTests/EfRepositoryTests.csproj b/tests/EfRepositoryTests/EfRepositoryTests.csproj index 9ba4f457..1750fd51 100644 --- a/tests/EfRepositoryTests/EfRepositoryTests.csproj +++ b/tests/EfRepositoryTests/EfRepositoryTests.csproj @@ -1,31 +1,6 @@ - - - net8.0 - enable - enable - false - true - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - @@ -42,5 +17,4 @@ - diff --git a/tests/LocalRepositoryTests/Identity/RoleStore.cs b/tests/LocalRepositoryTests/Identity/RoleStore.cs index 177e565e..40f5962a 100644 --- a/tests/LocalRepositoryTests/Identity/RoleStore.cs +++ b/tests/LocalRepositoryTests/Identity/RoleStore.cs @@ -49,7 +49,7 @@ public async Task FindById_ReturnsRole() public async Task FindByName_ReturnsRole() { var role = _store.Roles.First(); - Debug.Assert(role.NormalizedName != null, "role.NormalizedName != null"); + Debug.Assert(role.NormalizedName != null); var result = await _store.FindByNameAsync(role.NormalizedName, CancellationToken.None); result.Should().BeEquivalentTo(role); } diff --git a/tests/LocalRepositoryTests/Identity/UserRoleStore.cs b/tests/LocalRepositoryTests/Identity/UserRoleStore.cs index fbc8ff68..4123ddc7 100644 --- a/tests/LocalRepositoryTests/Identity/UserRoleStore.cs +++ b/tests/LocalRepositoryTests/Identity/UserRoleStore.cs @@ -18,7 +18,7 @@ public async Task AddToRole_AddsRole() { var user = _store.UserStore.Last(); var roleName = _store.Roles.First().Name; - Debug.Assert(roleName != null, "role.NormalizedName != null"); + Debug.Assert(roleName != null); var resultBefore = await _store.IsInRoleAsync(user, roleName, CancellationToken.None); await _store.AddToRoleAsync(user, roleName, CancellationToken.None); @@ -34,7 +34,7 @@ public async Task RemoveFromRole_RemovesRole() { var user = _store.UserStore.First(); var roleName = _store.Roles.First().Name; - Debug.Assert(roleName != null, "role.NormalizedName != null"); + Debug.Assert(roleName != null); await _store.AddToRoleAsync(user, roleName, CancellationToken.None); var resultBefore = await _store.IsInRoleAsync(user, roleName, CancellationToken.None); @@ -51,7 +51,7 @@ public async Task GetRoles_ReturnsListOfRoles() { var user = _store.UserStore.First(); var roleName = _store.Roles.First().Name; - Debug.Assert(roleName != null, "role.NormalizedName != null"); + Debug.Assert(roleName != null); await _store.AddToRoleAsync(user, roleName, CancellationToken.None); var result = await _store.GetRolesAsync(user, CancellationToken.None); @@ -78,7 +78,7 @@ public async Task IsInRole_IfSo_ReturnsTrue() { var user = _store.UserStore.First(); var roleName = _store.Roles.First().Name; - Debug.Assert(roleName != null, "role.NormalizedName != null"); + Debug.Assert(roleName != null); await _store.AddToRoleAsync(user, roleName, CancellationToken.None); var result = await _store.IsInRoleAsync(user, roleName, CancellationToken.None); @@ -91,7 +91,7 @@ public async Task IsInRole_IfNot_ReturnsFalse() { var user = _store.UserStore.Last(); var roleName = _store.Roles.First().Name; - Debug.Assert(roleName != null, "role.NormalizedName != null"); + Debug.Assert(roleName != null); var result = await _store.IsInRoleAsync(user, roleName, CancellationToken.None); result.Should().BeFalse(); } @@ -101,7 +101,7 @@ public async Task GetUsersInRole_IfSome_ReturnsListOfUsers() { var user = _store.UserStore.First(); var roleName = _store.Roles.First().Name; - Debug.Assert(roleName != null, "role.NormalizedName != null"); + Debug.Assert(roleName != null); await _store.AddToRoleAsync(user, roleName, CancellationToken.None); var result = await _store.GetUsersInRoleAsync(roleName, CancellationToken.None); diff --git a/tests/LocalRepositoryTests/Identity/UserStore.cs b/tests/LocalRepositoryTests/Identity/UserStore.cs index 2ee7e191..db719089 100644 --- a/tests/LocalRepositoryTests/Identity/UserStore.cs +++ b/tests/LocalRepositoryTests/Identity/UserStore.cs @@ -77,7 +77,7 @@ public async Task FindById_ReturnsUser() public async Task FindByName_ReturnsUser() { var user = _store.UserStore.First(); - Debug.Assert(user.NormalizedUserName != null, "role.NormalizedName != null"); + Debug.Assert(user.NormalizedUserName != null); var result = await _store.FindByNameAsync(user.NormalizedUserName, CancellationToken.None); result.Should().BeEquivalentTo(user); } diff --git a/tests/LocalRepositoryTests/LocalRepositoryTests.csproj b/tests/LocalRepositoryTests/LocalRepositoryTests.csproj index e96f455a..eaed25d3 100644 --- a/tests/LocalRepositoryTests/LocalRepositoryTests.csproj +++ b/tests/LocalRepositoryTests/LocalRepositoryTests.csproj @@ -1,39 +1,5 @@  - - - net8.0 - enable - enable - false - true - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - diff --git a/tests/WebAppTests/WebAppTests.csproj b/tests/WebAppTests/WebAppTests.csproj index 6f0c0737..839a13f5 100644 --- a/tests/WebAppTests/WebAppTests.csproj +++ b/tests/WebAppTests/WebAppTests.csproj @@ -1,39 +1,5 @@ - - - net8.0 - enable - enable - false - true - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - -