21 lines
802 B
C#
21 lines
802 B
C#
using Fitness_core_BE.Models;
|
|
|
|
namespace Fitness_core_BE.Interfaces
|
|
{
|
|
public interface IStaffRepository
|
|
{
|
|
Task<List<Staff>> GetAllStaff(bool includeInactive = false);
|
|
Task<Staff?> GetStaffById(Guid staffId);
|
|
Task<List<Staff>> GetStaffByClientId(Guid clientId, bool includeInactive = false);
|
|
Task<Staff> CreateStaff(Staff staff, User user);
|
|
Task<Staff> UpdateStaff(Staff staff);
|
|
Task<bool> DeleteStaff(Guid staffId, bool softDelete = true);
|
|
|
|
// Basic HRM/payroll (req 5).
|
|
Task<StaffPayRate?> GetActivePayRateAsync(Guid staffId);
|
|
Task<StaffPayRate> AddPayRateAsync(StaffPayRate rate);
|
|
Task<List<StaffPayment>> GetPaymentsAsync(Guid staffId);
|
|
Task<StaffPayment> AddPaymentAsync(StaffPayment payment);
|
|
}
|
|
}
|