Skip to content
Merged

Test #1559

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
ca6aefb
feature/AB#28691-AccountCoding-FirstDraft
jimmyPasta Apr 14, 2025
6baeee5
Merge branch 'dev' into feature/AB#28691-AccountCodingMulti
jimmyPasta Apr 16, 2025
98437c2
feature/AB#28691-AccountCodingMulti-Step2
jimmyPasta Apr 16, 2025
18237b4
feature/AB#28691-AccountCodingOnTab
jimmyPasta Apr 24, 2025
a6704ff
Merge branch 'dev' into feature/AB#28691-AccountCodingMulti
jimmyPasta Apr 24, 2025
5a2cb5c
feature/AB#28691-AccountCodingMulti Dev
jimmyPasta Apr 30, 2025
6ad7ec4
feature/AB#28691-AccountCodingMulti
jimmyPasta May 14, 2025
5acd6f0
AB#29051 - Add CC and BCC support to email notification system
plavoie-BC Jun 26, 2025
c3fb80e
AB#29051 - Standardize CC and BCC support around IEnumerable parsing
plavoie-BC Jun 26, 2025
44f0a9d
AB#29051 - Add ParseEmailList String Extension to handle formatting
plavoie-BC Jul 7, 2025
8c31f1a
AB#29051 - SonarQube Cleanup
plavoie-BC Jul 7, 2025
7a04abe
Merge branch 'dev' into 'feature/AB#29051-email-add-bcc'
plavoie-BC Jul 7, 2025
a5bdba6
AB#29460 - Hotfix - Remove statement overwriting ApplicantName
plavoie-BC Jul 8, 2025
3fc1102
Merge branch 'dev' into feature/AB#28691-AccountCodingMulti2
jimmyPasta Jul 10, 2025
26159a5
feature/AB#29315 Summary fields for batch approval
samsaravillo Jul 11, 2025
058b6cb
AB#28707 - Add Non-Registered Organization and Business Columns
plavoie-BC Jul 11, 2025
bec21e8
Merge branch 'dev' into feature/AB#29315-Batch-approval-summary-fields
samsaravillo Jul 14, 2025
b4c73bd
feature/AB#29315 Batch approval summary fields
samsaravillo Jul 14, 2025
680857c
Merge branch 'dev' into feature/AB#29315-Batch-approval-summary-fields
samsaravillo Jul 15, 2025
4d2aaa3
Merge pull request #1511 from bcgov/feature/AB#MergeBackMainToDev
plavoie-BC Jul 15, 2025
9e0cb69
Merge pull request #1512 from bcgov/hotfix/AB#29555-TotalPaidFormatting
JamesPasta Jul 15, 2025
789d9f5
Merge pull request #1513 from bcgov/dev
JamesPasta Jul 15, 2025
0f74371
Merge branch 'dev' into feature/AB#29315-Batch-approval-summary-fields
samsaravillo Jul 16, 2025
c8852b1
AB#29575 move formschema and version info outside of Flex feature check
AndreGAot Jul 16, 2025
fdbf816
Merge pull request #1516 from bcgov/bugfix/AB#29575-formsubmissiontab…
JamesPasta Jul 16, 2025
03886a2
Merge pull request #1501 from bcgov/feature/AB#29315-Batch-approval-s…
JamesPasta Jul 16, 2025
a5c10c2
feature/AB#28691-AccountCodingMulti
jimmyPasta Jul 18, 2025
7474e11
29471:Create a DB table for Internal notification groups to be used f…
don-aot Jul 18, 2025
eeaeff7
Merge branch 'dev' into feature/AB#29471-Create-a-DB-table-for-Intern…
don-aot Jul 18, 2025
1a4d415
feature/AB#28691-AccountCodingMulti
jimmyPasta Jul 18, 2025
08de2bf
feature/AB#28691-AccountCodingMulti
jimmyPasta Jul 18, 2025
6a23725
feature/AB#28691-AccountCodingMulti-FixUnit
jimmyPasta Jul 18, 2025
fc80379
Fix error when merging applicants
aurelio-aot Jul 18, 2025
f4603ed
feature/AB#28691-AccountCodingMulti-FixSonarFinishEAApproval
jimmyPasta Jul 18, 2025
d8c08a8
AB#29554 - Payment Info Permissions - SonarQube Cleanup
plavoie-BC Jul 21, 2025
a86bfec
Merge remote-tracking branch 'origin/dev' into hotfix/merge-main-to-dev
plavoie-BC Jul 21, 2025
409de7c
feature/AB#28691-AccountCodingMulti-FixSonarFinishEAApproval
jimmyPasta Jul 21, 2025
3da666a
Merge pull request #1520 from bcgov/hotfix/merge-main-to-dev
JamesPasta Jul 21, 2025
e2c822a
Merge pull request #1519 from bcgov/bugfix/AB#29585-merge-applicant-e…
JamesPasta Jul 21, 2025
4e97737
Merge pull request #1518 from bcgov/feature/AB#29471-Create-a-DB-tabl…
JamesPasta Jul 21, 2025
51cdb53
bugfix/AB#29376 Added scrolling to submissions summary page
cyrusparsons Jul 21, 2025
b93bee7
Merge branch 'dev' into bugfix/AB#29376-CSS-Adjustment-In-Submission-…
cyrusparsons Jul 21, 2025
cabdc95
AB#29471 - Update EmailGroupUsersAppService.cs
plavoie-BC Jul 21, 2025
4c9b23a
Merge pull request #1522 from bcgov/bugfix/AB#29471-fix-interface-typo
JamesPasta Jul 21, 2025
429d95c
AB#29471 - Email Group SonarQube Fixes
plavoie-BC Jul 21, 2025
80751c8
feature/AB#28691-AccountCodingMulti-Finish Edge cases
jimmyPasta Jul 21, 2025
55114ac
feature/AB#28691-AccountCodingMulti-FinishMergeDev
jimmyPasta Jul 21, 2025
37a0857
feature/AB#28691-AccountCodingMulti-FinishMergeDev
jimmyPasta Jul 21, 2025
0920e0f
Update applications/Unity.GrantManager/src/Unity.GrantManager.Web/Vie…
JamesPasta Jul 21, 2025
c0bf9f3
Update applications/Unity.GrantManager/src/Unity.GrantManager.Web/Vie…
JamesPasta Jul 21, 2025
0d60baf
Update applications/Unity.GrantManager/modules/Unity.Payments/src/Uni…
JamesPasta Jul 21, 2025
8743745
Update applications/Unity.GrantManager/src/Unity.GrantManager.Applica…
JamesPasta Jul 21, 2025
f8b2e59
feature/AB#28691-AccountCodingMulti-FinishMergeDev
jimmyPasta Jul 21, 2025
66476cb
Merge branch 'feature/AB#28691-AccountCodingMulti' of https://github.…
jimmyPasta Jul 21, 2025
86a71e3
Merge pull request #1521 from bcgov/bugfix/AB#29376-CSS-Adjustment-In…
JamesPasta Jul 21, 2025
f27a977
Merge branch 'dev' into bugfix/AB#29471-email-group-sonarqube
plavoie-BC Jul 21, 2025
f03a2f2
Merge pull request #1523 from bcgov/bugfix/AB#29471-email-group-sonar…
JamesPasta Jul 21, 2025
5714fd9
Merge pull request #1259 from bcgov/feature/AB#28691-AccountCodingMulti
JamesPasta Jul 21, 2025
82f69cd
feature/AB#28691-AccountCodingMulti-Sonarissues
jimmyPasta Jul 21, 2025
e743d60
Merge pull request #1525 from bcgov/feature/AB#28691-AccountCoding
JamesPasta Jul 21, 2025
bcf52fa
Merge pull request #1524 from bcgov/dev
JamesPasta Jul 21, 2025
7bcdbe9
feature/AB#28529-FailedPaymentRequests
jimmyPasta Jul 21, 2025
f559279
Merge pull request #1526 from bcgov/feature/AB#28529-FailedPaymentReq…
JamesPasta Jul 21, 2025
417ffd5
AB#28585 - Add Tag Assignment Permission Definitions
plavoie-BC Jul 21, 2025
a9261f5
AB#28585 - Add Tag Assignment Permission Data Seeder
plavoie-BC Jul 21, 2025
6ce57d0
AB#29594: Fix for updating ApplicantInfo after merging applicants
aurelio-aot Jul 22, 2025
4ce17e2
Merge pull request #1527 from bcgov/bugfix/AB#29594-ApplicantInfo-Not…
JamesPasta Jul 22, 2025
fa47da7
AB#28585 - Update Tag Assignment Permission Data Seeder
plavoie-BC Jul 22, 2025
9e7f075
Merge remote-tracking branch 'origin/dev' into feature/AB#28585-assig…
plavoie-BC Jul 22, 2025
8b02806
feature/AB#29603-FixAddressOrdering
jimmyPasta Jul 22, 2025
2b2ee41
bugfix/AB#29539 Added clearing filters to default view logic
cyrusparsons Jul 23, 2025
1d23a00
Merge pull request #1528 from bcgov/bugfix/AB#29539-Clear-Filter-In-D…
JamesPasta Jul 23, 2025
678cd27
feature/AB#27184-MonitoringRabbits
jimmyPasta Jul 23, 2025
f225846
Merge pull request #1529 from bcgov/feature/AB#27184-MonitoringRabbits
samsaravillo Jul 24, 2025
7424dcf
Merge pull request #1530 from bcgov/dev
JamesPasta Jul 24, 2025
9618302
AB#29251 Add createS3Secret control flag for dataRestore with Vault i…
DarylTodosichuk Jul 24, 2025
246b138
Merge pull request #1531 from bcgov/feature/AB#29251-change-data-capt…
JamesPasta Jul 24, 2025
2c2f746
feature/AB#27184-MonitoringRabbits-Fix BUILD
jimmyPasta Jul 24, 2025
1190915
Merge pull request #1532 from bcgov/feature/AB#27184-MonitoringRabbits
JamesPasta Jul 24, 2025
750063b
Merge pull request #1533 from bcgov/dev
JamesPasta Jul 24, 2025
cf33eb9
bugfix/AB#29607-FixAmounts
jimmyPasta Jul 25, 2025
ce0af33
Merge pull request #1534 from bcgov/bugfix/AB#29607-AmountsOnPaymentR…
JamesPasta Jul 25, 2025
04e2b4b
Merge pull request #1535 from bcgov/dev
JamesPasta Jul 25, 2025
62561e6
bugfix/AB#29581 Fix css due to upgrade
samsaravillo Jul 25, 2025
f6a6140
AB#29492: Add ApplicationId in ApplicantAddresses
aurelio-aot Jul 23, 2025
3babf75
AB#29492: Fix EF DB Snapshot
aurelio-aot Jul 23, 2025
9d8c6fc
AB#29492: Add ApplicationId in ApplicationAddress table
aurelio-aot Jul 23, 2025
8a0a88d
AB#29492: database script to populate applicationID in addresses
aurelio-aot Jul 24, 2025
2868659
AB#29492: ApplicantAddress is now related to Application
aurelio-aot Jul 24, 2025
ee4c538
AB#29492: Fix Indigenous indicator bug
aurelio-aot Jul 24, 2025
c231323
AB#29492:Electoral District is not included in the merging choices
aurelio-aot Jul 24, 2025
7219a6e
AB#29492: Fix bug on wrong values to be merged
aurelio-aot Jul 24, 2025
14967a2
AB#29492: Applicant Lookup: Merge Duplicate Applicants
aurelio-aot Jul 26, 2025
461701e
AB#29492: Add message about preserving contact info and address
aurelio-aot Jul 26, 2025
552a5de
AB#29492: Fix sonarqube issues
aurelio-aot Jul 26, 2025
78db0c8
AB#29596 - Remove legacy Supplier Info Permission
plavoie-BC Jul 28, 2025
0af2d31
AB#29596 - Add Payment Configuration UI Fieldset for Edit Permissions
plavoie-BC Jul 28, 2025
c23563a
Merge branch 'dev' into bugfix/AB#29581-CSS-issue
plavoie-BC Jul 28, 2025
028c918
Merge pull request #1536 from bcgov/bugfix/AB#29581-CSS-issue
plavoie-BC Jul 28, 2025
2537487
Merge remote-tracking branch 'origin/dev' into bugfix/AB#29596-paymen…
plavoie-BC Jul 28, 2025
55069c5
Merge remote-tracking branch 'origin/dev' into feature/AB#29051-email…
plavoie-BC Jul 28, 2025
cd12371
Merge pull request #1538 from bcgov/features/AB#29492-Merge-Duplicate…
JamesPasta Jul 29, 2025
f9751dc
Merge pull request #1539 from bcgov/bugfix/AB#29596-payment-ui-config…
JamesPasta Jul 29, 2025
f832e37
Merge pull request #1540 from bcgov/dev
JamesPasta Jul 29, 2025
8f18d4c
Merge remote-tracking branch 'origin/dev' into feature/AB#28707-non-r…
plavoie-BC Jul 29, 2025
90b943d
Merge remote-tracking branch 'origin/dev' into hotfix/AB#29460-recove…
plavoie-BC Jul 29, 2025
1d11f1c
AB#28585 - Tag Permissions - Add Application Tag Modal Permission Con…
plavoie-BC Jul 29, 2025
10b9951
AB#28585 - Tag Permissions - Add Payment Tag Modal Permission Constra…
plavoie-BC Jul 29, 2025
f10c6a4
Merge remote-tracking branch 'origin/dev' into feature/AB#28585-assig…
plavoie-BC Jul 29, 2025
1376a81
AB#28585 - Code Quality Improvements
plavoie-BC Jul 29, 2025
eebb127
AB#28707 - Remove display of unused Non-Registered Business Name Columns
plavoie-BC Jul 29, 2025
93a35bf
AB#28707 - Map IntakeMapping.NonRegisteredBusinessName to Applicant.N…
plavoie-BC Jul 29, 2025
56a0845
Merge pull request #1542 from bcgov/feature/AB#28707-non-reg-org-name…
JamesPasta Jul 29, 2025
38ed4ea
AB#29683: Remove note below the applicant merge screen
aurelio-aot Jul 29, 2025
cd8eedc
Merge remote-tracking branch 'origin/dev' into hotfix/AB#29460-recove…
plavoie-BC Jul 30, 2025
653ceee
bugfix/AB#29438 Fix dropdown alignment for column visibility option
samsaravillo Jul 30, 2025
ae717fb
AB#29460 - Add Recover Applicant Names DataFix Migration Script
plavoie-BC Jul 30, 2025
dc43b21
AB#29051 - Email CC & BCC Bugfixes
plavoie-BC Jul 30, 2025
d1c380e
Merge remote-tracking branch 'origin/dev' into feature/AB#29051-email…
plavoie-BC Jul 30, 2025
b58d185
Merge pull request #1546 from bcgov/hotfix/AB#29460-recover-applicant…
JamesPasta Jul 30, 2025
431fd52
Merge pull request #1545 from bcgov/bugfix/AB#29438-Fix-checkmark-on-…
JamesPasta Jul 30, 2025
2a2b4bd
Merge pull request #1543 from bcgov/bugfix/AB#29683-remove-deduplicat…
JamesPasta Jul 30, 2025
1b54b49
Merge pull request #1541 from bcgov/feature/AB#28585-assign-tag-permi…
JamesPasta Jul 30, 2025
fbf2c51
bugfix/AB#29607-FixAmounts
jimmyPasta Jul 30, 2025
9fa60cf
Update applications/Unity.GrantManager/modules/Unity.Payments/src/Uni…
JamesPasta Jul 30, 2025
75d6e6e
Update applications/Unity.GrantManager/modules/Unity.Payments/src/Uni…
JamesPasta Jul 30, 2025
e09d915
Update applications/Unity.GrantManager/modules/Unity.Payments/src/Uni…
JamesPasta Jul 30, 2025
4873a2d
Update applications/Unity.GrantManager/modules/Unity.Payments/src/Uni…
JamesPasta Jul 30, 2025
7cac551
Merge pull request #1547 from bcgov/feature/AB#28691-Payments
JamesPasta Jul 30, 2025
535feec
Merge pull request #1548 from bcgov/dev
JamesPasta Jul 30, 2025
9bd9ff0
bugfix/AB#29682-FixJsonInvalidScoresheet
jimmyPasta Jul 30, 2025
d6187d9
AB#29051 - Code Quality Cleanup and Update Email Address Validation
plavoie-BC Jul 30, 2025
80892c2
Merge remote-tracking branch 'origin/dev' into feature/AB#29051-email…
plavoie-BC Jul 30, 2025
6a89e50
Update applications/Unity.GrantManager/modules/Unity.Flex/src/Unity.F…
JamesPasta Jul 30, 2025
aaf791e
AB#29051 - Code Quality Fixes
plavoie-BC Jul 30, 2025
676b9cd
AB#29051 - Code Quality Email Validation Fix
plavoie-BC Jul 30, 2025
acb64b5
AB#29694:Bugfix contact info not saving
aurelio-aot Jul 30, 2025
74cf131
bugfix/AB#28691-FixUnitTest
jimmyPasta Jul 30, 2025
ea03e7b
Merge pull request #1551 from bcgov/bugfix/AB#28691-FixUnitTests
JamesPasta Jul 30, 2025
f8c229a
Merge pull request #1550 from bcgov/bugfix/AB#29694-contact-info-not-…
JamesPasta Jul 30, 2025
d5e982f
Merge pull request #1549 from bcgov/bugfix/AB#29682-FixJsonInvalidSco…
JamesPasta Jul 30, 2025
4a3bc26
bugfix/AB#28691-FixL3
jimmyPasta Jul 30, 2025
7a9b4be
Merge branch 'dev' into bugfix/AB#28691-FixUnitTests
jimmyPasta Jul 30, 2025
5a064f8
Merge pull request #1552 from bcgov/bugfix/AB#28691-FixUnitTests
JamesPasta Jul 30, 2025
666663a
Merge pull request #1544 from bcgov/feature/AB#29051-email-add-bcc
JamesPasta Jul 30, 2025
c4f8c2f
bugfix/AB#28691-FixSonar
jimmyPasta Jul 30, 2025
60e42b6
Merge pull request #1554 from bcgov/bugfix/AB#28691-FixUnitTests
JamesPasta Jul 30, 2025
3acf818
Merge pull request #1553 from bcgov/dev
JamesPasta Jul 30, 2025
77a75c8
AB#29251 standardize values S3 config structure
DarylTodosichuk Jul 30, 2025
cf8b251
AB#29492: Fix snapshot again
aurelio-aot Jul 31, 2025
ae992f3
AB#29492: Data fix for ApplicationAddress
aurelio-aot Jul 31, 2025
cfbd937
bugfix/AB#29530-DisableSiteEditBased on permission
jimmyPasta Jul 31, 2025
8c38512
Merge pull request #1556 from bcgov/feature/AB#29492-applicant-addres…
JamesPasta Jul 31, 2025
5687ac4
Merge pull request #1555 from bcgov/bugfix/AB#29251-s3-values-cleanup
JamesPasta Jul 31, 2025
d6979f8
Merge pull request #1557 from bcgov/bugfix/AB#29530-FixEditSupplierDi…
JamesPasta Jul 31, 2025
d1867e8
Merge pull request #1558 from bcgov/dev
JamesPasta Jul 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion applications/Unity.AutoUI/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,74 @@ public class QuestionDto : ExtensibleEntityDto<Guid>

