using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassi.Dto.Common; using gehGassiApp.Domain.Advertisements; using gehGassiApp.Domain.Common; namespace gehGassiApp.Core.Interfaces { /// /// Schnittstellenbeschreibung für einen Service der alle Funktionen rund um Werbungen zur Verfügung stellt /// public interface IAdvertisementService { /// /// Holen der Liste der Werbungs-Kategorien welche online sind /// /// gewünschte Sprache /// Aktuelles Accesstoken /// CancellationToken /// CommunicationResult Task>> GetCategoriesOnlineAsync(string language, string accessToken, CancellationToken token); /// /// Gibt eine Liste von ablaufenden Werbungen zurück, welche in der Nähe sind /// /// Aktuelle Position /// Wie viele Werbungen sollen abgerufen werden? -1 Wenn nicht anwenden. /// Wie viele Werbungen sollen ausgelassen werden? -1 Wenn nicht anwenden. /// Akteuller Modus der App /// Aktuelles Accesstoken /// Gewünschte Sprache /// CancellationToken /// ListCommunicationResult Task>> GetAdvertisementsNearEndAsync(LocationDto location, int take, int skip, AppMode appMode, string accessToken, string language, CancellationToken token); /// /// Gibt eine laufende Werbung in gewünschter Sprache zurück /// /// Id der Werbung /// gewünschte Sprache /// Aktuelles Accesstoken /// CancellationToken /// CommunicationResult Task> GetRunningAsync(string id, string language, string accessToken, CancellationToken token); /// /// Gibt eine Liste von Werbungen nach Kategorie zurück /// /// Id der Kategorie /// Aktuelle Position /// Wie viele Werbungen sollen abgerufen werden? -1 Wenn nicht anwenden. /// Wie viele Werbungen sollen ausgelassen werden? -1 Wenn nicht anwenden. /// Akteuller Modus der App /// Aktuelles Accesstoken /// Gewünschte Sprache /// CancellationToken /// ListCommunicationResult Task>> GetAdvertisementsByCategoryAsync(string categoryId, LocationDto location, int take, int skip, AppMode appMode, string language, string accessToken, CancellationToken token); } }