21 lines
1.1 KiB
C#
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);
|
|
} |