Files
amrez-nova-eop-services-api/AMREZ.EOP.Abstractions/Infrastructures/Repositories/IUserProfileRepository.cs
Thanakarn Klangkasame 92e614674c Init Git
2025-09-30 11:01:02 +07:00

21 lines
1.1 KiB
C#

using AMREZ.EOP.Domain.Entities.HumanResources;
namespace AMREZ.EOP.Abstractions.Infrastructures.Repositories;
public interface IUserProfileRepository
{
Task<UserProfile?> GetByUserIdAsync(Guid userId, CancellationToken ct = default);
Task UpsertAsync(UserProfile profile, CancellationToken ct = default);
Task<Employment> AddEmploymentAsync(Employment e, CancellationToken ct = default);
Task EndEmploymentAsync(Guid employmentId, DateTime endDate, CancellationToken ct = default);
Task<EmployeeAddress> AddAddressAsync(EmployeeAddress a, CancellationToken ct = default);
Task SetPrimaryAddressAsync(Guid userProfileId, Guid addressId, CancellationToken ct = default);
Task<EmergencyContact> AddEmergencyContactAsync(EmergencyContact c, CancellationToken ct = default);
Task SetPrimaryEmergencyContactAsync(Guid userProfileId, Guid contactId, CancellationToken ct = default);
Task<EmployeeBankAccount> AddBankAccountAsync(EmployeeBankAccount b, CancellationToken ct = default);
Task SetPrimaryBankAccountAsync(Guid userProfileId, Guid bankAccountId, CancellationToken ct = default);
}