Files
aviq-boilerplate/CityInfo.API/Services/ICityInfoRepository.cs
2026-03-20 23:52:10 +01:00

19 lines
889 B
C#

using CityInfo.API.Entities;
namespace CityInfo.API.Services
{
public interface ICityInfoRepository
{
Task<IEnumerable<City>> GetCitiesAsync();
Task<(IEnumerable<City>, PaginationMetadata)> GetCitiesAsync(string? name, string? searchQuery, int pageNumber, int pageSize);
Task<City?> GetCityAsync(int cityId, bool includePointsOfinterest);
Task<bool> CityExistAsync(int cityId);
Task<IEnumerable<PointOfInterest>> GetPointsOfinterestForCityAsync(int cityId);
Task<PointOfInterest?> GetPointOfInterestForCityAsync(int cityId, int pointOfInterestId);
Task CreatePointOfInterestForCityAsync(int cityId, PointOfInterest pointOfInterest);
void DeletePointOfInterest(PointOfInterest pointOfInterest);
Task<bool> CityNameMatchesCityId(string? cityName, int cityId);
Task<bool> SaveChangesAsync();
}
}