using Data.SeaHavenIndustries; namespace SeaHaven.DataServices.Interfaces { public interface ILocationDataService { Task GetByIdAsync(int id); Task GetByIdWithDetailsAsync(int id); Task> GetAllAsync(); Task> GetByAccountIdAsync(int accountId); // Paged results returning DTOs Task<(IEnumerable Items, int TotalCount)> GetPagedAsync(int page, int pageSize, string? search = null); // For addressbook endpoint - returns simplified DTO Task<(IEnumerable Items, int TotalCount)> GetAddressbookPagedAsync(int page, int pageSize, string? search = null); Task AddAsync(Locations location); Task UpdateAsync(Locations location); Task DeleteAsync(int id); Task ExistsAsync(int id); Task CountAsync(); } }