49 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using gehGassiApp.Domain.Common;
using gehGassiApp.Domain.Lookup;
using gehGassiApp.Domain.News;
namespace gehGassiApp.Core.Interfaces
{
/// <summary>
/// Schnittstellenbeschreibung für einen Service der Lookups durchführen kann
/// </summary>
public interface ILookupService
{
/// <summary>
/// Gibt eine Liste von dogOwnern und/oder DogWalkern für einen Lookup zurück
/// </summary>
/// <param name="filter">Filter</param>
/// <param name="take">Anzahl max. Datensätze</param>
/// <param name="accessToken">Aktuelles Accesstoken</param>
/// <param name="token">CancellationToken</param>
/// <returns>ListCommunicationResult</returns>
Task<CommunicationResult<List<AppUserLookup>>> GetEntitiesAsync(string filter, int take, string accessToken, CancellationToken token);
/// <summary>
/// Gibt eine Liste von Dogwalkern mit Distanz zur aktuellen Position zurück
/// </summary>
/// <param name="ignoreId">Id die ignoriert werden soll falls der Benutzer DogOwner und DogWalker ist</param>
/// <param name="lat">Breitengrad</param>
/// <param name="lng">Längengrad</param>
/// <param name="take">Anzahl Walker gewünscht</param>
/// <param name="accessToken">Aktuelles Accesstoken</param>
/// <param name="token">CancellationToken</param>
/// <returns>CommunicationResult</returns>
Task<CommunicationResult<List<DogWalkerLookup>>> GetWalkersAsync(string ignoreId, double lat, double lng, int take, string accessToken, CancellationToken token);
/// <summary>
/// Gibt Detailinfos zu einem DogWalker zurück
/// </summary>
/// <param name="dogWalkerId">Id des Dogwalkers</param>
/// <param name="accessToken">Aktuelles Accesstoken</param>
/// <param name="token">CancellationToken</param>
/// <returns>CommunicationResult</returns>
Task<CommunicationResult<DogWalkerInfo>> GetWalkerAsync(string dogWalkerId, string accessToken, CancellationToken token);
}
}