2026-04-28 18:55:14 -05:00
|
|
|
using SeaHaven.Services.DTOs;
|
|
|
|
|
|
|
|
|
|
namespace SeaHaven.Services.Interfaces
|
|
|
|
|
{
|
|
|
|
|
public interface ILocationService
|
|
|
|
|
{
|
|
|
|
|
Task<LocationDTO?> GetLocationByIdAsync(int id);
|
|
|
|
|
Task<LocationDTO?> GetLocationByIdWithDetailsAsync(int id);
|
|
|
|
|
Task<IEnumerable<LocationDTO>> GetAllLocationsAsync();
|
|
|
|
|
Task<IEnumerable<LocationDTO>> GetLocationsByAccountIdAsync(int accountId);
|
|
|
|
|
Task<PagedResult<LocationDTO>> GetLocationsPagedAsync(int page, int pageSize, string? search = null);
|
2026-07-17 10:36:32 -03:00
|
|
|
Task<IReadOnlyList<SiteOptionDTO>> GetSiteOptionsAsync(string? search = null);
|
2026-04-28 18:55:14 -05:00
|
|
|
Task<LocationDTO> CreateLocationAsync(CreateLocationDTO dto, string userId);
|
|
|
|
|
Task<LocationDTO> UpdateLocationAsync(int id, UpdateLocationDTO dto, string userId);
|
|
|
|
|
Task DeleteLocationAsync(int id, string userId);
|
|
|
|
|
Task<bool> LocationExistsAsync(int id);
|
|
|
|
|
Task<int> GetTotalLocationCountAsync();
|
2026-07-24 17:35:34 -03:00
|
|
|
|
|
|
|
|
Task<PagedResult<LocationDTO>> GetLocationListPagedAsync(int page, int pageSize, string? search, CancellationToken cancellationToken);
|
|
|
|
|
Task<LocationDTO?> GetLocationDetailAsync(int id, CancellationToken cancellationToken);
|
|
|
|
|
Task CreateLocationFromRequestAsync(LocationCreateRequestDTO request, CancellationToken cancellationToken);
|
|
|
|
|
Task UpdateLocationFromRequestAsync(int id, LocationUpdateRequestDTO request, CancellationToken cancellationToken);
|
|
|
|
|
Task<bool> DeleteLocationByIdAsync(int id, CancellationToken cancellationToken);
|
2026-04-28 18:55:14 -05:00
|
|
|
}
|
|
|
|
|
}
|