public string? GetMin()
{
return JsonSerializer.Deserialize<NumericDefinition>(Definition ?? "{}")?.Min.ToString();
try
{
var def = JsonSerializer.Deserialize<NumericDefinition>(Definition ?? "{}");
if (def?.Min == null)
return null;
// Only allow Int64 values
if (long.TryParse(def.Min.ToString(), out var minValue))
return minValue.ToString();
return null;
}
catch
{
return null;
}
}

public string? GetMax()
{
return JsonSerializer.Deserialize<NumericDefinition>(Definition ?? "{}")?.Max.ToString();
try
{
var def = JsonSerializer.Deserialize<NumericDefinition>(Definition ?? "{}");
if (def?.Max == null)
return null;
// Only allow Int64 values
if (long.TryParse(def.Max.ToString(), out var maxValue))
return maxValue.ToString();
return null;
}
catch
{
return null;
}
}

public string? GetMinLength()
{
return JsonSerializer.Deserialize<TextDefinition>(Definition ?? "{}")?.MinLength.ToString();
try
{
var def = JsonSerializer.Deserialize<TextDefinition>(Definition ?? "{}");
if (def?.MinLength == null)
return null;
// Only allow Int64 values
if (long.TryParse(def.MinLength.ToString(), out var minLength))
return minLength.ToString();
return null;
}
catch
{
return null;
}
}

