From c9c856e244c3c65880338c7c72fc25fdf16d45e7 Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Tue, 21 Jul 2026 14:26:48 -0700 Subject: [PATCH 01/40] AB#33787 - Updated Scriban --- applications/Unity.GrantManager/common.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/Unity.GrantManager/common.props b/applications/Unity.GrantManager/common.props index bdf9a7442f..e28f59fbc5 100644 --- a/applications/Unity.GrantManager/common.props +++ b/applications/Unity.GrantManager/common.props @@ -19,7 +19,7 @@ - + \ No newline at end of file From b862f6e034f176a91537f0eea66373556471deb9 Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Tue, 21 Jul 2026 14:56:32 -0700 Subject: [PATCH 02/40] AB#33787 - Updated System.Security.Cryptography.Xml --- .../src/Unity.AI.Application/Unity.AI.Application.csproj | 2 +- .../test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj index 2be3ad05e5..571becfad1 100644 --- a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj @@ -21,7 +21,7 @@ - + diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj index ce4d41158a..6851591341 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj @@ -27,7 +27,7 @@ - + From cd790247da23992515f8176440a1f971b4e0baaa Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Tue, 21 Jul 2026 15:35:27 -0700 Subject: [PATCH 03/40] AB#33787 - Overrided transitive Swashbuckle.AspNetCore package --- .../Unity.GrantManager.Web/Unity.GrantManager.Web.csproj | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj index f44d2fc836..35cedc801b 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj @@ -76,6 +76,12 @@ + + + From 0fef750d04c92b0081d1296a45855ff98bc271a0 Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Tue, 21 Jul 2026 16:20:50 -0700 Subject: [PATCH 04/40] AB#33787 - Pinned to a HtmlSanitizer prerelease --- .../Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj index fdab8629aa..3f7f19547a 100644 --- a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj @@ -21,7 +21,12 @@ - + + From 39c875002555c740d76af19474ecd04e5825c09e Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Wed, 22 Jul 2026 14:19:05 -0700 Subject: [PATCH 05/40] AB#33787 - Updated ABP and Microsoft packages --- .../Unity.GrantManager/Directory.Build.props | 2 +- .../Unity.AI.Application.Contracts.csproj | 8 +- .../Unity.AI.Application.csproj | 16 ++-- .../Unity.AI.Shared.csproj | 6 +- .../src/Unity.AI.Web/Unity.AI.Web.csproj | 8 +- .../Unity.Flex.Application.Contracts.csproj | 14 ++-- .../Unity.Flex.Application.csproj | 20 ++--- .../Unity.Flex.Shared.csproj | 10 +-- .../src/Unity.Flex.Web/Unity.Flex.Web.csproj | 6 +- .../Unity.Flex.Application.Tests.csproj | 12 +-- .../Unity.Flex.TestBase.csproj | 12 +-- .../Unity.Flex.Web.Tests.csproj | 8 +- .../src/Unity.Identity.Web.csproj | 12 +-- ...Notifications.Application.Contracts.csproj | 68 ++++++++--------- .../Unity.Notifications.Application.csproj | 20 ++--- .../Unity.Notifications.Domain.Shared.csproj | 10 +-- .../Unity.Notifications.Domain.csproj | 8 +- ...y.Notifications.EntityFrameworkCore.csproj | 8 +- .../Unity.Notifications.HttpApi.Client.csproj | 6 +- .../Unity.Notifications.HttpApi.csproj | 6 +- .../Unity.Notifications.Installer.csproj | 4 +- .../Unity.Notifications.Web.csproj | 14 ++-- ...ity.Notifications.Application.Tests.csproj | 4 +- .../Unity.Notifications.Domain.Tests.csproj | 6 +- ...fications.EntityFrameworkCore.Tests.csproj | 10 +-- .../Unity.Notifications.TestBase.csproj | 12 +-- ...nity.Payments.Application.Contracts.csproj | 20 ++--- .../Unity.Payments.Application.csproj | 32 ++++---- .../Unity.Payments.Shared.csproj | 14 ++-- .../Unity.Payments.Web.csproj | 14 ++-- .../Unity.Payments.Application.Tests.csproj | 10 +-- .../Unity.Payments.TestBase.csproj | 38 +++++----- ...ity.Reporting.Application.Contracts.csproj | 4 +- .../Unity.Reporting.Application.csproj | 12 +-- .../Unity.Reporting.Shared.csproj | 6 +- .../Unity.Reporting.Web.csproj | 12 +-- .../Unity.Reporting.Application.Tests.csproj | 2 +- .../Unity.Reporting.TestBase.csproj | 8 +- .../Unity.SharedKernel.csproj | 18 ++--- ...antManagement.Application.Contracts.csproj | 12 +-- .../Unity.TenantManagement.Application.csproj | 20 ++--- ...ity.TenantManagement.HttpApi.Client.csproj | 6 +- .../Unity.TenantManagement.HttpApi.csproj | 8 +- .../Unity.TenantManagement.Web.csproj | 6 +- ....TenantManagement.Application.Tests.csproj | 8 +- ...anagement.EntityFrameworkCore.Tests.csproj | 12 +-- .../Unity.TenantManagement.TestBase.csproj | 14 ++-- .../Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj | 8 +- ....GrantManager.Application.Contracts.csproj | 12 +-- .../Unity.GrantManager.Application.csproj | 32 ++++---- .../Unity.GrantManager.DbMigrator.csproj | 10 +-- .../Unity.GrantManager.Domain.Shared.csproj | 74 +++++++++---------- .../GrantManagerSettingDefinitionProvider.cs | 2 +- .../Unity.GrantManager.Domain.csproj | 24 +++--- ...ty.GrantManager.EntityFrameworkCore.csproj | 24 +++--- .../Unity.GrantManager.HttpApi.Client.csproj | 10 +-- .../Unity.GrantManager.HttpApi.csproj | 8 +- .../Unity.GrantManager.Web.csproj | 20 ++--- ...nity.GrantManager.Application.Tests.csproj | 2 +- .../Unity.GrantManager.Domain.Tests.csproj | 2 +- ...ntManager.EntityFrameworkCore.Tests.csproj | 8 +- .../Unity.GrantManager.TestBase.csproj | 18 ++--- .../Unity.GrantManager.Web.Tests.csproj | 10 +-- 63 files changed, 425 insertions(+), 425 deletions(-) diff --git a/applications/Unity.GrantManager/Directory.Build.props b/applications/Unity.GrantManager/Directory.Build.props index 4239024ce7..0e9f5007d6 100644 --- a/applications/Unity.GrantManager/Directory.Build.props +++ b/applications/Unity.GrantManager/Directory.Build.props @@ -10,7 +10,7 @@ - + diff --git a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application.Contracts/Unity.AI.Application.Contracts.csproj b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application.Contracts/Unity.AI.Application.Contracts.csproj index d086c0cf1d..2253875073 100644 --- a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application.Contracts/Unity.AI.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application.Contracts/Unity.AI.Application.Contracts.csproj @@ -6,10 +6,10 @@ Unity.AI - - - - + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj index 571becfad1..3f4039d4bf 100644 --- a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj @@ -6,19 +6,19 @@ Unity.AI - + - - + + - - - - - + + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Domain.Shared/Unity.AI.Shared.csproj b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Domain.Shared/Unity.AI.Shared.csproj index f094575dec..fbf25b71b3 100644 --- a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Domain.Shared/Unity.AI.Shared.csproj +++ b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Domain.Shared/Unity.AI.Shared.csproj @@ -10,12 +10,12 @@ - - + + - + diff --git a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj index b37df03bc2..779130a52c 100644 --- a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj @@ -12,16 +12,16 @@ - + - - + + - + diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application.Contracts/Unity.Flex.Application.Contracts.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application.Contracts/Unity.Flex.Application.Contracts.csproj index 259d86d1c9..fe6188cfdf 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application.Contracts/Unity.Flex.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application.Contracts/Unity.Flex.Application.Contracts.csproj @@ -9,13 +9,13 @@ - - - - - - - + + + + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application/Unity.Flex.Application.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application/Unity.Flex.Application.csproj index 331e21863e..c103557f1f 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application/Unity.Flex.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application/Unity.Flex.Application.csproj @@ -9,17 +9,17 @@ - - - - - + + + + + - - - - - + + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Shared/Unity.Flex.Shared.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Shared/Unity.Flex.Shared.csproj index 9963d2d2bd..5538a1c455 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Shared/Unity.Flex.Shared.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Shared/Unity.Flex.Shared.csproj @@ -10,15 +10,15 @@ - - + + - - + + - + diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Unity.Flex.Web.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Unity.Flex.Web.csproj index 1b9333d47f..ca25e1274e 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Unity.Flex.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Unity.Flex.Web.csproj @@ -12,13 +12,13 @@ - + - + - + diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj index fbe7add032..8baec14ac4 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj @@ -12,13 +12,13 @@ - - - + + + - - - + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj index bc1afd5896..c28f61155a 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj @@ -9,7 +9,7 @@ - + @@ -17,17 +17,17 @@ runtime; build; native; contentfiles; analyzers - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj index 6851591341..9129e01a0c 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj @@ -14,10 +14,10 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + all @@ -25,8 +25,8 @@ - - + + diff --git a/applications/Unity.GrantManager/modules/Unity.Identity.Web/src/Unity.Identity.Web.csproj b/applications/Unity.GrantManager/modules/Unity.Identity.Web/src/Unity.Identity.Web.csproj index ac7d62ebe2..6eb1991955 100644 --- a/applications/Unity.GrantManager/modules/Unity.Identity.Web/src/Unity.Identity.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Identity.Web/src/Unity.Identity.Web.csproj @@ -31,17 +31,17 @@ - - - + + + - + - + - + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application.Contracts/Unity.Notifications.Application.Contracts.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application.Contracts/Unity.Notifications.Application.Contracts.csproj index 0e41f2f1c4..509a3937de 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application.Contracts/Unity.Notifications.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application.Contracts/Unity.Notifications.Application.Contracts.csproj @@ -1,34 +1,34 @@ - - - - - - netstandard2.1;net10.0 - enable - Unity.Notifications - - - - - - - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers - - - - - - - - + + + + + + netstandard2.1;net10.0 + enable + Unity.Notifications + + + + + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers + + + + + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj index 0e50decfcd..e6d15e2738 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj @@ -9,19 +9,19 @@ - + - + - - + + - - - - - - + + + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain.Shared/Unity.Notifications.Domain.Shared.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain.Shared/Unity.Notifications.Domain.Shared.csproj index 2eb1af44f6..c802d900b6 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain.Shared/Unity.Notifications.Domain.Shared.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain.Shared/Unity.Notifications.Domain.Shared.csproj @@ -10,14 +10,14 @@ - - - - + + + + - + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain/Unity.Notifications.Domain.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain/Unity.Notifications.Domain.csproj index a4cf76b437..460c66f22c 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain/Unity.Notifications.Domain.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain/Unity.Notifications.Domain.csproj @@ -9,10 +9,10 @@ - - - - + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.EntityFrameworkCore/Unity.Notifications.EntityFrameworkCore.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.EntityFrameworkCore/Unity.Notifications.EntityFrameworkCore.csproj index 35443ef745..62d4cb2fc6 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.EntityFrameworkCore/Unity.Notifications.EntityFrameworkCore.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.EntityFrameworkCore/Unity.Notifications.EntityFrameworkCore.csproj @@ -9,10 +9,10 @@ - - - - + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi.Client/Unity.Notifications.HttpApi.Client.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi.Client/Unity.Notifications.HttpApi.Client.csproj index 451ddaea79..016294f3dc 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi.Client/Unity.Notifications.HttpApi.Client.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi.Client/Unity.Notifications.HttpApi.Client.csproj @@ -9,9 +9,9 @@ - - - + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi/Unity.Notifications.HttpApi.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi/Unity.Notifications.HttpApi.csproj index 4c17656712..6289dc3abe 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi/Unity.Notifications.HttpApi.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi/Unity.Notifications.HttpApi.csproj @@ -9,9 +9,9 @@ - - - + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Installer/Unity.Notifications.Installer.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Installer/Unity.Notifications.Installer.csproj index a6e97532ec..f0612eb724 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Installer/Unity.Notifications.Installer.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Installer/Unity.Notifications.Installer.csproj @@ -10,8 +10,8 @@ - - + + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Unity.Notifications.Web.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Unity.Notifications.Web.csproj index 3e110d2d7d..1c272030b4 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Unity.Notifications.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Unity.Notifications.Web.csproj @@ -12,13 +12,13 @@ - + - - - - - + + + + + @@ -29,7 +29,7 @@ - + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Application.Tests/Unity.Notifications.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Application.Tests/Unity.Notifications.Application.Tests.csproj index 94784c7e73..fdfa3b787e 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Application.Tests/Unity.Notifications.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Application.Tests/Unity.Notifications.Application.Tests.csproj @@ -11,8 +11,8 @@ - - + + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Domain.Tests/Unity.Notifications.Domain.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Domain.Tests/Unity.Notifications.Domain.Tests.csproj index 721959b2a2..fde388c659 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Domain.Tests/Unity.Notifications.Domain.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Domain.Tests/Unity.Notifications.Domain.Tests.csproj @@ -9,9 +9,9 @@ - - - + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj index 1c140ce8e0..d08dd55bac 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj @@ -9,14 +9,14 @@ - - - + + + - + - + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.TestBase/Unity.Notifications.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.TestBase/Unity.Notifications.TestBase.csproj index 2969eb286a..a362639dc9 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.TestBase/Unity.Notifications.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.TestBase/Unity.Notifications.TestBase.csproj @@ -9,8 +9,8 @@ - - + + @@ -18,16 +18,16 @@ runtime; build; native; contentfiles; analyzers - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application.Contracts/Unity.Payments.Application.Contracts.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application.Contracts/Unity.Payments.Application.Contracts.csproj index d8a8029060..e1d552c6b5 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application.Contracts/Unity.Payments.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application.Contracts/Unity.Payments.Application.Contracts.csproj @@ -9,16 +9,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj index 86f2b532cf..693f4794b6 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj @@ -10,28 +10,28 @@ - - - + + + - - + + - - - - - - - - - + + + + + + + + + - + - + diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Shared/Unity.Payments.Shared.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Shared/Unity.Payments.Shared.csproj index 03b6952acd..9400cb0d9d 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Shared/Unity.Payments.Shared.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Shared/Unity.Payments.Shared.csproj @@ -10,16 +10,16 @@ - - - - - - + + + + + + - + diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Unity.Payments.Web.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Unity.Payments.Web.csproj index 35a005262d..f5bcee4e05 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Unity.Payments.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Unity.Payments.Web.csproj @@ -12,17 +12,17 @@ - - + + - - - - + + + + - + diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj index b935efb804..a9e2595d0d 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj @@ -13,14 +13,14 @@ - - + + - + - - + + diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj index 5ed17173ab..b02cf36a28 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj @@ -9,8 +9,8 @@ - - + + @@ -18,31 +18,31 @@ runtime; build; native; contentfiles; analyzers - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application.Contracts/Unity.Reporting.Application.Contracts.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application.Contracts/Unity.Reporting.Application.Contracts.csproj index c5e4928327..b9ce5c6cd6 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application.Contracts/Unity.Reporting.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application.Contracts/Unity.Reporting.Application.Contracts.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application/Unity.Reporting.Application.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application/Unity.Reporting.Application.csproj index d9f72545c4..608b417494 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application/Unity.Reporting.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application/Unity.Reporting.Application.csproj @@ -9,13 +9,13 @@ - - - + + + - - - + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Domain.Shared/Unity.Reporting.Shared.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Domain.Shared/Unity.Reporting.Shared.csproj index aa2aa2c826..45813dafa1 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Domain.Shared/Unity.Reporting.Shared.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Domain.Shared/Unity.Reporting.Shared.csproj @@ -10,12 +10,12 @@ - - + + - + diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Web/Unity.Reporting.Web.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Web/Unity.Reporting.Web.csproj index 4798a9d065..746afcd03c 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Web/Unity.Reporting.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Web/Unity.Reporting.Web.csproj @@ -12,16 +12,16 @@ - + - - - - + + + + - + diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.Application.Tests/Unity.Reporting.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.Application.Tests/Unity.Reporting.Application.Tests.csproj index c7c03b191a..70d2945fc3 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.Application.Tests/Unity.Reporting.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.Application.Tests/Unity.Reporting.Application.Tests.csproj @@ -11,7 +11,7 @@ - + diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj index 8cd7e3b79e..d5d61620c3 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj @@ -22,10 +22,10 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj b/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj index 9a51a4f477..83594e09b2 100644 --- a/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj +++ b/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj @@ -14,17 +14,17 @@ all runtime; build; native; contentfiles; analyzers - - + + - - - - + + + + - - - + + + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application.Contracts/Unity.TenantManagement.Application.Contracts.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application.Contracts/Unity.TenantManagement.Application.Contracts.csproj index 46ef69fa14..df12318742 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application.Contracts/Unity.TenantManagement.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application.Contracts/Unity.TenantManagement.Application.Contracts.csproj @@ -9,12 +9,12 @@ - - - - - - + + + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application/Unity.TenantManagement.Application.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application/Unity.TenantManagement.Application.csproj index 37aa38e406..b97d7e1b7e 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application/Unity.TenantManagement.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application/Unity.TenantManagement.Application.csproj @@ -9,17 +9,17 @@ - - - - + + + + - - - - - - + + + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi.Client/Unity.TenantManagement.HttpApi.Client.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi.Client/Unity.TenantManagement.HttpApi.Client.csproj index 0be2b80c6a..1015353b47 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi.Client/Unity.TenantManagement.HttpApi.Client.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi.Client/Unity.TenantManagement.HttpApi.Client.csproj @@ -11,9 +11,9 @@ - - - + + + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi/Unity.TenantManagement.HttpApi.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi/Unity.TenantManagement.HttpApi.csproj index 4be4c28fee..18f4d145bb 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi/Unity.TenantManagement.HttpApi.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi/Unity.TenantManagement.HttpApi.csproj @@ -12,12 +12,12 @@ - + - + - - + + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Unity.TenantManagement.Web.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Unity.TenantManagement.Web.csproj index c4e99d3d6c..8b033bd1ce 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Unity.TenantManagement.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Unity.TenantManagement.Web.csproj @@ -28,14 +28,14 @@ - + - + - + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.Application.Tests/Unity.TenantManagement.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.Application.Tests/Unity.TenantManagement.Application.Tests.csproj index 48b9e1753a..2f13c04175 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.Application.Tests/Unity.TenantManagement.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.Application.Tests/Unity.TenantManagement.Application.Tests.csproj @@ -18,12 +18,12 @@ - - - + + + - + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj index 75e6846d56..46915c93a4 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj @@ -13,18 +13,18 @@ - - - - + + + + - - + + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.TestBase/Unity.TenantManagement.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.TestBase/Unity.TenantManagement.TestBase.csproj index 3980e31fd6..94d3c13470 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.TestBase/Unity.TenantManagement.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.TestBase/Unity.TenantManagement.TestBase.csproj @@ -12,16 +12,16 @@ - - - + + + - - - - + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj index 3f7f19547a..16cfdb0d57 100644 --- a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj @@ -28,10 +28,10 @@ stable HtmlSanitizer release that depends on AngleSharp >= 1.5 once one ships. --> - - - - + + + + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Unity.GrantManager.Application.Contracts.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Unity.GrantManager.Application.Contracts.csproj index 7b1c8dcad2..8dbddfb6c7 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Unity.GrantManager.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Unity.GrantManager.Application.Contracts.csproj @@ -16,12 +16,12 @@ - - - - - - + + + + + + **/Assessments/AssessmentListItemDto.cs, **/Assessments/AssessmentScoresDto.cs diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj index b5a7b1a9ca..8f5c87d9ea 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj @@ -34,9 +34,9 @@ - - - + + + @@ -46,20 +46,20 @@ - + - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj index 8ade8482cb..b8cdebf294 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj @@ -1,4 +1,4 @@ - + @@ -17,7 +17,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -28,13 +28,13 @@ - + - + - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Unity.GrantManager.Domain.Shared.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Unity.GrantManager.Domain.Shared.csproj index dea88fd8ef..d1525490ca 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Unity.GrantManager.Domain.Shared.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Unity.GrantManager.Domain.Shared.csproj @@ -1,37 +1,37 @@ - - - - - - net10.0 - enable - Unity.GrantManager - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + net10.0 + enable + Unity.GrantManager + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Settings/GrantManagerSettingDefinitionProvider.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Settings/GrantManagerSettingDefinitionProvider.cs index 9eb1d5451f..93a7f65f06 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Settings/GrantManagerSettingDefinitionProvider.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Settings/GrantManagerSettingDefinitionProvider.cs @@ -92,7 +92,7 @@ private static void AddSettingDefinition(ISettingDefinitionContext currentContex description, isVisibleToClients: true, isInherited: false, - isEncrypted: false).WithProviders(TenantSettingValueProvider.ProviderName) + isEncrypted: false).WithProviders(TenantSettingValueProvider.ProviderName, DefaultValueSettingValueProvider.ProviderName) ); } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj index f1610fd590..608b975396 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj @@ -15,20 +15,20 @@ - - + + - - - - - - - - - - + + + + + + + + + + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj index e8383a75d5..f5e533ee50 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj @@ -75,23 +75,23 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - - - - - - - - - + + + + + + + + + - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi.Client/Unity.GrantManager.HttpApi.Client.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi.Client/Unity.GrantManager.HttpApi.Client.csproj index f530096675..6ed03b7432 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi.Client/Unity.GrantManager.HttpApi.Client.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi.Client/Unity.GrantManager.HttpApi.Client.csproj @@ -14,11 +14,11 @@ - - - - - + + + + + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj index d174f23920..9401310cdb 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj @@ -17,10 +17,10 @@ - - - - + + + + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj index 35cedc801b..038fa858ae 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj @@ -47,8 +47,8 @@ - - + + all runtime; @@ -68,14 +68,14 @@ - - - - - - - - + + + + + + + + - + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj index 0b86c87488..829d20fa44 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj @@ -12,11 +12,11 @@ - - - + + + - + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj index bf28c1e6ac..b5b976b660 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj @@ -9,15 +9,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj index e3e22f4e0a..1664f656da 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj @@ -21,17 +21,17 @@ - + - + - - + + - + From c89347aeed51cae61610fba8de42bbb384122ddd Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Wed, 22 Jul 2026 14:57:52 -0700 Subject: [PATCH 06/40] AB#33787 - Updated Data/EF-adjacent libs --- .../src/Unity.AI.Application/Unity.AI.Application.csproj | 6 +++--- .../src/Unity.Flex.Shared/Unity.Flex.Shared.csproj | 2 +- .../test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj | 2 +- .../Unity.Notifications.Application.csproj | 2 +- .../Unity.Payments.Application.csproj | 4 ++-- .../modules/Unity.SharedKernel/Unity.SharedKernel.csproj | 2 +- .../Unity.GrantManager.Application.Contracts.csproj | 2 +- .../Unity.GrantManager.Application.csproj | 6 +++--- .../Unity.GrantManager.DbMigrator.csproj | 2 +- .../Unity.GrantManager.Domain.csproj | 2 +- .../Unity.GrantManager.EntityFrameworkCore.csproj | 2 +- .../Unity.GrantManager.HttpApi.csproj | 2 +- .../Unity.GrantManager.Web/Unity.GrantManager.Web.csproj | 4 ++-- .../Unity.GrantManager.Application.Tests.csproj | 2 +- .../Unity.GrantManager.Domain.Tests.csproj | 2 +- .../Unity.GrantManager.EntityFrameworkCore.Tests.csproj | 2 +- .../Unity.GrantManager.Web.Tests.csproj | 2 +- 17 files changed, 23 insertions(+), 23 deletions(-) diff --git a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj index 3f4039d4bf..155d46bbfe 100644 --- a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj @@ -8,9 +8,9 @@ - - - + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Shared/Unity.Flex.Shared.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Shared/Unity.Flex.Shared.csproj index 5538a1c455..405c469ff1 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Shared/Unity.Flex.Shared.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Shared/Unity.Flex.Shared.csproj @@ -12,7 +12,7 @@ - + diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj index 9129e01a0c..9e96fdd7c7 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj @@ -16,7 +16,7 @@ - + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj index e6d15e2738..ad902c43a3 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj @@ -10,7 +10,7 @@ - + diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj index 693f4794b6..6f02fbe050 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj @@ -9,11 +9,11 @@ - + - + diff --git a/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj b/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj index 83594e09b2..614af69039 100644 --- a/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj +++ b/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj @@ -16,7 +16,7 @@ - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Unity.GrantManager.Application.Contracts.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Unity.GrantManager.Application.Contracts.csproj index 8dbddfb6c7..8b5977867e 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Unity.GrantManager.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Unity.GrantManager.Application.Contracts.csproj @@ -15,7 +15,7 @@ - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj index 8f5c87d9ea..6d53193074 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj @@ -38,9 +38,9 @@ - - - + + + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj index b8cdebf294..3986931f3c 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj @@ -21,7 +21,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj index 608b975396..94990a6e7f 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj @@ -17,7 +17,7 @@ - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj index f5e533ee50..34c11f4a1a 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj @@ -80,7 +80,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj index 9401310cdb..dc7c2ffd99 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj @@ -15,7 +15,7 @@ - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj index 038fa858ae..62a6d74e9d 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj @@ -61,8 +61,8 @@ - - + + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.Application.Tests/Unity.GrantManager.Application.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.Application.Tests/Unity.GrantManager.Application.Tests.csproj index 33a3ec8483..f64f768ab6 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.Application.Tests/Unity.GrantManager.Application.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.Application.Tests/Unity.GrantManager.Application.Tests.csproj @@ -21,7 +21,7 @@ - + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj index e79ea5e854..88a7991aaa 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj @@ -14,7 +14,7 @@ - + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj index 829d20fa44..ba305ae514 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj @@ -11,7 +11,7 @@ - + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj index 1664f656da..c38bd30954 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj @@ -24,7 +24,7 @@ - + From b400dead414e93873afea7b88a55d9c3e66d1a6a Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Wed, 22 Jul 2026 15:30:54 -0700 Subject: [PATCH 07/40] AB#33787 - Updated infra/build tooling --- .../Unity.AI.Application.Contracts.csproj | 4 ++-- .../src/Unity.AI.Application/Unity.AI.Application.csproj | 6 +++--- .../src/Unity.AI.Domain.Shared/Unity.AI.Shared.csproj | 4 ++-- .../modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj | 6 +++--- .../Unity.Flex.Application.Contracts.csproj | 4 ++-- .../Unity.Flex.Application/Unity.Flex.Application.csproj | 4 ++-- .../src/Unity.Flex.Shared/Unity.Flex.Shared.csproj | 4 ++-- .../Unity.Flex/src/Unity.Flex.Web/Unity.Flex.Web.csproj | 4 ++-- .../Unity.Flex.Application.Tests.csproj | 4 ++-- .../test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj | 4 ++-- .../test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj | 2 +- .../Unity.Notifications.Application.Contracts.csproj | 4 ++-- .../Unity.Notifications.Application.csproj | 8 ++++---- .../Unity.Notifications.Domain.Shared.csproj | 4 ++-- .../Unity.Notifications.Domain.csproj | 4 ++-- .../Unity.Notifications.EntityFrameworkCore.csproj | 4 ++-- .../Unity.Notifications.HttpApi.Client.csproj | 4 ++-- .../Unity.Notifications.HttpApi.csproj | 4 ++-- .../Unity.Notifications.Installer.csproj | 4 ++-- .../Unity.Notifications.Web.csproj | 6 +++--- .../Unity.Notifications.Application.Tests.csproj | 6 +++--- .../Unity.Notifications.Domain.Tests.csproj | 4 ++-- .../Unity.Notifications.EntityFrameworkCore.Tests.csproj | 4 ++-- .../Unity.Notifications.TestBase.csproj | 4 ++-- .../Unity.Payments.Application.Contracts.csproj | 4 ++-- .../Unity.Payments.Application.csproj | 8 ++++---- .../Unity.Payments.Shared/Unity.Payments.Shared.csproj | 4 ++-- .../src/Unity.Payments.Web/Unity.Payments.Web.csproj | 4 ++-- .../Unity.Payments.Application.Tests.csproj | 6 +++--- .../Unity.Payments.TestBase.csproj | 6 +++--- .../Unity.Reporting.Application.Contracts.csproj | 4 ++-- .../Unity.Reporting.Application.csproj | 4 ++-- .../Unity.Reporting.Shared.csproj | 4 ++-- .../src/Unity.Reporting.Web/Unity.Reporting.Web.csproj | 4 ++-- .../Unity.Reporting.Application.Tests.csproj | 4 ++-- .../Unity.Reporting.TestBase.csproj | 4 ++-- .../modules/Unity.SharedKernel/Unity.SharedKernel.csproj | 6 +++--- .../Unity.GrantManager.Application.csproj | 4 ++-- .../Unity.GrantManager.Domain.Shared.csproj | 2 +- .../Unity.GrantManager.Domain.csproj | 4 ++-- .../Unity.GrantManager.EntityFrameworkCore.csproj | 2 +- .../Unity.GrantManager.HttpApi.csproj | 2 +- .../Unity.GrantManager.TestBase.csproj | 2 +- .../Unity.GrantManager.Web.Tests.csproj | 2 +- 44 files changed, 93 insertions(+), 93 deletions(-) diff --git a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application.Contracts/Unity.AI.Application.Contracts.csproj b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application.Contracts/Unity.AI.Application.Contracts.csproj index 2253875073..2222c49ef6 100644 --- a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application.Contracts/Unity.AI.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application.Contracts/Unity.AI.Application.Contracts.csproj @@ -13,8 +13,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj index 155d46bbfe..29bf1acc8c 100644 --- a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj @@ -20,7 +20,7 @@ - + @@ -29,8 +29,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Domain.Shared/Unity.AI.Shared.csproj b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Domain.Shared/Unity.AI.Shared.csproj index fbf25b71b3..30508215fd 100644 --- a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Domain.Shared/Unity.AI.Shared.csproj +++ b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Domain.Shared/Unity.AI.Shared.csproj @@ -24,8 +24,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj index 779130a52c..b9304b2656 100644 --- a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj @@ -17,7 +17,7 @@ - + @@ -40,8 +40,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application.Contracts/Unity.Flex.Application.Contracts.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application.Contracts/Unity.Flex.Application.Contracts.csproj index fe6188cfdf..0b0a20199a 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application.Contracts/Unity.Flex.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application.Contracts/Unity.Flex.Application.Contracts.csproj @@ -23,8 +23,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application/Unity.Flex.Application.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application/Unity.Flex.Application.csproj index c103557f1f..43505d8f82 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application/Unity.Flex.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Application/Unity.Flex.Application.csproj @@ -25,8 +25,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Shared/Unity.Flex.Shared.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Shared/Unity.Flex.Shared.csproj index 405c469ff1..7da95766a1 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Shared/Unity.Flex.Shared.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Shared/Unity.Flex.Shared.csproj @@ -30,8 +30,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Unity.Flex.Web.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Unity.Flex.Web.csproj index ca25e1274e..f51c9ebdb9 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Unity.Flex.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.Flex.Web/Unity.Flex.Web.csproj @@ -55,8 +55,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj index 8baec14ac4..6716d94fb1 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj @@ -24,8 +24,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj index c28f61155a..ae5c5e732e 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj @@ -31,8 +31,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj index 9e96fdd7c7..be60f13edf 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj @@ -24,7 +24,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application.Contracts/Unity.Notifications.Application.Contracts.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application.Contracts/Unity.Notifications.Application.Contracts.csproj index 509a3937de..6cbf23c23a 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application.Contracts/Unity.Notifications.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application.Contracts/Unity.Notifications.Application.Contracts.csproj @@ -20,8 +20,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj index ad902c43a3..d2f3d7d150 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj @@ -12,7 +12,7 @@ - + @@ -23,7 +23,7 @@ - + @@ -31,8 +31,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain.Shared/Unity.Notifications.Domain.Shared.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain.Shared/Unity.Notifications.Domain.Shared.csproj index c802d900b6..5dcad10b53 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain.Shared/Unity.Notifications.Domain.Shared.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain.Shared/Unity.Notifications.Domain.Shared.csproj @@ -26,8 +26,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain/Unity.Notifications.Domain.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain/Unity.Notifications.Domain.csproj index 460c66f22c..926f8cad23 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain/Unity.Notifications.Domain.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Domain/Unity.Notifications.Domain.csproj @@ -17,8 +17,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.EntityFrameworkCore/Unity.Notifications.EntityFrameworkCore.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.EntityFrameworkCore/Unity.Notifications.EntityFrameworkCore.csproj index 62d4cb2fc6..02618456b9 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.EntityFrameworkCore/Unity.Notifications.EntityFrameworkCore.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.EntityFrameworkCore/Unity.Notifications.EntityFrameworkCore.csproj @@ -17,8 +17,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi.Client/Unity.Notifications.HttpApi.Client.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi.Client/Unity.Notifications.HttpApi.Client.csproj index 016294f3dc..c8c944ee7e 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi.Client/Unity.Notifications.HttpApi.Client.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi.Client/Unity.Notifications.HttpApi.Client.csproj @@ -21,8 +21,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi/Unity.Notifications.HttpApi.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi/Unity.Notifications.HttpApi.csproj index 6289dc3abe..7e309f547b 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi/Unity.Notifications.HttpApi.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.HttpApi/Unity.Notifications.HttpApi.csproj @@ -16,8 +16,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Installer/Unity.Notifications.Installer.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Installer/Unity.Notifications.Installer.csproj index f0612eb724..f9bdac728d 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Installer/Unity.Notifications.Installer.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Installer/Unity.Notifications.Installer.csproj @@ -23,8 +23,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Unity.Notifications.Web.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Unity.Notifications.Web.csproj index 1c272030b4..bbef964873 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Unity.Notifications.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Unity.Notifications.Web.csproj @@ -20,7 +20,7 @@ - + @@ -56,8 +56,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Application.Tests/Unity.Notifications.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Application.Tests/Unity.Notifications.Application.Tests.csproj index fdfa3b787e..7c5ca6b772 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Application.Tests/Unity.Notifications.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Application.Tests/Unity.Notifications.Application.Tests.csproj @@ -15,12 +15,12 @@ - + - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Domain.Tests/Unity.Notifications.Domain.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Domain.Tests/Unity.Notifications.Domain.Tests.csproj index fde388c659..d84183d4e5 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Domain.Tests/Unity.Notifications.Domain.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Domain.Tests/Unity.Notifications.Domain.Tests.csproj @@ -17,8 +17,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj index d08dd55bac..8543696b79 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj @@ -22,8 +22,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.TestBase/Unity.Notifications.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.TestBase/Unity.Notifications.TestBase.csproj index a362639dc9..39162e7efc 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.TestBase/Unity.Notifications.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.TestBase/Unity.Notifications.TestBase.csproj @@ -32,8 +32,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application.Contracts/Unity.Payments.Application.Contracts.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application.Contracts/Unity.Payments.Application.Contracts.csproj index e1d552c6b5..751dba9260 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application.Contracts/Unity.Payments.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application.Contracts/Unity.Payments.Application.Contracts.csproj @@ -27,8 +27,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj index 6f02fbe050..76997247e3 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj @@ -14,7 +14,7 @@ - + @@ -30,7 +30,7 @@ - + @@ -40,8 +40,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Shared/Unity.Payments.Shared.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Shared/Unity.Payments.Shared.csproj index 9400cb0d9d..8042585bb1 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Shared/Unity.Payments.Shared.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Shared/Unity.Payments.Shared.csproj @@ -31,8 +31,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Unity.Payments.Web.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Unity.Payments.Web.csproj index f5bcee4e05..3c081bf602 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Unity.Payments.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Unity.Payments.Web.csproj @@ -66,8 +66,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj index a9e2595d0d..c952656d8f 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj @@ -17,7 +17,7 @@ - + @@ -26,8 +26,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj index b02cf36a28..83b43990fe 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj @@ -41,14 +41,14 @@ - + - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application.Contracts/Unity.Reporting.Application.Contracts.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application.Contracts/Unity.Reporting.Application.Contracts.csproj index b9ce5c6cd6..6680bdf353 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application.Contracts/Unity.Reporting.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application.Contracts/Unity.Reporting.Application.Contracts.csproj @@ -15,8 +15,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application/Unity.Reporting.Application.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application/Unity.Reporting.Application.csproj index 608b417494..12e53e814e 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application/Unity.Reporting.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application/Unity.Reporting.Application.csproj @@ -23,8 +23,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Domain.Shared/Unity.Reporting.Shared.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Domain.Shared/Unity.Reporting.Shared.csproj index 45813dafa1..2640f8a1fc 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Domain.Shared/Unity.Reporting.Shared.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Domain.Shared/Unity.Reporting.Shared.csproj @@ -24,8 +24,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Web/Unity.Reporting.Web.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Web/Unity.Reporting.Web.csproj index 746afcd03c..c1ea57222d 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Web/Unity.Reporting.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Web/Unity.Reporting.Web.csproj @@ -55,8 +55,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.Application.Tests/Unity.Reporting.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.Application.Tests/Unity.Reporting.Application.Tests.csproj index 70d2945fc3..86a824bc4c 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.Application.Tests/Unity.Reporting.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.Application.Tests/Unity.Reporting.Application.Tests.csproj @@ -16,8 +16,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj index d5d61620c3..05476781cc 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj @@ -29,8 +29,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj b/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj index 614af69039..bece7d1dba 100644 --- a/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj +++ b/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj @@ -9,8 +9,8 @@ - - + + all runtime; build; native; contentfiles; analyzers @@ -25,6 +25,6 @@ - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj index 6d53193074..b7f2867813 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj @@ -33,7 +33,7 @@ - + @@ -41,7 +41,7 @@ - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Unity.GrantManager.Domain.Shared.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Unity.GrantManager.Domain.Shared.csproj index d1525490ca..3647cb4840 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Unity.GrantManager.Domain.Shared.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Unity.GrantManager.Domain.Shared.csproj @@ -10,7 +10,7 @@ - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj index 94990a6e7f..ed28ac4c33 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj @@ -18,7 +18,7 @@ - + @@ -30,7 +30,7 @@ - + **/Assessments/Assessment.cs, **/Assessments/AssessmentWithAssessorQueryResultItem.cs diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj index 34c11f4a1a..5960b6d621 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj @@ -74,7 +74,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj index dc7c2ffd99..cbff55dd53 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj @@ -22,7 +22,7 @@ - + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj index b5b976b660..56f8decff3 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj @@ -18,7 +18,7 @@ - + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj index c38bd30954..b150e0ca21 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj @@ -23,7 +23,7 @@ - + From 3f56031c70fba768d95c0780779347c98e3e5bf5 Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Wed, 22 Jul 2026 16:10:31 -0700 Subject: [PATCH 08/40] AB#33787 - Updated Serilog --- .../Unity.GrantManager.DbMigrator.csproj | 8 ++++---- .../Unity.GrantManager.Web/Unity.GrantManager.Web.csproj | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj index 3986931f3c..e365146f43 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj @@ -22,12 +22,12 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj index 62a6d74e9d..2756e4ffac 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj @@ -64,8 +64,8 @@ - - + + From 71d6c91efc980da927a6a61cd541ab06c48857f0 Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Wed, 22 Jul 2026 16:19:18 -0700 Subject: [PATCH 09/40] AB#33787 - Test-only tooling patch bumps --- .../Unity.Flex.Application.Tests.csproj | 2 +- .../test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj | 2 +- .../test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj | 4 ++-- .../Unity.Identity.Web.Tests/Unity.Identity.Web.Tests.csproj | 4 ++-- .../Unity.Notifications.EntityFrameworkCore.Tests.csproj | 2 +- .../Unity.Notifications.TestBase.csproj | 2 +- .../Unity.Payments.Application.Tests.csproj | 2 +- .../Unity.Payments.TestBase/Unity.Payments.TestBase.csproj | 2 +- .../Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj | 2 +- .../Unity.TenantManagement.EntityFrameworkCore.Tests.csproj | 2 +- .../Unity.TenantManagement.TestBase.csproj | 2 +- .../Unity.AspNetCore.Mvc.UI.Theme.UX2.Tests.csproj | 4 ++-- .../Unity.GrantManager.Domain.Tests.csproj | 2 +- .../Unity.GrantManager.EntityFrameworkCore.Tests.csproj | 2 +- .../Unity.GrantManager.TestBase.csproj | 2 +- 15 files changed, 18 insertions(+), 18 deletions(-) diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj index 6716d94fb1..1d76a5a24c 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj @@ -20,7 +20,7 @@ - + diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj index ae5c5e732e..ecab7e18f3 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.TestBase/Unity.Flex.TestBase.csproj @@ -20,7 +20,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj index be60f13edf..f7a65b2569 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj @@ -10,7 +10,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -19,7 +19,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/applications/Unity.GrantManager/modules/Unity.Identity.Web/test/Unity.Identity.Web.Tests/Unity.Identity.Web.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Identity.Web/test/Unity.Identity.Web.Tests/Unity.Identity.Web.Tests.csproj index 4f55729056..22e2028137 100644 --- a/applications/Unity.GrantManager/modules/Unity.Identity.Web/test/Unity.Identity.Web.Tests/Unity.Identity.Web.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Identity.Web/test/Unity.Identity.Web.Tests/Unity.Identity.Web.Tests.csproj @@ -12,14 +12,14 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive all - + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj index 8543696b79..a65ece7e35 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj @@ -18,7 +18,7 @@ - + diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.TestBase/Unity.Notifications.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.TestBase/Unity.Notifications.TestBase.csproj index 39162e7efc..c091269834 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.TestBase/Unity.Notifications.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.TestBase/Unity.Notifications.TestBase.csproj @@ -21,7 +21,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj index c952656d8f..3ae7d15ac6 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj @@ -22,7 +22,7 @@ - + diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj index 83b43990fe..7faaad33e1 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj @@ -21,7 +21,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj index 05476781cc..96f5c71afd 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj @@ -18,7 +18,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj index 46915c93a4..73eebde583 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj @@ -18,7 +18,7 @@ - + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.TestBase/Unity.TenantManagement.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.TestBase/Unity.TenantManagement.TestBase.csproj index 94d3c13470..f1e1c2a9bc 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.TestBase/Unity.TenantManagement.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.TestBase/Unity.TenantManagement.TestBase.csproj @@ -24,7 +24,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/test/Unity.Theme.UX2.Tests/Unity.AspNetCore.Mvc.UI.Theme.UX2.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/test/Unity.Theme.UX2.Tests/Unity.AspNetCore.Mvc.UI.Theme.UX2.Tests.csproj index 4f55729056..22e2028137 100644 --- a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/test/Unity.Theme.UX2.Tests/Unity.AspNetCore.Mvc.UI.Theme.UX2.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/test/Unity.Theme.UX2.Tests/Unity.AspNetCore.Mvc.UI.Theme.UX2.Tests.csproj @@ -12,14 +12,14 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive all - + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj index 88a7991aaa..9b85d252d9 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj @@ -17,7 +17,7 @@ - + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj index ba305ae514..60c3bfb733 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj @@ -17,7 +17,7 @@ - + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj index 56f8decff3..0324572e22 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj @@ -32,7 +32,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive From 9daffb5bdb8eb9263c6a0ea0a0dbde90e7c1da6c Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Wed, 22 Jul 2026 17:12:22 -0700 Subject: [PATCH 10/40] AB#33787 - Cleanup --- .../src/Unity.AI.Application/Unity.AI.Application.csproj | 3 +-- .../modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj | 2 -- .../Unity.Flex.Application.Tests.csproj | 6 ++++-- .../test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj | 5 ----- .../Unity.Identity.Web/src/Unity.Identity.Web.csproj | 2 -- .../Unity.Notifications.Application.csproj | 2 -- .../Unity.Notifications.Web/Unity.Notifications.Web.csproj | 2 -- .../Unity.Notifications.Application.Tests.csproj | 2 -- .../Unity.Notifications.EntityFrameworkCore.Tests.csproj | 4 +++- .../Unity.Payments.Application.csproj | 3 --- .../Unity.Payments.Application.Tests.csproj | 6 ++++-- .../Unity.Payments.TestBase/Unity.Payments.TestBase.csproj | 3 --- ...Unity.TenantManagement.EntityFrameworkCore.Tests.csproj | 4 +++- .../Unity.GrantManager.Application.csproj | 2 -- .../Unity.GrantManager.DbMigrator.csproj | 2 -- .../Unity.GrantManager.Domain.csproj | 2 -- .../Unity.GrantManager.EntityFrameworkCore.csproj | 2 -- .../Unity.GrantManager.HttpApi.csproj | 2 -- .../Unity.GrantManager.Domain.Tests.csproj | 3 --- .../Unity.GrantManager.EntityFrameworkCore.Tests.csproj | 7 ++++--- .../Unity.GrantManager.Web.Tests.csproj | 3 --- 21 files changed, 19 insertions(+), 48 deletions(-) diff --git a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj index 29bf1acc8c..17678d22f3 100644 --- a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj @@ -19,8 +19,7 @@ - - + diff --git a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj index b9304b2656..4b5d57bd20 100644 --- a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Web/Unity.AI.Web.csproj @@ -16,8 +16,6 @@ - - diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj index 1d76a5a24c..7002d03d83 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Application.Tests/Unity.Flex.Application.Tests.csproj @@ -17,10 +17,12 @@ + + + + - - diff --git a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj index f7a65b2569..865c27d8c9 100644 --- a/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Flex/test/Unity.Flex.Web.Tests/Unity.Flex.Web.Tests.csproj @@ -23,11 +23,6 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - diff --git a/applications/Unity.GrantManager/modules/Unity.Identity.Web/src/Unity.Identity.Web.csproj b/applications/Unity.GrantManager/modules/Unity.Identity.Web/src/Unity.Identity.Web.csproj index 6eb1991955..86d284e211 100644 --- a/applications/Unity.GrantManager/modules/Unity.Identity.Web/src/Unity.Identity.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Identity.Web/src/Unity.Identity.Web.csproj @@ -36,8 +36,6 @@ - - diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj index d2f3d7d150..7a8eacb9a4 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Application/Unity.Notifications.Application.csproj @@ -22,8 +22,6 @@ - - diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Unity.Notifications.Web.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Unity.Notifications.Web.csproj index bbef964873..b5223b81ad 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Unity.Notifications.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Unity.Notifications.Web.csproj @@ -19,8 +19,6 @@ - - diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Application.Tests/Unity.Notifications.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Application.Tests/Unity.Notifications.Application.Tests.csproj index 7c5ca6b772..c1379fb8e5 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Application.Tests/Unity.Notifications.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.Application.Tests/Unity.Notifications.Application.Tests.csproj @@ -14,8 +14,6 @@ - - diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj index a65ece7e35..67eef66cc0 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/test/Unity.Notifications.EntityFrameworkCore.Tests/Unity.Notifications.EntityFrameworkCore.Tests.csproj @@ -17,7 +17,9 @@ - + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj index 76997247e3..35971f1145 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Unity.Payments.Application.csproj @@ -29,9 +29,6 @@ - - - diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj index 3ae7d15ac6..90a6883084 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj @@ -17,12 +17,14 @@ + + + + - - diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj index 7faaad33e1..92646dcaf4 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj @@ -40,9 +40,6 @@ - - - diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj index 73eebde583..e69e12d938 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj @@ -17,7 +17,9 @@ - + + + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj index b7f2867813..6a07fadb56 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj @@ -45,8 +45,6 @@ - - diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj index e365146f43..11ae6d5466 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj @@ -29,8 +29,6 @@ - - diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj index ed28ac4c33..8def4f7e90 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj @@ -29,8 +29,6 @@ - - **/Assessments/Assessment.cs, **/Assessments/AssessmentWithAssessorQueryResultItem.cs diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj index 5960b6d621..de42a71770 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj @@ -90,8 +90,6 @@ - - diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj index cbff55dd53..c8ef1682da 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj @@ -21,8 +21,6 @@ - - diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj index 9b85d252d9..5bf9a91957 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj @@ -15,9 +15,6 @@ - - - diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj index 60c3bfb733..bd979db04e 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj @@ -13,11 +13,12 @@ + + + + - - - diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj index b150e0ca21..5e310f62cc 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj @@ -26,9 +26,6 @@ - - - From feae7cd8f6ebe79574d94464ef5d3b4bcc46c67a Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Wed, 22 Jul 2026 17:52:36 -0700 Subject: [PATCH 11/40] AB#33787 - Updated comment Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../Unity.GrantManager.Web/Unity.GrantManager.Web.csproj | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj index 06358ba2ed..c1366b7ee4 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj @@ -78,10 +78,8 @@ - + From 4d2634eb69ede4937d3140329d43e2406cf8a4c7 Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Thu, 23 Jul 2026 12:17:13 -0700 Subject: [PATCH 12/40] AB#33787 - Rollbacked to the previous NPOI version due to unknown licensing situation --- .../src/Unity.AI.Application/Unity.AI.Application.csproj | 2 +- .../Unity.GrantManager.Application.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj index 17678d22f3..91c741e446 100644 --- a/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.AI/src/Unity.AI.Application/Unity.AI.Application.csproj @@ -9,7 +9,7 @@ - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj index 6a07fadb56..d73a90573d 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj @@ -39,7 +39,7 @@ - + From e8985c4f2fc2e7ea1e05091875c23b9d3c5be19a Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Thu, 23 Jul 2026 13:23:26 -0700 Subject: [PATCH 13/40] AB#33787 - Swap obsolete Stateless API to async --- .../Domain/Services/PaymentsManager.cs | 2 +- .../Domain/Workflow/WorkflowExtensions.cs | 5 +++-- .../Assessments/AssessmentAppService.cs | 2 +- .../Workflow/UnityWorkflowExtensions.cs | 5 +++-- .../Applications/ApplicationManager.cs | 8 ++++---- .../Applications/IApplicationManager.cs | 2 +- .../Applications/OnboardingApplicationManager.cs | 6 +++--- .../Assessments/AssessmentManager.cs | 2 +- 8 files changed, 17 insertions(+), 15 deletions(-) diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Services/PaymentsManager.cs b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Services/PaymentsManager.cs index ddefff28db..a10121e4e8 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Services/PaymentsManager.cs +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Services/PaymentsManager.cs @@ -79,7 +79,7 @@ public async Task> GetActions(Guid paymentRequests s => paymentRequest.SetPaymentRequestStatus(s), ConfigureWorkflow); var allActions = Workflow.GetAllActions().Distinct().ToList(); - var permittedActions = Workflow.GetPermittedActions().ToList(); + var permittedActions = (await Workflow.GetPermittedActions()).ToList(); var actionsList = allActions .Select(trigger => diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Workflow/WorkflowExtensions.cs b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Workflow/WorkflowExtensions.cs index 607d7c6f2b..3ef2ba25b7 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Workflow/WorkflowExtensions.cs +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Workflow/WorkflowExtensions.cs @@ -3,6 +3,7 @@ using Stateless.Graph; using System.Collections.Generic; using System.Linq; +using System.Threading.Tasks; namespace Unity.Payments.Domain.Workflow; public static class UnityWorkflowExtensions @@ -10,9 +11,9 @@ public static class UnityWorkflowExtensions /// /// The currently permitted actions allowed by the workflow state machine. /// - public static IEnumerable GetPermittedActions(this PaymentsWorkflow workflow) + public static async Task> GetPermittedActions(this PaymentsWorkflow workflow) { - return workflow._stateMachine.GetPermittedTriggers(); + return await workflow._stateMachine.GetPermittedTriggersAsync(); } /// diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Assessments/AssessmentAppService.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Assessments/AssessmentAppService.cs index ae1a206917..98a95a47b7 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Assessments/AssessmentAppService.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Assessments/AssessmentAppService.cs @@ -262,7 +262,7 @@ public List GetAllActions() public async Task> GetPermittedActions(Guid assessmentId) { var assessment = await _assessmentRepository.GetAsync(assessmentId); - var workflowActions = assessment.Workflow.GetPermittedActions(); + var workflowActions = await assessment.Workflow.GetPermittedActions(); List permittedActions = new(); foreach (var triggerAction in workflowActions) diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Workflow/UnityWorkflowExtensions.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Workflow/UnityWorkflowExtensions.cs index f6572df6f6..2afd849392 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Workflow/UnityWorkflowExtensions.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Workflow/UnityWorkflowExtensions.cs @@ -1,6 +1,7 @@ using Stateless.Graph; using System.Collections.Generic; using System.Linq; +using System.Threading.Tasks; namespace Unity.GrantManager.Workflow; public static class UnityWorkflowExtensions @@ -8,9 +9,9 @@ public static class UnityWorkflowExtensions /// /// The currently permitted actions allowed by the workflow state machine. /// - public static IEnumerable GetPermittedActions(this UnityWorkflow workflow) + public static async Task> GetPermittedActions(this UnityWorkflow workflow) { - return workflow._stateMachine.GetPermittedTriggers(); + return await workflow._stateMachine.GetPermittedTriggersAsync(); } /// diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/ApplicationManager.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/ApplicationManager.cs index 1c92533519..36408a71eb 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/ApplicationManager.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/ApplicationManager.cs @@ -178,7 +178,7 @@ public async Task> GetActions(Guid application }); var allActions = Workflow.GetAllActions().Distinct().ToList(); - var permittedActions = Workflow.GetPermittedActions().ToList(); + var permittedActions = (await Workflow.GetPermittedActions()).ToList(); var actionsList = allActions .Select(trigger => @@ -194,7 +194,7 @@ public async Task> GetActions(Guid application return actionsList; } - public bool IsActionAllowed(Application application, GrantApplicationAction triggerAction) + public async Task IsActionAllowed(Application application, GrantApplicationAction triggerAction) { var Workflow = new UnityWorkflow( () => application.ApplicationStatus.StatusCode, @@ -203,7 +203,7 @@ public bool IsActionAllowed(Application application, GrantApplicationAction trig ConfigureWorkflow(sm, application.ApplicationForm.IsDirectApproval); }); - return Workflow.GetPermittedActions().Contains(triggerAction); + return (await Workflow.GetPermittedActions()).Contains(triggerAction); } /// @@ -326,7 +326,7 @@ public async Task RemoveAssigneeAsync(Guid applicationId, Guid assigneeId) using var uow = _unitOfWorkManager.Begin(); var person = await _personRepository.FindAsync(assigneeId) ?? throw new BusinessException("Tenant User Missing!"); var application = await _applicationRepository.GetAsync(applicationId, true); - IQueryable queryableAssignment = _applicationAssignmentRepository.GetQueryableAsync().Result; + IQueryable queryableAssignment = await _applicationAssignmentRepository.GetQueryableAsync(); List assignments = queryableAssignment .Where(a => a.ApplicationId.Equals(applicationId)) .Where(b => b.AssigneeId.Equals(person.Id)).ToList(); diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/IApplicationManager.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/IApplicationManager.cs index ce61915c33..73b4d7f2d0 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/IApplicationManager.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/IApplicationManager.cs @@ -12,6 +12,6 @@ public interface IApplicationManager Task> GetActions(Guid applicationId); Task TriggerAction(Guid applicationId, GrantApplicationAction triggerAction); Task SetAssigneesAsync(Guid applicationId, List<(Guid? assigneeId, string? fullName)> assigneeSubs); - bool IsActionAllowed(Application application, GrantApplicationAction triggerAction); + Task IsActionAllowed(Application application, GrantApplicationAction triggerAction); string? GetWorkflowDiagram(bool isDirectApproval); } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/OnboardingApplicationManager.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/OnboardingApplicationManager.cs index aae3a375aa..751e9b0a1a 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/OnboardingApplicationManager.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/OnboardingApplicationManager.cs @@ -40,7 +40,7 @@ public async Task> GetActions(Guid application ConfigureWorkflow); var allActions = workflow.GetAllActions().Distinct().ToList(); - var permittedActions = workflow.GetPermittedActions().ToList(); + var permittedActions = (await workflow.GetPermittedActions()).ToList(); return allActions .Select(trigger => new ApplicationActionResultItem @@ -53,7 +53,7 @@ public async Task> GetActions(Guid application .ToList(); } - public bool IsActionAllowed(Application application, GrantApplicationAction triggerAction) + public static async Task IsActionAllowed(Application application, GrantApplicationAction triggerAction) { var statusCode = application.ApplicationStatus.StatusCode; var workflow = new UnityWorkflow( @@ -61,7 +61,7 @@ public bool IsActionAllowed(Application application, GrantApplicationAction trig s => statusCode = s, ConfigureWorkflow); - return workflow.GetPermittedActions().Contains(triggerAction); + return (await workflow.GetPermittedActions()).Contains(triggerAction); } public async Task TriggerAction(Guid applicationId, GrantApplicationAction triggerAction) diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Assessments/AssessmentManager.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Assessments/AssessmentManager.cs index 977b656151..ec38d5d30d 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Assessments/AssessmentManager.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Assessments/AssessmentManager.cs @@ -71,7 +71,7 @@ public async Task CreateAsync( assessorUser.Id), autoSave: true); - var isTransitionToAssessmentAllowed = _applicationManager.IsActionAllowed(application, GrantApplicationAction.Internal_StartAssessment); + var isTransitionToAssessmentAllowed = await _applicationManager.IsActionAllowed(application, GrantApplicationAction.Internal_StartAssessment); if (!hasOtherAssessments && isTransitionToAssessmentAllowed) { await _applicationManager.TriggerAction(application.Id, GrantApplicationAction.Internal_StartAssessment); From b6937955c4b57b8b18db8074c882ab7cb3ab174b Mon Sep 17 00:00:00 2001 From: Jacob Smith Date: Tue, 21 Jul 2026 16:07:16 -0700 Subject: [PATCH 14/40] AB#33866 add AI worksheet field review --- .../IApplicationFormVersionService.cs | 5 +- .../Mapping/AiWorksheetReviewDto.cs | 27 +++ .../Mapping/ConfirmAiWorksheetDto.cs | 10 + .../ApplicationFormVersionAppService.cs | 130 +++++++++++- .../GenerateFormWorksheetJob.cs | 190 +++++++++++------- .../Pages/ApplicationForms/Mapping.js | 183 ++++++++++++++++- .../Properties/launchSettings.json | 8 +- .../CustomFields/CustomFieldsViewComponent.cs | 7 +- .../CustomFields/CustomFieldsViewModel.cs | 4 +- .../Components/CustomFields/Default.cshtml | 35 +++- .../Components/CustomFields/Default.css | 163 +++++++++++++++ .../ApplicationFormVersionAppServiceTests.cs | 156 +++++++++++++- 12 files changed, 827 insertions(+), 91 deletions(-) create mode 100644 applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/ApplicationForms/Mapping/AiWorksheetReviewDto.cs create mode 100644 applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/ApplicationForms/Mapping/ConfirmAiWorksheetDto.cs diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/ApplicationForms/IApplicationFormVersionService.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/ApplicationForms/IApplicationFormVersionService.cs index 3cc7e220d4..03107b9988 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/ApplicationForms/IApplicationFormVersionService.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/ApplicationForms/IApplicationFormVersionService.cs @@ -22,7 +22,10 @@ public interface IApplicationFormVersionAppService : ICrudAppService< Task TryInitializeApplicationFormVersion(string? formId, int version, Guid applicationFormId, string formVersionId, bool published); Task GetByChefsFormVersionId(Guid chefsFormVersionId); Task GetFormVersionByApplicationIdAsync(Guid applicationId); - Task DeleteWorkSheetMappingByFormName(string formName, Guid formVersionId); + Task DeleteWorkSheetMappingByFormName(string formName, Guid formVersionId); Task GenerateMappingAsync(Guid id); + Task GetPendingAiWorksheetAsync(Guid formVersionId); + Task ConfirmAiWorksheetAsync(Guid formVersionId, ConfirmAiWorksheetDto input); + Task CancelAiWorksheetAsync(Guid formVersionId); } } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/ApplicationForms/Mapping/AiWorksheetReviewDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/ApplicationForms/Mapping/AiWorksheetReviewDto.cs new file mode 100644 index 0000000000..76e9f05e46 --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/ApplicationForms/Mapping/AiWorksheetReviewDto.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; + +namespace Unity.GrantManager.ApplicationForms.Mapping; + +public class AiWorksheetReviewDto +{ + public Guid WorksheetId { get; set; } + public string WorksheetName { get; set; } = string.Empty; + public string WorksheetTitle { get; set; } = string.Empty; + public List Sections { get; set; } = []; +} + +public class AiWorksheetReviewSectionDto +{ + public string Name { get; set; } = string.Empty; + public List Fields { get; set; } = []; +} + +public class AiWorksheetReviewFieldDto +{ + public Guid Id { get; set; } + public string Key { get; set; } = string.Empty; + public string Label { get; set; } = string.Empty; + public string Type { get; set; } = string.Empty; + public bool Selected { get; set; } = true; +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/ApplicationForms/Mapping/ConfirmAiWorksheetDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/ApplicationForms/Mapping/ConfirmAiWorksheetDto.cs new file mode 100644 index 0000000000..de0ff5485f --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/ApplicationForms/Mapping/ConfirmAiWorksheetDto.cs @@ -0,0 +1,10 @@ +using System; +using System.Collections.Generic; + +namespace Unity.GrantManager.ApplicationForms.Mapping; + +public class ConfirmAiWorksheetDto +{ + public Guid WorksheetId { get; set; } + public List SelectedFieldIds { get; set; } = []; +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/ApplicationForms/ApplicationFormVersionAppService.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/ApplicationForms/ApplicationFormVersionAppService.cs index d09c3bb30c..db0efc4266 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/ApplicationForms/ApplicationFormVersionAppService.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/ApplicationForms/ApplicationFormVersionAppService.cs @@ -1,4 +1,5 @@ using Microsoft.Extensions.Logging; +using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json.Linq; using System; using System.Linq; @@ -27,6 +28,10 @@ using Volo.Abp; using Volo.Abp.Uow; using Unity.GrantManager.Intakes.Mapping; +using Unity.Flex.Domain.WorksheetLinks; +using Unity.Flex.Domain.Worksheets; +using Unity.GrantManager.Flex; +using Unity.Modules.Shared.Correlation; namespace Unity.GrantManager.ApplicationForms { @@ -41,7 +46,10 @@ public class ApplicationFormVersionAppService( IFeatureChecker featureChecker, IApplicationFormVersionMappingReadService mappingReadService, IAICooldownService aiCooldownService, - IFormMappingService aiService) : + IFormMappingService aiService, + IWorksheetRepository worksheetRepository, + IRepository customFieldRepository, + IWorksheetLinkRepository worksheetLinkRepository) : CrudAppService< ApplicationFormVersion, ApplicationFormVersionDto, @@ -353,6 +361,126 @@ public virtual async Task GenerateMappingAsync(Guid i }; } + [HttpGet("api/app/application-form-version/pending-ai-worksheet")] + public virtual async Task GetPendingAiWorksheetAsync(Guid formVersionId) + { + await CheckPolicyAsync(AIPermissions.Analysis.ViewFormWorksheet); + + var worksheet = await GetPendingAiWorksheetEntityAsync(formVersionId); + return worksheet == null ? null : MapAiWorksheetReview(worksheet); + } + + [HttpPost("api/app/application-form-version/confirm-ai-worksheet")] + public virtual async Task ConfirmAiWorksheetAsync(Guid formVersionId, ConfirmAiWorksheetDto input) + { + await CheckPolicyAsync(AIPermissions.Analysis.GenerateFormWorksheet); + + var worksheet = await GetPendingAiWorksheetEntityAsync(formVersionId); + if (worksheet == null || worksheet.Id != input.WorksheetId) + { + throw new UserFriendlyException("The AI worksheet is no longer available for review."); + } + + var selectedFieldIds = input.SelectedFieldIds.ToHashSet(); + var fields = worksheet.Sections.SelectMany(section => section.Fields).ToList(); + var unknownFieldIds = selectedFieldIds.Except(fields.Select(field => field.Id)).ToList(); + if (unknownFieldIds.Count > 0) + { + throw new UserFriendlyException("The AI worksheet selection is invalid."); + } + + foreach (var field in fields.Where(field => !selectedFieldIds.Contains(field.Id))) + { + field.Section.RemoveField(field); + await customFieldRepository.DeleteAsync(field.Id); + } + + worksheet.SetPublished(true); + await worksheetRepository.UpdateAsync(worksheet, true); + await UpsertAiWorksheetLinkAsync(worksheet.Id, formVersionId); + } + + [HttpPost("api/app/application-form-version/cancel-ai-worksheet")] + public virtual async Task CancelAiWorksheetAsync(Guid formVersionId) + { + await CheckPolicyAsync(AIPermissions.Analysis.GenerateFormWorksheet); + + var worksheet = await GetPendingAiWorksheetEntityAsync(formVersionId); + if (worksheet != null) + { + await worksheetRepository.DeleteAsync(worksheet, true); + } + } + + private async Task GetPendingAiWorksheetEntityAsync(Guid formVersionId) + { + var formVersion = await formVersionRepository.GetAsync(formVersionId); + var worksheetName = BuildAiWorksheetName(formVersion.ApplicationFormId, formVersion.Id); + var worksheet = await worksheetRepository.GetByNameAsync(worksheetName, true); + + if (worksheet == null) + { + return null; + } + + if (worksheet.Published) + { + return null; + } + + return worksheet; + } + + private static AiWorksheetReviewDto MapAiWorksheetReview(Worksheet worksheet) => new() + { + WorksheetId = worksheet.Id, + WorksheetName = worksheet.Name, + WorksheetTitle = worksheet.Title, + Sections = worksheet.Sections + .OrderBy(section => section.Order) + .Select(section => new AiWorksheetReviewSectionDto + { + Name = section.Name, + Fields = section.Fields + .OrderBy(field => field.Order) + .Select(field => new AiWorksheetReviewFieldDto + { + Id = field.Id, + Key = field.Key, + Label = field.Label, + Type = field.Type.ToString() + }) + .ToList() + }) + .ToList() + }; + + private async Task UpsertAiWorksheetLinkAsync(Guid worksheetId, Guid formVersionId) + { + var existingLink = await worksheetLinkRepository.GetExistingLinkAsync( + worksheetId, + formVersionId, + CorrelationConsts.FormVersion); + + if (existingLink != null) + { + existingLink.SetAnchor(FlexConsts.CustomTab).SetOrder(1); + await worksheetLinkRepository.UpdateAsync(existingLink, true); + return; + } + + await worksheetLinkRepository.InsertAsync(new WorksheetLink( + Guid.NewGuid(), + worksheetId, + formVersionId, + CorrelationConsts.FormVersion, + FlexConsts.CustomTab, + 1), true); + } + + private static string BuildAiWorksheetName(Guid formId, Guid formVersionId) => + $"ai-form-{formId}-version-{formVersionId}-worksheet"; + private async Task GetVersion(Guid formVersionId) { var formVersion = await formVersionRepository.GetByChefsFormVersionAsync(formVersionId); diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/Automation/BackgroundJobs/GenerateFormWorksheetJob.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/Automation/BackgroundJobs/GenerateFormWorksheetJob.cs index 50b105898a..e4a39019aa 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/Automation/BackgroundJobs/GenerateFormWorksheetJob.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/Automation/BackgroundJobs/GenerateFormWorksheetJob.cs @@ -1,6 +1,6 @@ +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; using System; -using System.Collections.Generic; using System.Linq; using System.Text.Json; using System.Threading.Tasks; @@ -8,10 +8,10 @@ using Unity.AI.Cooldown; using Unity.AI.Operations; using Unity.AI.Requests; +using Unity.AI.Responses; using Unity.GrantManager.ApplicationForms; using Unity.GrantManager.ApplicationForms.Mapping; using Unity.GrantManager.Applications; -using Unity.GrantManager.Flex; using Unity.Flex.Domain.WorksheetLinks; using Unity.Flex.Domain.Worksheets; using Unity.Flex.Worksheets; @@ -35,6 +35,7 @@ public class GenerateFormWorksheetJob( ICurrentTenant currentTenant, IUnitOfWorkManager unitOfWorkManager, IAICooldownService aiCooldownService, + IConfiguration configuration, ILogger logger) : AsyncBackgroundJob, ITransientDependency { private static readonly JsonSerializerOptions CaseInsensitiveJsonOptions = new() @@ -67,72 +68,96 @@ await AIGenerationRequestJobHelper.MarkRunningInNewUowAsync( var worksheetName = BuildWorksheetName(formVersion.Id, applicationForm.Id); var existingWorksheet = await worksheetRepository.GetByNameAsync(worksheetName, true); var mappingReadModel = await mappingReadService.GetAsync(formVersion.Id); - List worksheetSnapshots = []; if (existingWorksheet != null) { worksheetSnapshots.Add(existingWorksheet); } - var promptData = new + + if (existingWorksheet == null || existingWorksheet.Published) { - applicationFormVersionId = formVersion.Id, - chefsFormVersionGuid = formVersion.ChefsFormVersionGuid, - applicationFormId = applicationForm.Id, - formName = applicationForm.ApplicationFormName, - scoresheetId = applicationForm.ScoresheetId, - chefsFields = mappingReadModel.ChefsFields, - unityCoreFields = mappingReadModel.UnityCoreFields, - existingMapping = formVersion.SubmissionHeaderMapping, - formSchema = formVersion.FormSchema, - existingWorksheets = worksheetSnapshots.Select(worksheet => new + var promptData = new + var promptData = new { - worksheet.Id, - worksheet.Name, - worksheet.Title, - worksheet.Version, - worksheet.Published, - worksheet.ReportViewName, - sections = worksheet.Sections.Select(section => new + applicationFormVersionId = formVersion.Id, + chefsFormVersionGuid = formVersion.ChefsFormVersionGuid, + applicationFormId = applicationForm.Id, + formName = applicationForm.ApplicationFormName, + scoresheetId = applicationForm.ScoresheetId, + chefsFields = mappingReadModel.ChefsFields, + unityCoreFields = mappingReadModel.UnityCoreFields, + existingMapping = formVersion.SubmissionHeaderMapping, + formSchema = formVersion.FormSchema, + existingWorksheets = worksheetSnapshots.Select(worksheet => new { - section.Name, - section.Order, - fields = section.Fields.Select(field => new + worksheet.Id, + worksheet.Name, + worksheet.Title, + worksheet.Version, + worksheet.Published, + worksheet.ReportViewName, + sections = worksheet.Sections.Select(section => new { - field.Name, - field.Key, - field.Label, - field.Type, - field.Order, - field.Enabled, - field.Definition + section.Name, + section.Order, + fields = section.Fields.Select(field => new + { + field.Name, + field.Key, + field.Label, + field.Type, + field.Order, + field.Enabled, + field.Definition + }) }) }) - }) - }; + }; - var worksheetResponse = await aiService.GenerateFormWorksheetAsync(new FormWorksheetRequest - { - Data = JsonSerializer.SerializeToElement(promptData), - PromptVersion = args.PromptVersion - }); + var useMock = configuration.GetValue("AI:FormWorksheet:UseMock"); + var worksheetResponse = useMock + ? CreateMockWorksheetResponse() + : await aiService.GenerateFormWorksheetAsync(new FormWorksheetRequest + { + Data = JsonSerializer.SerializeToElement(promptData), + PromptVersion = args.PromptVersion + }); - var worksheetJson = worksheetResponse.Worksheet; - var createDto = ParseWorksheetDefinition(worksheetJson); - var worksheet = existingWorksheet == null - ? BuildWorksheet(createDto, worksheetName) - : RebuildWorksheet(existingWorksheet, createDto); - worksheet.SetPublished(true); - if (existingWorksheet == null) - { - await worksheetRepository.InsertAsync(worksheet); + if (useMock) + { + logger.LogWarning("Using mock AI worksheet data for form version {FormVersionId}.", formVersion.Id); + } + + var createDto = ParseWorksheetDefinition(worksheetResponse.Worksheet); + if (existingWorksheet == null) + { + var worksheet = BuildWorksheet(createDto, worksheetName); + worksheet.SetPublished(false); + await worksheetRepository.InsertAsync(worksheet); + } + else + { + var existingLink = await worksheetLinkRepository.GetExistingLinkAsync( + existingWorksheet.Id, + formVersion.Id, + CorrelationConsts.FormVersion); + if (existingLink != null) + { + await worksheetLinkRepository.DeleteAsync(existingLink, true); + } + + RebuildWorksheet(existingWorksheet, createDto); + existingWorksheet.SetPublished(false); + await worksheetRepository.UpdateAsync(existingWorksheet); + } } else { - await worksheetRepository.UpdateAsync(worksheet); + logger.LogInformation( + "An unpublished AI worksheet already exists for form version {FormVersionId}; leaving it available for review.", + formVersion.Id); } - await UpsertWorksheetLinkAsync(worksheet.Id, formVersion.Id); - await AIGenerationRequestJobHelper.StampCooldownBestEffortAsync(aiCooldownService, logger, args.RequestedByUserId, args.ApplicationId, AIGenerationRequestKeyHelper.FormWorksheetOperationType); await AIGenerationRequestJobHelper.MarkCompletedInNewUowAsync( unitOfWorkManager, @@ -177,6 +202,46 @@ private static string BuildWorksheetName(Guid formVersionId, Guid formId) return $"ai-form-{formId}-version-{formVersionId}-worksheet"; } + private static FormWorksheetResponse CreateMockWorksheetResponse() => new() + { + Worksheet = """ + { + "title": "AI Suggested Worksheet (Mock)", + "version": 1, + "published": false, + "sections": [ + { + "name": "Suggested Fields", + "order": 1, + "fields": [ + { + "key": "projectName", + "label": "Project Name", + "type": 2, + "order": 1, + "definition": { "required": false } + }, + { + "key": "projectSummary", + "label": "Project Summary", + "type": 14, + "order": 2, + "definition": { "required": false } + }, + { + "key": "requestedAmount", + "label": "Requested Amount", + "type": 5, + "order": 3, + "definition": { "required": false } + } + ] + } + ] + } + """ + }; + private static Worksheet BuildWorksheet(CreateWorksheetDto dto, string worksheetName) { var worksheet = new Worksheet(Guid.NewGuid(), worksheetName, dto.Title) @@ -212,14 +277,11 @@ private static Worksheet BuildWorksheet(CreateWorksheetDto dto, string worksheet return worksheet; } - private static Worksheet RebuildWorksheet(Worksheet worksheet, CreateWorksheetDto dto) + private static void RebuildWorksheet(Worksheet worksheet, CreateWorksheetDto dto) { - worksheet.SetName(worksheet.Name); worksheet.SetTitle(dto.Title); worksheet.SetVersion(dto.Version); - worksheet.SetPublished(dto.Published); worksheet.SetReportingFields(dto.ReportKeys, dto.ReportColumns, dto.ReportViewName); - worksheet.Sections.Clear(); foreach (var section in dto.Sections.OrderBy(s => s.Order)) @@ -241,26 +303,6 @@ private static Worksheet RebuildWorksheet(Worksheet worksheet, CreateWorksheetDt worksheetSection.AddField(customField); } } - - return worksheet; } - private async Task UpsertWorksheetLinkAsync(Guid worksheetId, Guid correlationId) - { - var existingLink = await worksheetLinkRepository.GetExistingLinkAsync(worksheetId, correlationId, CorrelationConsts.FormVersion); - if (existingLink != null) - { - existingLink.SetAnchor(FlexConsts.CustomTab).SetOrder(1); - await worksheetLinkRepository.UpdateAsync(existingLink); - return; - } - - await worksheetLinkRepository.InsertAsync(new WorksheetLink( - Guid.NewGuid(), - worksheetId, - correlationId, - CorrelationConsts.FormVersion, - FlexConsts.CustomTab, - 1)); - } } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/ApplicationForms/Mapping.js b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/ApplicationForms/Mapping.js index d722b2ce1b..e8db85ca6a 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/ApplicationForms/Mapping.js +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/ApplicationForms/Mapping.js @@ -60,6 +60,11 @@ btnGenerate: $('#btn-generate'), btnGenerateWorksheet: $('#btn-generate-worksheet'), btnGenerateScoresheet: $('#btn-generate-scoresheet'), + worksheetReviewModal: $('#aiWorksheetReviewModal'), + worksheetReviewFields: $('#aiWorksheetReviewFields'), + worksheetReviewEmpty: $('#aiWorksheetReviewEmpty'), + btnConfirmWorksheet: $('#btn-confirm-ai-worksheet'), + btnCancelWorksheet: $('#btn-cancel-ai-worksheet'), btnSync: $('#btn-sync'), btnReset: $('#btn-reset'), btnClose: $('.btn-close'), @@ -103,6 +108,10 @@ UIElements.btnGenerate.on('click', queueFormMapping); UIElements.btnGenerateWorksheet.on('click', queueFormWorksheet); UIElements.btnGenerateScoresheet.on('click', queueFormScoresheet); + UIElements.btnConfirmWorksheet.on('click', confirmAiWorksheet); + UIElements.btnCancelWorksheet.on('click', cancelAiWorksheet); + UIElements.worksheetReviewModal.on('hidden.bs.modal', cancelAiWorksheetIfNeeded); + UIElements.worksheetReviewFields.on('change', 'input[data-field-id]', updateAiWorksheetReviewCount); UIElements.btnReset.on('click', handleReset); UIElements.btnCancel.on('click', handleCancelMapping); UIElements.btnClose.on('click', handleCancelMapping); @@ -217,6 +226,12 @@ const buttonElement = triggerButton?.currentTarget || triggerButton?.target || triggerButton || UIElements.btnGenerateWorksheet?.get?.(0); const $button = $(buttonElement); + + if (isAiWorksheetPending()) { + loadAiWorksheetReview(); + return; + } + const existingHtml = $button.html(); if ($button.prop('disabled')) { @@ -338,10 +353,168 @@ } function refreshWorksheetAfterGeneration() { - abp.notify.success('', 'Worksheet generated and assigned successfully. Reloading page.'); - setTimeout(function () { - globalThis.location.reload(); - }, 500); + setAiWorksheetPending(true); + abp.notify.success('', 'Worksheet generated. Review the suggested fields before confirming.'); + loadAiWorksheetReview(); + } + + function isAiWorksheetPending() { + return UIElements.btnGenerateWorksheet.attr('data-ai-pending') === 'true'; + } + + function setAiWorksheetPending(isPending) { + UIElements.btnGenerateWorksheet.attr('data-ai-pending', isPending ? 'true' : 'false'); + UIElements.btnGenerateWorksheet.find('span').last().text(isPending ? 'Review Worksheet' : 'Generate Worksheet'); + } + + function loadAiWorksheetReview() { + const formVersion = String(document.getElementById('formVersionId')?.value ?? '').trim(); + if (!validateGuid(formVersion)) { + abp.notify.error('', 'Unable to review the worksheet because the Form Version ID is invalid.'); + return; + } + + abp.ajax({ + url: `/api/app/application-form-version/pending-ai-worksheet?formVersionId=${encodeURIComponent(formVersion)}`, + type: 'GET' + }) + .done(function (worksheet) { + if (!worksheet) { + setAiWorksheetPending(false); + abp.notify.error('', 'The pending AI worksheet is no longer available.'); + return; + } + + renderAiWorksheetReview(worksheet); + UIElements.worksheetReviewModal.modal('show'); + }) + .fail(function () { + abp.notify.error('', 'Unable to load the pending AI worksheet.'); + }); + } + + function renderAiWorksheetReview(worksheet) { + UIElements.worksheetReviewFields.empty(); + + let fieldCount = 0; + (worksheet.sections || []).forEach(function (section) { + const fields = section.fields || []; + const $section = $('
'); + const $sectionHeader = $('
'); + $('
').text(section.name).appendTo($sectionHeader); + $('') + .text(`0 of ${fields.length} selected`) + .appendTo($sectionHeader); + $sectionHeader.appendTo($section); + + fields.forEach(function (field) { + fieldCount++; + const fieldId = `ai-worksheet-field-${field.id}`; + const $row = $('
'); + $('') + .attr('data-field-role', 'CHEFS') + .text(field.key || '—') + .appendTo($row); + $('').appendTo($row); + $('') + .attr('data-field-role', 'Unity') + .text(field.label || field.key || '—') + .appendTo($row); + const $switch = $('
'); + const $switchContainer = $('
'); + $('') + .attr('id', fieldId) + .attr('data-field-id', field.id) + .attr('aria-label', `Include ${field.label || field.key || 'field'}`) + .appendTo($switchContainer); + $switchContainer.appendTo($switch); + $switch.appendTo($row); + $row.appendTo($section); + }); + + $section.appendTo(UIElements.worksheetReviewFields); + }); + + UIElements.worksheetReviewFields.attr('data-worksheet-id', worksheet.worksheetId); + UIElements.worksheetReviewEmpty.toggleClass('d-none', fieldCount > 0); + updateAiWorksheetReviewCount(); + } + + function updateAiWorksheetReviewCount() { + UIElements.worksheetReviewFields.find('.ai-worksheet-review__section').each(function () { + const $section = $(this); + const $sectionFields = $section.find('input[data-field-id]'); + const sectionSelectedCount = $sectionFields.filter(':checked').length; + $section.find('.ai-worksheet-review__section-count') + .text(`${sectionSelectedCount} of ${$sectionFields.length} selected`); + }); + } + + function confirmAiWorksheet() { + const formVersion = String(document.getElementById('formVersionId')?.value ?? '').trim(); + const worksheetId = UIElements.worksheetReviewFields.attr('data-worksheet-id'); + const selectedFieldIds = UIElements.worksheetReviewFields + .find('input[data-field-id]:checked') + .map(function () { return $(this).attr('data-field-id'); }) + .get(); + + if (!validateGuid(formVersion) || !validateGuid(worksheetId)) { + abp.notify.error('', 'Unable to confirm the AI worksheet because its identifiers are invalid.'); + return; + } + + UIElements.btnConfirmWorksheet.prop('disabled', true); + UIElements.btnCancelWorksheet.prop('disabled', true); + + abp.ajax({ + url: `/api/app/application-form-version/confirm-ai-worksheet?formVersionId=${encodeURIComponent(formVersion)}`, + type: 'POST', + contentType: 'application/json', + data: JSON.stringify({ worksheetId, selectedFieldIds }) + }) + .done(function () { + UIElements.worksheetReviewModal.data('ai-confirmed', true).modal('hide'); + setAiWorksheetPending(false); + abp.notify.success('', 'Worksheet confirmed and published successfully. Reloading page.'); + setTimeout(function () { globalThis.location.reload(); }, 500); + }) + .fail(function () { + abp.notify.error('', 'Unable to confirm the AI worksheet.'); + }) + .always(function () { + UIElements.btnConfirmWorksheet.prop('disabled', false); + UIElements.btnCancelWorksheet.prop('disabled', false); + }); + } + + function cancelAiWorksheet() { + if (UIElements.worksheetReviewModal.data('ai-confirmed') === true) { + return; + } + + const formVersion = String(document.getElementById('formVersionId')?.value ?? '').trim(); + if (!validateGuid(formVersion) || !isAiWorksheetPending()) { + return; + } + + UIElements.worksheetReviewModal.data('ai-confirmed', true); + abp.ajax({ + url: `/api/app/application-form-version/cancel-ai-worksheet?formVersionId=${encodeURIComponent(formVersion)}`, + type: 'POST' + }) + .done(function () { + setAiWorksheetPending(false); + abp.notify.success('', 'Pending AI worksheet discarded.'); + }) + .fail(function () { + UIElements.worksheetReviewModal.data('ai-confirmed', false); + abp.notify.error('', 'Unable to discard the pending AI worksheet.'); + }); + } + + function cancelAiWorksheetIfNeeded() { + cancelAiWorksheet(); + UIElements.worksheetReviewModal.removeData('ai-confirmed'); } function refreshScoresheetAfterGeneration() { @@ -424,7 +597,7 @@ globalThis.AIGenerationButtonState?.restore($button); $button.html(existingHtml).prop('disabled', false); - $button.find('span').last().text('Generate Worksheet'); + $button.find('span').last().text(isAiWorksheetPending() ? 'Review Worksheet' : 'Generate Worksheet'); } function restoreGenerateScoresheetButton($button, existingHtml) { diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Properties/launchSettings.json b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Properties/launchSettings.json index 0fd5cc8908..3e73825314 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Properties/launchSettings.json +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Properties/launchSettings.json @@ -13,7 +13,8 @@ "launchBrowser": true, "launchUrl": "https://localhost:44342/", "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" + "ASPNETCORE_ENVIRONMENT": "Development", + "AI__FormWorksheet__UseMock": "true" } }, "Unity.GrantManager.Web": { @@ -21,8 +22,9 @@ "launchBrowser": true, "applicationUrl": "https://localhost:44342/", "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" + "ASPNETCORE_ENVIRONMENT": "Development", + "AI__FormWorksheet__UseMock": "true" } } } -} \ No newline at end of file +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/CustomFieldsViewComponent.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/CustomFieldsViewComponent.cs index 5510427687..c2417ff1b3 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/CustomFieldsViewComponent.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/CustomFieldsViewComponent.cs @@ -43,7 +43,12 @@ public async Task InvokeAsync(string? formVersionId, strin model.ChefsFormPublished = formVersion?.Published; model.WorksheetLinks = await worksheetLinkAppService.GetListByCorrelationAsync(formVersion?.Id ?? Guid.Empty, CorrelationConsts.FormVersion); - model.PublishedWorksheets = [.. (await worksheetListAppService.GetListAsync()) + var aiWorksheetName = $"ai-form-{formVersion?.ApplicationFormId}-version-{formVersion?.Id}-worksheet"; + var worksheets = await worksheetListAppService.GetListAsync(); + model.HasPendingAiWorksheet = worksheets + .Any(worksheet => !worksheet.Published && worksheet.Name == aiWorksheetName); + + model.PublishedWorksheets = [.. worksheets .Where(s => s.Published && !model.WorksheetLinks.Select(s => s.WorksheetId).Contains(s.Id)) .OrderBy(s => s.Title)]; diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/CustomFieldsViewModel.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/CustomFieldsViewModel.cs index 95169c2de8..c0e544c163 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/CustomFieldsViewModel.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/CustomFieldsViewModel.cs @@ -37,7 +37,9 @@ public class CustomFieldsViewModel public List? FundingAgreementInfoLinks { get; set; } public List? CustomTabLinks { get; set; } + public bool HasPendingAiWorksheet { get; set; } + [Display(Name = "")] public Guid? ScoresheetId { get; set; } } -} \ No newline at end of file +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/Default.cshtml b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/Default.cshtml index 2a4d1a37f2..6ba10aaec8 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/Default.cshtml +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/Default.cshtml @@ -24,11 +24,11 @@ @if (await PermissionChecker.IsGrantedAsync(AIPermissions.FormWorksheet.Generate)) { } @@ -182,3 +182,34 @@ + + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/Default.css b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/Default.css index b401b9d45c..0c89a2b85f 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/Default.css +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/Default.css @@ -111,3 +111,166 @@ overflow: auto; height: calc(100vh - 250px); } + +.ai-worksheet-review { + border: 0; + border-radius: 12px; + overflow: hidden; +} + +.ai-worksheet-review__header { + align-items: flex-start; + border-bottom: 1px solid #d8e1eb; + padding: 1.5rem 1.75rem 1.25rem; +} + +.ai-worksheet-review__header .btn-close { + margin-top: 0.25rem; +} + +.ai-worksheet-review__eyebrow { + color: var(--bc-colors-blue-primary, #255a90); + font-size: 0.75rem; + font-weight: 700; + letter-spacing: 0.08em; + margin-bottom: 0.25rem; + text-transform: uppercase; +} + +.ai-worksheet-review__intro { + align-items: center; + color: #4a5563; + display: flex; + font-size: 0.9375rem; + justify-content: space-between; + margin-bottom: 1.25rem; +} + +.ai-worksheet-review__section { + border: 1px solid #d8e1eb; + border-radius: 8px; + margin-bottom: 1rem; + overflow: hidden; +} + +.ai-worksheet-review__section-header { + align-items: center; + background: #f4f7fa; + display: flex; + justify-content: space-between; + padding: 0.75rem 1rem; +} + +.ai-worksheet-review__section-title { + font-size: 1rem; + font-weight: 700; + margin: 0; +} + +.ai-worksheet-review__section-count { + background: #e8f1fa; + border-radius: 999px; + color: #255a90; + font-size: 0.8125rem; + font-weight: 600; + padding: 0.25rem 0.625rem; + white-space: nowrap; +} + +.ai-worksheet-review__table-header, +.ai-worksheet-review__field { + display: grid; + grid-template-columns: minmax(0, 1fr) 2rem minmax(0, 1fr) 4.5rem; +} + +.ai-worksheet-review__table-header { + border-bottom: 1px solid #d8e1eb; + color: #596777; + font-size: 0.75rem; + font-weight: 700; + letter-spacing: 0.05em; + padding: 0.65rem 1rem; + text-transform: uppercase; +} + +.ai-worksheet-review__field { + align-items: center; + background: #fff; + min-height: 4rem; + padding: 0.75rem 1rem; +} + +.ai-worksheet-review__field + .ai-worksheet-review__field { + border-top: 1px solid #edf1f5; +} + +.ai-worksheet-review__field-name { + color: #1f2933; + font-weight: 600; + overflow-wrap: anywhere; +} + +.ai-worksheet-review__arrow { + color: #52789d; + justify-self: center; +} + +.ai-worksheet-review__switch { + justify-self: center; +} + +.ai-worksheet-review__empty { + background: #f4f7fa; + border: 1px dashed #9fb3c8; + border-radius: 8px; + color: #486581; + padding: 1.5rem; + text-align: center; +} + +.ai-worksheet-review__footer { + border-top: 1px solid #d8e1eb; + padding: 1rem 1.75rem; +} + +@media (max-width: 767.98px) { + .ai-worksheet-review__intro { + align-items: flex-start; + flex-direction: column; + gap: 0.75rem; + } + + .ai-worksheet-review__field { + grid-template-columns: minmax(0, 1fr) 1.5rem auto; + row-gap: 0.5rem; + } + + .ai-worksheet-review__field-name:first-child { + grid-column: 1 / 2; + } + + .ai-worksheet-review__field-name:nth-child(3) { + grid-column: 1 / 2; + } + + .ai-worksheet-review__field-name::before { + color: #596777; + content: attr(data-field-role); + display: block; + font-size: 0.6875rem; + font-weight: 700; + letter-spacing: 0.05em; + margin-bottom: 0.125rem; + text-transform: uppercase; + } + + .ai-worksheet-review__arrow { + grid-column: 2 / 3; + grid-row: 1 / 3; + } + + .ai-worksheet-review__switch { + grid-column: 3 / 4; + grid-row: 1 / 3; + } +} diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.Application.Tests/ApplicationForms/ApplicationFormVersionAppServiceTests.cs b/applications/Unity.GrantManager/test/Unity.GrantManager.Application.Tests/ApplicationForms/ApplicationFormVersionAppServiceTests.cs index ea1b8d3468..81dde1df22 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.Application.Tests/ApplicationForms/ApplicationFormVersionAppServiceTests.cs +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.Application.Tests/ApplicationForms/ApplicationFormVersionAppServiceTests.cs @@ -12,6 +12,7 @@ using Unity.AI.Requests; using Unity.AI.Responses; using Unity.Flex.Domain.Worksheets; +using Unity.Flex.Domain.WorksheetLinks; using Unity.Flex.Worksheets; using Unity.GrantManager.ApplicationForms; using Unity.GrantManager.ApplicationForms.Mapping; @@ -96,6 +97,148 @@ public void FormMappingPromptData_Should_UseEmptyObject_When_NoExistingMappingIs promptData.GetProperty("existingMapping").GetRawText().ShouldBe("{}"); } + [Fact] + public async Task GetPendingAiWorksheetAsync_Should_Return_Unpublished_Worksheet_Fields() + { + var formVersionId = Guid.NewGuid(); + var formId = Guid.NewGuid(); + var formVersion = new ApplicationFormVersion + { + ApplicationFormId = formId + }; + var worksheet = BuildAiWorksheet(formId, formVersionId, published: false); + var formVersionRepository = Substitute.For(); + formVersionRepository.GetAsync(formVersionId).Returns(formVersion); + var worksheetRepository = Substitute.For(); + worksheetRepository.GetByNameAsync(Arg.Any(), true).Returns(worksheet); + + var service = CreateService( + Substitute.For>(), + Substitute.For(), + Substitute.For(), + formVersionRepository, + worksheetRepository); + service.LazyServiceProvider = GetRequiredService(); + + var result = await service.GetPendingAiWorksheetAsync(formVersionId); + + result.ShouldNotBeNull(); + result!.WorksheetId.ShouldBe(worksheet.Id); + result.WorksheetTitle.ShouldBe("AI Worksheet"); + result.Sections.Single().Fields.Single().Label.ShouldBe("Project Name"); + result.Sections.Single().Fields.Single().Selected.ShouldBeTrue(); + } + + [Fact] + public async Task ConfirmAiWorksheetAsync_Should_Delete_Unselected_Fields_Publish_And_Link_Worksheet() + { + var formVersionId = Guid.NewGuid(); + var formId = Guid.NewGuid(); + var formVersion = new ApplicationFormVersion + { + ApplicationFormId = formId + }; + var worksheet = BuildAiWorksheet(formId, formVersionId, published: false, fieldCount: 2); + var formVersionRepository = Substitute.For(); + formVersionRepository.GetAsync(formVersionId).Returns(formVersion); + var worksheetRepository = Substitute.For(); + worksheetRepository.GetByNameAsync(Arg.Any(), true).Returns(worksheet); + var customFieldRepository = Substitute.For>(); + var worksheetLinkRepository = Substitute.For(); + + var service = CreateService( + Substitute.For>(), + Substitute.For(), + Substitute.For(), + formVersionRepository, + worksheetRepository, + customFieldRepository, + worksheetLinkRepository); + service.LazyServiceProvider = GetRequiredService(); + + var selectedFieldId = worksheet.Sections.Single().Fields.First().Id; + await service.ConfirmAiWorksheetAsync(formVersionId, new ConfirmAiWorksheetDto + { + WorksheetId = worksheet.Id, + SelectedFieldIds = [selectedFieldId] + }); + + worksheet.Published.ShouldBeTrue(); + worksheet.Sections.Single().Fields.Select(field => field.Id).ShouldBe([selectedFieldId]); + await customFieldRepository.Received(1).DeleteAsync(Arg.Is(id => id != selectedFieldId)); + await worksheetRepository.Received(1).UpdateAsync(worksheet, true); + await worksheetLinkRepository.Received(1).InsertAsync(Arg.Any(), true); + } + + [Fact] + public async Task ConfirmAiWorksheetAsync_Should_Allow_All_Suggested_Fields_To_Be_Deselected() + { + var formVersionId = Guid.NewGuid(); + var formId = Guid.NewGuid(); + var formVersion = new ApplicationFormVersion + { + ApplicationFormId = formId + }; + var worksheet = BuildAiWorksheet(formId, formVersionId, published: false, fieldCount: 2); + var formVersionRepository = Substitute.For(); + formVersionRepository.GetAsync(formVersionId).Returns(formVersion); + var worksheetRepository = Substitute.For(); + worksheetRepository.GetByNameAsync(Arg.Any(), true).Returns(worksheet); + var customFieldRepository = Substitute.For>(); + var worksheetLinkRepository = Substitute.For(); + + var service = CreateService( + Substitute.For>(), + Substitute.For(), + Substitute.For(), + formVersionRepository, + worksheetRepository, + customFieldRepository, + worksheetLinkRepository); + service.LazyServiceProvider = GetRequiredService(); + + await service.ConfirmAiWorksheetAsync(formVersionId, new ConfirmAiWorksheetDto + { + WorksheetId = worksheet.Id, + SelectedFieldIds = [] + }); + + worksheet.Published.ShouldBeTrue(); + worksheet.Sections.Single().Fields.ShouldBeEmpty(); + await customFieldRepository.Received(2).DeleteAsync(Arg.Any()); + await worksheetLinkRepository.Received(1).InsertAsync(Arg.Any(), true); + } + + private static Worksheet BuildAiWorksheet(Guid formId, Guid formVersionId, bool published, int fieldCount = 1) + { + var worksheet = new Worksheet( + Guid.NewGuid(), + $"ai-form-{formId}-version-{formVersionId}-worksheet", + "AI Worksheet"); + worksheet.SetPublished(published); + + var section = new WorksheetSection(Guid.NewGuid(), "Suggested Fields") + { + Worksheet = worksheet + }; + worksheet.AddSection(section); + + for (var index = 0; index < fieldCount; index++) + { + var field = new CustomField( + Guid.NewGuid(), + $"Field{index}", + worksheet.Name, + index == 0 ? "Project Name" : $"Field {index}", + CustomFieldType.Text, + "{}"); + field.Section = section; + section.Fields.Add(field); + } + + return worksheet; + } + [Fact] public void MappingReadService_Should_Use_Canonical_CustomField_Name_For_Worksheet_Field_Name() { @@ -157,7 +300,11 @@ public void MappingReadService_Should_Exclude_System_Fields_From_Unity_Core_Fiel private static ApplicationFormVersionAppService CreateService( IRepository repository, IApplicationFormVersionMappingReadService mappingReadService, - IFormMappingService aiService) + IFormMappingService aiService, + IApplicationFormVersionRepository? formVersionRepository = null, + IWorksheetRepository? worksheetRepository = null, + IRepository? customFieldRepository = null, + IWorksheetLinkRepository? worksheetLinkRepository = null) { var featureChecker = Substitute.For(); featureChecker.IsEnabledAsync(AIFeatures.FormMapping).Returns(true); @@ -171,13 +318,16 @@ private static ApplicationFormVersionAppService CreateService( Substitute.For(), Substitute.For(), Substitute.For(), - Substitute.For(), + formVersionRepository ?? Substitute.For(), Substitute.For(), Substitute.For(), featureChecker, mappingReadService, cooldownService, - aiService); + aiService, + worksheetRepository ?? Substitute.For(), + customFieldRepository ?? Substitute.For>(), + worksheetLinkRepository ?? Substitute.For()); return service; } } From fd71be88830748e69366e1bdf8b2fa2473689c5d Mon Sep 17 00:00:00 2001 From: Jacob Smith Date: Tue, 21 Jul 2026 16:51:01 -0700 Subject: [PATCH 15/40] AB#33866 keep worksheet review available during cooldown --- .../Pages/ApplicationForms/Mapping.js | 12 ++++++++++-- .../Shared/Components/CustomFields/Default.cshtml | 11 +++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/ApplicationForms/Mapping.js b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/ApplicationForms/Mapping.js index e8db85ca6a..ebd88fcb5f 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/ApplicationForms/Mapping.js +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/ApplicationForms/Mapping.js @@ -60,6 +60,7 @@ btnGenerate: $('#btn-generate'), btnGenerateWorksheet: $('#btn-generate-worksheet'), btnGenerateScoresheet: $('#btn-generate-scoresheet'), + btnReviewWorksheet: $('#btn-review-worksheet'), worksheetReviewModal: $('#aiWorksheetReviewModal'), worksheetReviewFields: $('#aiWorksheetReviewFields'), worksheetReviewEmpty: $('#aiWorksheetReviewEmpty'), @@ -108,6 +109,7 @@ UIElements.btnGenerate.on('click', queueFormMapping); UIElements.btnGenerateWorksheet.on('click', queueFormWorksheet); UIElements.btnGenerateScoresheet.on('click', queueFormScoresheet); + UIElements.btnReviewWorksheet.on('click', loadAiWorksheetReview); UIElements.btnConfirmWorksheet.on('click', confirmAiWorksheet); UIElements.btnCancelWorksheet.on('click', cancelAiWorksheet); UIElements.worksheetReviewModal.on('hidden.bs.modal', cancelAiWorksheetIfNeeded); @@ -363,8 +365,14 @@ } function setAiWorksheetPending(isPending) { - UIElements.btnGenerateWorksheet.attr('data-ai-pending', isPending ? 'true' : 'false'); - UIElements.btnGenerateWorksheet.find('span').last().text(isPending ? 'Review Worksheet' : 'Generate Worksheet'); + UIElements.btnGenerateWorksheet + .attr('data-ai-pending', isPending ? 'true' : 'false') + .toggleClass('d-none', isPending); + UIElements.btnReviewWorksheet.toggleClass('d-none', !isPending); + + if (!isPending) { + globalThis.syncAIRateLimitButtons?.(); + } } function loadAiWorksheetReview() { diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/Default.cshtml b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/Default.cshtml index 6ba10aaec8..93d2a2d2e6 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/Default.cshtml +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/CustomFields/Default.cshtml @@ -23,12 +23,19 @@ form="worksheet-config-form" /> @if (await PermissionChecker.IsGrantedAsync(AIPermissions.FormWorksheet.Generate)) { - + } From 1441a2d8e3a9eb593f7cf1ac50b8f0a79a4b29ef Mon Sep 17 00:00:00 2001 From: Armin Hasanpour Date: Thu, 23 Jul 2026 15:49:34 -0700 Subject: [PATCH 16/40] AB#33787 - Converted remaining Stateless sync guards to async --- .../Domain/Services/PaymentsManager.cs | 30 +++++++++---------- .../Domain/Workflow/Workflow.cs | 3 +- .../Workflow/UnityWorkflow.cs | 3 +- .../Applications/ApplicationManager.cs | 6 ++-- 4 files changed, 22 insertions(+), 20 deletions(-) diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Services/PaymentsManager.cs b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Services/PaymentsManager.cs index a10121e4e8..fdd0b90074 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Services/PaymentsManager.cs +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Services/PaymentsManager.cs @@ -32,37 +32,37 @@ public class PaymentsManager( private void ConfigureWorkflow(StateMachine paymentStateMachine) { paymentStateMachine.Configure(PaymentRequestStatus.L1Pending) - .PermitIf(PaymentApprovalAction.L1Approve, PaymentRequestStatus.L2Pending, () => HasPermissionAsync(PaymentsPermissions.Payments.L1ApproveOrDecline).GetAwaiter().GetResult()) - .PermitIf(PaymentApprovalAction.L1Decline, PaymentRequestStatus.L1Declined, () => HasPermissionAsync(PaymentsPermissions.Payments.L1ApproveOrDecline).GetAwaiter().GetResult()); + .PermitIfAsync(PaymentApprovalAction.L1Approve, PaymentRequestStatus.L2Pending, () => HasPermissionAsync(PaymentsPermissions.Payments.L1ApproveOrDecline)) + .PermitIfAsync(PaymentApprovalAction.L1Decline, PaymentRequestStatus.L1Declined, () => HasPermissionAsync(PaymentsPermissions.Payments.L1ApproveOrDecline)); paymentStateMachine.Configure(PaymentRequestStatus.L1Declined) - .PermitIf(PaymentApprovalAction.L1Approve, PaymentRequestStatus.L2Pending, () => HasPermissionAsync(PaymentsPermissions.Payments.L1ApproveOrDecline).GetAwaiter().GetResult()); + .PermitIfAsync(PaymentApprovalAction.L1Approve, PaymentRequestStatus.L2Pending, () => HasPermissionAsync(PaymentsPermissions.Payments.L1ApproveOrDecline)); paymentStateMachine.Configure(PaymentRequestStatus.L2Pending) - .PermitIf(PaymentApprovalAction.L2Approve, PaymentRequestStatus.L3Pending, () => HasPermissionAsync(PaymentsPermissions.Payments.L2ApproveOrDecline).GetAwaiter().GetResult()) - .PermitIf(PaymentApprovalAction.Submit, PaymentRequestStatus.Submitted, () => HasPermissionAsync(PaymentsPermissions.Payments.L2ApproveOrDecline).GetAwaiter().GetResult()) - .PermitIf(PaymentApprovalAction.L2Decline, PaymentRequestStatus.L2Declined, () => HasPermissionAsync(PaymentsPermissions.Payments.L2ApproveOrDecline).GetAwaiter().GetResult()); + .PermitIfAsync(PaymentApprovalAction.L2Approve, PaymentRequestStatus.L3Pending, () => HasPermissionAsync(PaymentsPermissions.Payments.L2ApproveOrDecline)) + .PermitIfAsync(PaymentApprovalAction.Submit, PaymentRequestStatus.Submitted, () => HasPermissionAsync(PaymentsPermissions.Payments.L2ApproveOrDecline)) + .PermitIfAsync(PaymentApprovalAction.L2Decline, PaymentRequestStatus.L2Declined, () => HasPermissionAsync(PaymentsPermissions.Payments.L2ApproveOrDecline)); paymentStateMachine.Configure(PaymentRequestStatus.L2Declined) - .PermitIf(PaymentApprovalAction.L2Approve, PaymentRequestStatus.L3Pending, () => HasPermissionAsync(PaymentsPermissions.Payments.L2ApproveOrDecline).GetAwaiter().GetResult()) - .PermitIf(PaymentApprovalAction.Submit, PaymentRequestStatus.Submitted, () => HasPermissionAsync(PaymentsPermissions.Payments.L2ApproveOrDecline).GetAwaiter().GetResult()); + .PermitIfAsync(PaymentApprovalAction.L2Approve, PaymentRequestStatus.L3Pending, () => HasPermissionAsync(PaymentsPermissions.Payments.L2ApproveOrDecline)) + .PermitIfAsync(PaymentApprovalAction.Submit, PaymentRequestStatus.Submitted, () => HasPermissionAsync(PaymentsPermissions.Payments.L2ApproveOrDecline)); paymentStateMachine.Configure(PaymentRequestStatus.L3Pending) - .PermitIf(PaymentApprovalAction.Submit, PaymentRequestStatus.Submitted, () => HasPermissionAsync(PaymentsPermissions.Payments.L3ApproveOrDecline).GetAwaiter().GetResult()) - .PermitIf(PaymentApprovalAction.L3Decline, PaymentRequestStatus.L3Declined, () => HasPermissionAsync(PaymentsPermissions.Payments.L3ApproveOrDecline).GetAwaiter().GetResult()) - .PermitIf(PaymentApprovalAction.Cancel, PaymentRequestStatus.Cancelled, () => HasPermissionAsync(PaymentsPermissions.Payments.CancelPayment).GetAwaiter().GetResult()); + .PermitIfAsync(PaymentApprovalAction.Submit, PaymentRequestStatus.Submitted, () => HasPermissionAsync(PaymentsPermissions.Payments.L3ApproveOrDecline)) + .PermitIfAsync(PaymentApprovalAction.L3Decline, PaymentRequestStatus.L3Declined, () => HasPermissionAsync(PaymentsPermissions.Payments.L3ApproveOrDecline)) + .PermitIfAsync(PaymentApprovalAction.Cancel, PaymentRequestStatus.Cancelled, () => HasPermissionAsync(PaymentsPermissions.Payments.CancelPayment)); paymentStateMachine.Configure(PaymentRequestStatus.L2Declined) - .PermitIf(PaymentApprovalAction.Submit, PaymentRequestStatus.Submitted, () => HasPermissionAsync(PaymentsPermissions.Payments.L2ApproveOrDecline).GetAwaiter().GetResult()); + .PermitIfAsync(PaymentApprovalAction.Submit, PaymentRequestStatus.Submitted, () => HasPermissionAsync(PaymentsPermissions.Payments.L2ApproveOrDecline)); paymentStateMachine.Configure(PaymentRequestStatus.L1Pending) - .PermitIf(PaymentApprovalAction.Cancel, PaymentRequestStatus.Cancelled, () => HasPermissionAsync(PaymentsPermissions.Payments.CancelPayment).GetAwaiter().GetResult()); + .PermitIfAsync(PaymentApprovalAction.Cancel, PaymentRequestStatus.Cancelled, () => HasPermissionAsync(PaymentsPermissions.Payments.CancelPayment)); paymentStateMachine.Configure(PaymentRequestStatus.L2Pending) - .PermitIf(PaymentApprovalAction.Cancel, PaymentRequestStatus.Cancelled, () => HasPermissionAsync(PaymentsPermissions.Payments.CancelPayment).GetAwaiter().GetResult()); + .PermitIfAsync(PaymentApprovalAction.Cancel, PaymentRequestStatus.Cancelled, () => HasPermissionAsync(PaymentsPermissions.Payments.CancelPayment)); paymentStateMachine.Configure(PaymentRequestStatus.HistoricalPayment) - .PermitIf(PaymentApprovalAction.Cancel, PaymentRequestStatus.Cancelled, () => HasPermissionAsync(PaymentsPermissions.Payments.CancelPayment).GetAwaiter().GetResult()); + .PermitIfAsync(PaymentApprovalAction.Cancel, PaymentRequestStatus.Cancelled, () => HasPermissionAsync(PaymentsPermissions.Payments.CancelPayment)); } private async Task HasPermissionAsync(string permission) diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Workflow/Workflow.cs b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Workflow/Workflow.cs index 6b977cdb2f..c5d83c9aba 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Workflow/Workflow.cs +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Application/Domain/Workflow/Workflow.cs @@ -1,5 +1,6 @@ using Stateless; using System; +using System.Linq; using System.Threading.Tasks; using Volo.Abp; @@ -40,7 +41,7 @@ public virtual TStates GetState() public virtual async Task ExecuteActionAsync(TTriggers action) { - if (_stateMachine.CanFire(action)) + if ((await _stateMachine.GetPermittedTriggersAsync()).Contains(action)) { await _stateMachine.FireAsync(action); } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Workflow/UnityWorkflow.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Workflow/UnityWorkflow.cs index 8db065c27b..0034ad6a26 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Workflow/UnityWorkflow.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Workflow/UnityWorkflow.cs @@ -1,5 +1,6 @@ using Stateless; using System; +using System.Linq; using System.Threading.Tasks; using Volo.Abp; @@ -40,7 +41,7 @@ public virtual TStates GetState() public virtual async Task ExecuteActionAsync(TTriggers action) { - if (_stateMachine.CanFire(action)) + if ((await _stateMachine.GetPermittedTriggersAsync()).Contains(action)) { await _stateMachine.FireAsync(action); } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/ApplicationManager.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/ApplicationManager.cs index 36408a71eb..8a2238a365 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/ApplicationManager.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/ApplicationManager.cs @@ -135,7 +135,7 @@ public void ConfigureWorkflow(StateMachine HasPermission(GrantApplicationPermissions.Approvals.DeferAfterApproval)) + .PermitIfAsync(GrantApplicationAction.Defer, GrantApplicationState.DEFER, () => HasPermissionAsync(GrantApplicationPermissions.Approvals.DeferAfterApproval)) .PermitIf(GrantApplicationAction.Deny, GrantApplicationState.GRANT_NOT_APPROVED, () => isDirectApproval, DirectDenialDescription); stateMachine.Configure(GrantApplicationState.GRANT_NOT_APPROVED) @@ -160,9 +160,9 @@ private static bool AllowDirectDecision( return isDirectApproval && stateMachine.State != targetState; } - private bool HasPermission(string permission) + private async Task HasPermissionAsync(string permission) { - return _permissionChecker.IsGrantedAsync(permission).Result; + return await _permissionChecker.IsGrantedAsync(permission); } public async Task> GetActions(Guid applicationId) From 7f1634c5090685c170be8a02b8cc59e23c9d85de Mon Sep 17 00:00:00 2001 From: aurelio-aot Date: Thu, 23 Jul 2026 16:49:51 -0700 Subject: [PATCH 17/40] AB#33414: Security Finding: Upload File Validation Uses Denylist --- applications/Unity.GrantManager/.env.example | 2 +- .../NotificationsSettingGroup/Default.cshtml | 2 +- .../NotificationsSettingGroup/Default.js | 4 +- .../NotificationsSettingViewComponent.cs | 2 +- .../NotificationsSettingViewModel.cs | 2 +- .../Controllers/AttachmentController.cs | 254 ++++++-- .../Controllers/FileSignatureValidator.cs | 75 +++ .../Pages/Applicants/Details.cshtml | 2 +- .../Pages/Applicants/Details.cshtml.cs | 4 +- .../Pages/Applicants/Details.js | 6 +- .../Pages/GrantApplications/Details.cshtml | 18 +- .../Pages/GrantApplications/Details.cshtml.cs | 4 +- .../Pages/GrantApplications/Details.js | 6 +- .../Shared/Components/EmailsWidget/Default.js | 4 +- .../Unity.GrantManager.Web/appsettings.json | 2 +- .../Components/AttachmentControllerTests.cs | 584 ++++++++++++++++++ 16 files changed, 894 insertions(+), 77 deletions(-) create mode 100644 applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Controllers/FileSignatureValidator.cs diff --git a/applications/Unity.GrantManager/.env.example b/applications/Unity.GrantManager/.env.example index c937e86596..8a96d4d6fd 100644 --- a/applications/Unity.GrantManager/.env.example +++ b/applications/Unity.GrantManager/.env.example @@ -54,7 +54,7 @@ AuthServer__OidcSignoutCallback="http://localhost:44342/signout-callback-oidc" ##S3__SecretAccessKey="******************" ##S3__ApplicationS3Folder="Unity/Application" ##S3__AssessmentS3Folder="Unity/Adjudication" -##S3__DisallowedFileTypes="[ "exe" , "sh" , "ksh" , "bat" , "cmd" ]" +##S3__AllowedFileTypes=["pdf","doc","docx","xls","xlsx","ppt","pptx","jpg","jpeg","png","gif","txt","csv","zip"] ##S3__MaxFileSize="25" ##S3__EmailAttachmentMaxFileSize="20" ##S3__EmailAttachmentsTotalMaxFileSize="25" diff --git a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Views/Settings/NotificationsSettingGroup/Default.cshtml b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Views/Settings/NotificationsSettingGroup/Default.cshtml index 1fc31ed1c2..015e4a3e13 100644 --- a/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Views/Settings/NotificationsSettingGroup/Default.cshtml +++ b/applications/Unity.GrantManager/modules/Unity.Notifications/src/Unity.Notifications.Web/Views/Settings/NotificationsSettingGroup/Default.cshtml @@ -63,7 +63,7 @@