Skip to content
Merged

Dev #1524

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 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
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
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
099801b
Merge pull request #1514 from bcgov/hotfix/AB#29555-TotalPaidFormatting
JamesPasta Jul 15, 2025
1611059
AB#29554 - Hotfix - Payment Info Permissions Loading
plavoie-BC Jul 15, 2025
5ee0070
Merge branch 'main' into hotfix/AB#29554-payment-info-permissions
plavoie-BC Jul 15, 2025
1d7f14c
Merge pull request #1515 from bcgov/hotfix/AB#29554-payment-info-perm…
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
5cef0d1
hotfix/AB#29166-UploadToS3
jimmyPasta Jul 16, 2025
37e09aa
Merge pull request #1517 from bcgov/hotfix/AB#29166-attachment-upload…
JamesPasta 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
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
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
@@ -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);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
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(EmailGroupsAppService), typeof(IEmailGroupsAppService))]
public class EmailGroupsAppService : ApplicationService, IEmailGroupsAppService
{
private readonly IEmailGroupsRepository _emailGroupsRepository;

public EmailGroupsAppService(IEmailGroupsRepository emailGroupsRepository)
{
_emailGroupsRepository = emailGroupsRepository;
}
public async Task<EmailGroupDto> CreateAsync(EmailGroupDto dto)
{
var newGroup = await _emailGroupsRepository.InsertAsync(new EmailGroup
{
Name = dto.Name,
Description = dto.Description,
Type = dto.Type
});
return new EmailGroupDto
{
Id = newGroup.Id,
Name = newGroup.Name,
Description = newGroup.Description,
Type = newGroup.Type
};
}

public async Task<EmailGroupDto> UpdateAsync(EmailGroupDto dto)
{
var emailGroup = await _emailGroupsRepository.GetAsync(dto.Id, true);
emailGroup.Name = dto.Name;
emailGroup.Description = dto.Description;
emailGroup.Type = dto.Type;
await _emailGroupsRepository.UpdateAsync(emailGroup, autoSave: true);
return new EmailGroupDto
{
Id = emailGroup.Id,
Name = emailGroup.Name,
Description = emailGroup.Description,
Type = emailGroup.Type
};
}

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

public async Task<List<EmailGroupDto>> GetListAsync()
{
var groups = await _emailGroupsRepository.GetListAsync();
return ObjectMapper.Map<List<EmailGroup>, List<EmailGroupDto>>(groups);
}

public async Task<EmailGroupDto> GetEmailGroupByIdAsync(Guid id)
{
var group = await _emailGroupsRepository.GetAsync(id);
return ObjectMapper.Map<EmailGroup, EmailGroupDto>(group);
}

}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using AutoMapper;
using Unity.Notifications.EmailGroups;
using Unity.Notifications.Emails;
using Volo.Abp.Users;

Expand All @@ -11,5 +12,7 @@ public NotificationsApplicationAutoMapperProfile()
CreateMap<EmailLog, EmailHistoryDto>()
.ForMember(x => x.SentBy, map => map.Ignore());
CreateMap<IUserData, EmailHistoryUserDto>();
CreateMap<EmailGroup, EmailGroupDto>();
CreateMap<EmailGroupUser, EmailGroupUsersDto>();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
using System;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;

namespace Unity.Notifications.EmailGroups;

public class EmailGroupUser : AuditedAggregateRoot<Guid>, IMultiTenant
{

public virtual Guid? TenantId { get; protected set; }
public Guid GroupId { get; set; }
public Guid UserId { get; set; }

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using System;
using Volo.Abp.Domain.Repositories;

namespace Unity.Notifications.EmailGroups;

public interface IEmailGroupUsersRepository : IRepository<EmailGroupUser, Guid>
{

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
using System;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;

namespace Unity.Notifications.EmailGroups;

public class EmailGroup : AuditedAggregateRoot<Guid>, IMultiTenant
{
public virtual Guid? TenantId { get; protected set; }
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,9 @@
using System;
using Volo.Abp.Domain.Repositories;

namespace Unity.Notifications.EmailGroups;

public interface IEmailGroupsRepository : IRepository<EmailGroup, Guid>
{

}
Loading