58 lines
2.9 KiB
C#
58 lines
2.9 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// Schnittstellenbeschreibung für einen Service der alle Funktionen für Banner zur Verfügung stellt
|
|
/// </summary>
|
|
public interface IBannerService
|
|
{
|
|
/// <summary>
|
|
/// Gibt einen zufälligen Banner für eine Platzierung zurück
|
|
/// </summary>
|
|
|
|
/// <param name="location">Bannerplatzierung</param>
|
|
/// <param name="currentBannerId">Optional: Id des Banners der gerade angezeigt wird</param>
|
|
/// <param name="currentLocation">Aktuelle Position</param>
|
|
/// <param name="accessToken">Aktuelles Accesstoken</param>
|
|
/// <param name="appMode">Akteuller Modus der App</param>
|
|
/// <param name="language">Gewünschte Sprache</param>
|
|
/// <param name="token">CancellationToken</param>
|
|
/// <returns>CommunicationResult</returns>
|
|
Task<CommunicationResult<Banner>> GetForLocationAsync(BannerLocation location, string currentBannerId, LocationDto currentLocation, string accessToken, AppMode appMode, string language, CancellationToken token);
|
|
|
|
/// <summary>
|
|
/// Hinzufügen von Clicks zu einem Banner
|
|
/// </summary>
|
|
/// <param name="bannerId">Id des Banners</param>
|
|
/// <param name="clicks">Anzahl der Klicks</param>
|
|
/// <param name="appMode">Akteuller Modus der App</param>
|
|
/// <param name="location">Aktuelle Position</param>
|
|
/// <param name="language">Gewünschte Sprache</param>
|
|
/// <param name="accessToken">Aktuelles Accesstoken</param>
|
|
/// <param name="token">CancellationToken</param>
|
|
/// <returns>CommunicationResult - true wenn noch gültig, false wenn der Banner nicht mehr gültig ist</returns>
|
|
Task<CommunicationResult<bool>> AddClicksAsync(string bannerId, int clicks, AppMode appMode, LocationDto location, string language, string accessToken, CancellationToken token);
|
|
|
|
/// <summary>
|
|
/// Hinzufügen von views zu einem Banner
|
|
/// </summary>
|
|
/// <param name="bannerId">Id des Banners</param>
|
|
/// <param name="views">Anzahl der Views</param>
|
|
/// <param name="appMode">Akteuller Modus der App</param>
|
|
/// <param name="location">Aktuelle Position</param>
|
|
/// <param name="language">Gewünschte Sprache</param>
|
|
/// <param name="accessToken">Aktuelles Accesstoken</param>
|
|
/// <param name="token">CancellationToken</param>
|
|
/// <returns>CommunicationResult - true wenn noch gültig, false wenn der Banner nicht mehr gültig ist</returns>
|
|
Task<CommunicationResult<bool>> AddViewsAsync(string bannerId, int views, AppMode appMode, LocationDto location, string language, string accessToken, CancellationToken token);
|
|
}
|
|
}
|