public string? GetMaxLength()
{
return JsonSerializer.Deserialize<TextDefinition>(Definition ?? "{}")?.MaxLength.ToString();
try
{
var def = JsonSerializer.Deserialize<TextDefinition>(Definition ?? "{}");
if (def?.MaxLength == null)
return null;
// Only allow Int64 values
if (long.TryParse(def.MaxLength.ToString(), out var maxLength))
return maxLength.ToString();
return null;
}
catch
{
return null;
}
}

public string? GetYesValue()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,27 @@ public static string ConvertInputType(this CustomFieldType type)

public static CustomFieldDefinition? ConvertDefinition(this string definition, QuestionType type)
{
return type switch
if (string.IsNullOrWhiteSpace(definition))
{
QuestionType.Text => JsonSerializer.Deserialize<TextDefinition>(definition),
QuestionType.Number => JsonSerializer.Deserialize<NumericDefinition>(definition),
QuestionType.YesNo => JsonSerializer.Deserialize<QuestionYesNoDefinition>(definition),
QuestionType.SelectList => JsonSerializer.Deserialize<QuestionSelectListDefinition>(definition),
QuestionType.TextArea => JsonSerializer.Deserialize<TextAreaDefinition>(definition),
_ => null,
};
return null;
}

try
{
return type switch
{
QuestionType.Text => JsonSerializer.Deserialize<TextDefinition>(definition),
QuestionType.Number => JsonSerializer.Deserialize<NumericDefinition>(definition),
QuestionType.YesNo => JsonSerializer.Deserialize<QuestionYesNoDefinition>(definition),
QuestionType.SelectList => JsonSerializer.Deserialize<QuestionSelectListDefinition>(definition),
QuestionType.TextArea => JsonSerializer.Deserialize<TextAreaDefinition>(definition),
_ => null,
};
}
catch (JsonException)
{
return null;
}
}

