19 lines
889 B
C#
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();
|
|
}
|
|
}
|