48 lines
2.1 KiB
C#

using gehGassiApp.Core.Interfaces.Synchronization;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using gehGassi.Dto.Common;
using gehGassi.Dto.DogWalkers;
using gehGassiApp.Domain.Lookup;
namespace gehGassiApp.Core.Interfaces
{
/// <summary>
/// Schnittstellenbeschreibung für einen Service der die Verwaltung von DogWalkern ermöglicht
/// </summary>
public interface IDogWalkerService
{
/// <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>> GetDogWalkerAsync(string dogWalkerId, string accessToken, CancellationToken token);
/// <summary>
/// Gibt Dogwalker vom Server zurück
/// </summary>
/// <param name="query">Query-Objekt für Dogwalker</param>
/// <param name="location">Aktuelle Position</param>
/// <param name="accessToken">Aktuelles Accesstoken</param>
/// <param name="token">CancellationToken</param>
/// <returns>ListCommunicationResult</returns>
Task<ListCommunicationResult<List<DogWalkerInfo>>> GetDogWalkersAsync(DogWalkerQueryDto query, LocationDto location, string accessToken, CancellationToken token);
/// <summary>
/// Gibt Dogwalker als Lookup vom Server zurück
/// </summary>
/// <param name="query">Query-Objekt für Dogwalker</param>
/// <param name="location">Aktuelle Position</param>
/// <param name="accessToken">Aktuelles Accesstoken</param>
/// <param name="token">CancellationToken</param>
/// <returns>ListCommunicationResult</returns>
Task<ListCommunicationResult<List<DogWalkerLookup>>> GetDogWalkersLookupAsync(DogWalkerQueryDto query, LocationDto location, string accessToken, CancellationToken token);
}
}