38 lines
1.5 KiB
C#

using gehGassiApp.Core.Interfaces.Synchronization;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using gehGassiApp.Domain.Dogs;
namespace gehGassiApp.Core.Interfaces
{
/// <summary>
/// Schnittstellenbeschreibung für einen Service der die Verwaltung von Hunderassen realisiert
/// </summary>
public interface IDogRaceService : IService<DogRace>, ISyncPushPullService<DogRace>
{
/// <summary>
/// Gibt eine Liste der Hunderassen zurück.
/// Entweder von der DB oder vom Server
/// </summary>
/// <param name="language">Gewünschte Sprache</param>
/// <param name="accessToken">Aktuelles Accesstoken</param>
/// <param name="token">CancellationToken</param>
/// <returns>Liste der Hunderassen</returns>
Task<List<DogRace>> GetRacesAsync(string language, string accessToken, CancellationToken token);
/// <summary>
/// Gibt eine Hunderasse zurück.
/// Entweder von der DB oder vom Server
/// </summary>
/// <param name="id">Id der Hunderasse</param>
/// <param name="language">Gewünschte Sprache</param>
/// <param name="accessToken">Aktuelles Accesstoken</param>
/// <param name="token">CancellationToken</param>
/// <returns>Hunderasse oder null, wenn nicht gefunden</returns>
Task<DogRace> GetRaceAsync(string id, string language, string accessToken, CancellationToken token);
}
}