public static string[] GetCheckedOptions(this string value)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,36 @@ public class NumericDefinitionWidget : AbpViewComponent
.ApplyRequired(form);
}

// Cache JsonSerializerOptions instance
private static readonly JsonSerializerOptions CachedJsonOptions = new JsonSerializerOptions
{
NumberHandling = System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString
};

public async Task<IViewComponentResult> InvokeAsync(string? definition)
{
if (definition != null)
NumericDefinitionViewModel viewModel = new();

if (!string.IsNullOrWhiteSpace(definition))
{
NumericDefinition? numericDefinition = JsonSerializer.Deserialize<NumericDefinition>(definition);
if (numericDefinition != null)
try
{
return View(await Task.FromResult(new NumericDefinitionViewModel()
var numericDefinition = JsonSerializer.Deserialize<NumericDefinition>(definition, CachedJsonOptions);

if (numericDefinition != null)
{
Min = numericDefinition.Min,
Max = numericDefinition.Max,
Required = numericDefinition.Required
}));
viewModel.Min = numericDefinition.Min;
viewModel.Max = numericDefinition.Max;
viewModel.Required = numericDefinition.Required;
}
}
catch (JsonException)
{
// Optionally log the error
}
}

return View(await Task.FromResult(new NumericDefinitionViewModel()));
return View(await Task.FromResult(viewModel));
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using System;
using Volo.Abp.Application.Dtos;

