using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassi.Dto.Common; using gehGassiApp.Domain.Banners; using gehGassiApp.Domain.Common; namespace gehGassiApp.Core.Interfaces { /// /// Schnittstellenbeschreibung für einen Service der alle Funktionen für Banner zur Verfügung stellt /// public interface IBannerService { /// /// Gibt einen zufälligen Banner für eine Platzierung zurück /// /// Bannerplatzierung /// Optional: Id des Banners der gerade angezeigt wird /// Aktuelle Position /// Aktuelles Accesstoken /// Akteuller Modus der App /// Gewünschte Sprache /// CancellationToken /// CommunicationResult Task> GetForLocationAsync(BannerLocation location, string currentBannerId, LocationDto currentLocation, string accessToken, AppMode appMode, string language, CancellationToken token); /// /// Hinzufügen von Clicks zu einem Banner /// /// Id des Banners /// Anzahl der Klicks /// Akteuller Modus der App /// Aktuelle Position /// Gewünschte Sprache /// Aktuelles Accesstoken /// CancellationToken /// CommunicationResult - true wenn noch gültig, false wenn der Banner nicht mehr gültig ist Task> AddClicksAsync(string bannerId, int clicks, AppMode appMode, LocationDto location, string language, string accessToken, CancellationToken token); /// /// Hinzufügen von views zu einem Banner /// /// Id des Banners /// Anzahl der Views /// Akteuller Modus der App /// Aktuelle Position /// Gewünschte Sprache /// Aktuelles Accesstoken /// CancellationToken /// CommunicationResult - true wenn noch gültig, false wenn der Banner nicht mehr gültig ist Task> AddViewsAsync(string bannerId, int views, AppMode appMode, LocationDto location, string language, string accessToken, CancellationToken token); } }