shoc-backend/SeaHaven.Services/Interfaces/IEmployeeService.cs
2026-04-28 18:55:14 -05:00

17 lines
753 B
C#

using SeaHaven.Services.DTOs;
namespace SeaHaven.Services.Interfaces
{
public interface IEmployeeService
{
Task<EmployeeDTO?> GetEmployeeByIdAsync(int id);
Task<EmployeeDTO?> GetEmployeeByIdWithDetailsAsync(int id);
Task<IEnumerable<EmployeeDTO>> GetAllEmployeesAsync();
Task<PagedResult<EmployeeDTO>> GetEmployeesPagedAsync(int page, int pageSize, string? search = null);
Task<EmployeeDTO> CreateEmployeeAsync(CreateEmployeeDTO dto, string userId);
Task<EmployeeDTO> UpdateEmployeeAsync(int id, UpdateEmployeeDTO dto, string userId);
Task DeleteEmployeeAsync(int id, string userId);
Task<bool> EmployeeExistsAsync(int id);
Task<int> GetTotalEmployeeCountAsync();
}
}