namespace Unity.Notifications.EmailGroups
{
public class EmailGroupUsersDto :EntityDto<Guid>
{

public Guid GroupId { get; set; }
public Guid UserId { get; set; }

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;


namespace Unity.Notifications.EmailGroups
{
public interface IEmailGroupUsersAppService
{
Task<EmailGroupUsersDto> InsertAsync (EmailGroupUsersDto dto);
Task<bool> DeleteUserAsync (Guid id);
Task<bool> DeleteUsersByGroupIdAsync (Guid id);
Task<bool> DeleteUsersByUserIdAsync(Guid id);
Task<List<EmailGroupUsersDto>> GetEmailGroupUsersByGroupIdAsync(Guid id);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
using System;
using Volo.Abp.Application.Dtos;

namespace Unity.Notifications.EmailGroups
{
public class EmailGroupDto :EntityDto<Guid>
{

public string Name { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public string Type { get; set; } = string.Empty;

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;


namespace Unity.Notifications.EmailGroups
{
public interface IEmailGroupsAppService
{
Task<EmailGroupDto> CreateAsync (EmailGroupDto dto);
Task<EmailGroupDto> UpdateAsync (EmailGroupDto dto);
Task<bool> DeleteAsync (Guid id);
Task<List<EmailGroupDto>> GetListAsync();
Task<EmailGroupDto> GetEmailGroupByIdAsync(Guid id);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ public class EmailHistoryDto : ExtensibleAuditedEntityDto<Guid>
public string Status { get; set; } = string.Empty;
public string FromAddress { get; set; } = string.Empty;
public string ToAddress { get; set; } = string.Empty;
public string Cc { get; set; } = string.Empty;
public string Bcc { get; set; } = string.Empty;
public DateTime? SentDateTime { get; set; }
public string Body { get; set; } = string.Empty;
public EmailHistoryUserDto? SentBy { get; set; }
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
using Microsoft.AspNetCore.Authorization;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using Volo.Abp.DependencyInjection;


namespace Unity.Notifications.EmailGroups
{

[Authorize]
[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(EmailGroupUsersAppService), typeof(IEmailGroupUsersAppService))]
public class EmailGroupUsersAppService : ApplicationService, IEmailGroupUsersAppService
{
private readonly IEmailGroupUsersRepository _emailGroupUsersRepository;

public EmailGroupUsersAppService(IEmailGroupUsersRepository emailGroupUsersRepository)
{
_emailGroupUsersRepository = emailGroupUsersRepository;
}
public async Task<EmailGroupUsersDto> InsertAsync(EmailGroupUsersDto dto)
{
var newUser = await _emailGroupUsersRepository.InsertAsync(new EmailGroupUser
{
GroupId = dto.GroupId,
UserId = dto.UserId,

});
return new EmailGroupUsersDto
{
Id = newUser.Id,
GroupId = newUser.GroupId,
UserId = newUser.UserId,
};
}



public async Task<bool> DeleteUserAsync(Guid id)
{
try
{
await _emailGroupUsersRepository.DeleteAsync(id);
return true;
}
catch (Exception ex)
{
throw new InvalidOperationException($"Error deleting email group with ID {id}: {ex.Message}");
}
}
public async Task<bool> DeleteUsersByUserIdAsync(Guid id)
{
try
{
await _emailGroupUsersRepository.DeleteAsync(id);
return true;
}
catch (Exception ex)
{
throw new InvalidOperationException($"Error deleting email group with ID {id}: {ex.Message}");
}
}
public async Task<bool> DeleteUsersByGroupIdAsync(Guid id)
{
try
{
await _emailGroupUsersRepository.DeleteAsync(id);
return true;
}
catch (Exception ex)
{
throw new InvalidOperationException($"Error deleting email group with ID {id}: {ex.Message}");
}
}

public async Task<List<EmailGroupUsersDto>> GetEmailGroupUsersByGroupIdAsync(Guid id)
{
var users = await _emailGroupUsersRepository.GetListAsync(u => u.GroupId == id);

return ObjectMapper.Map<List<EmailGroupUser>, List<EmailGroupUsersDto>>(users);
}
}
}
Loading