121 lines
6.6 KiB
C#
121 lines
6.6 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 gehGassiApp.Domain.Common;
|
|
using gehGassiApp.Domain.Walks;
|
|
|
|
namespace gehGassiApp.Core.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// Schnittsstellenbeschreibung eines Service der die Verwaltung von Antworten auf öffentlichen Anfragen ermöglicht
|
|
/// </summary>
|
|
public interface IPublicWalkResponseService : IService<PublicWalkResponse>, ISyncPushPullService<PublicWalkResponse>
|
|
{
|
|
/// <summary>
|
|
/// Gibt eine Liste von Antworten zu einer öffentlichen Anfragen zurück
|
|
/// </summary>
|
|
/// <param name="publicWalkRequestId">Id der öffentlichen Anfrage</param>
|
|
/// <param name="location">Aktuelle Position</param>
|
|
/// <param name="take">Wie viele Listungen sollen abgerufen werden? -1 Wenn nicht anwenden.</param>
|
|
/// <param name="skip">Wie viele Listungen sollen ausgelassen werden? -1 Wenn nicht anwenden.</param>
|
|
/// <param name="appMode">Akteuller Modus der App</param>
|
|
/// <param name="language">Gewählte Sprache</param>
|
|
/// <param name="accessToken">Aktuelles Accesstoken</param>
|
|
/// <param name="token">CancellationToken</param>
|
|
/// <returns>ListCommunicationResult</returns>
|
|
Task<ListCommunicationResult<List<PublicWalkResponseWithNames>>> GetListAsync(string publicWalkRequestId, LocationDto location, int take, int skip, AppMode appMode, string language, string accessToken, CancellationToken token);
|
|
|
|
/// <summary>
|
|
/// Holen einer Antworten zu öffentlichen Anfragen
|
|
/// </summary>
|
|
/// <param name="publicWalkResponseId">Id der öffentlichen Anfrage</param>
|
|
/// <param name="accessToken">Aktuelles Accesstoken</param>
|
|
/// <param name="token">CancellationToken</param>
|
|
/// <returns>CommunicationResult</returns>
|
|
Task<PublicWalkResponse> GetAsync(string publicWalkResponseId, string accessToken, CancellationToken token);
|
|
|
|
/// <summary>
|
|
/// Holen einer Antworten zu öffentlichen Anfragen
|
|
/// </summary>
|
|
/// <param name="publicWalkResponseId">Id der öffentlichen Anfrage</param>
|
|
/// <param name="accessToken">Aktuelles Accesstoken</param>
|
|
/// <param name="token">CancellationToken</param>
|
|
/// <returns>CommunicationResult</returns>
|
|
Task<PublicWalkResponseWithNames> GetWithNamesAsync(string publicWalkResponseId, string accessToken, CancellationToken token);
|
|
|
|
/// <summary>
|
|
/// Holen einer Antworten zu öffentlichen Anfragen
|
|
/// </summary>
|
|
/// <param name="appUserId">Id des AppUsers</param>
|
|
/// <param name="publicWalkRequestId">Id der öffentlichen Anfrage</param>
|
|
/// <param name="accessToken">Aktuelles Accesstoken</param>
|
|
/// <param name="token">CancellationToken</param>
|
|
/// <returns>CommunicationResult</returns>
|
|
Task<PublicWalkResponse> GetForWalkerAsync(string appUserId, string publicWalkRequestId, string accessToken, CancellationToken token);
|
|
|
|
/// <summary>
|
|
/// Hinzufügen einer Antwort zu einer öffentlichen Anfrage
|
|
/// </summary>
|
|
/// <param name="response">Antwort zur Öffentliche Anfrage</param>
|
|
/// <param name="accessToken">Aktuelles Accesstoken</param>
|
|
/// <param name="token">CancellationToken</param>
|
|
/// <returns>PublicWalkRequest</returns>
|
|
Task<CommunicationResult<PublicWalkResponse>> AddAsync(PublicWalkResponse response, string accessToken, CancellationToken token);
|
|
|
|
/// <summary>
|
|
/// Prüft in der lokalen DB ob ein Walker für eine öffentliche Anfrage ein Angebot abgegeben hat
|
|
/// </summary>
|
|
/// <param name="appUserId">Id des Dogwalkers</param>
|
|
/// <param name="publicWalkRequestId">Id der öffentlichen Anfrage</param>
|
|
/// <returns>true wenn es ein Angebot gibt, false sonst</returns>
|
|
Task<bool> HasResponseAsync(string appUserId, string publicWalkRequestId);
|
|
|
|
/// <summary>
|
|
/// Aktualisieren einer Antwort zu einer öffentlichen Anfrage
|
|
/// </summary>
|
|
/// <param name="response">Antwort zur Öffentliche Anfrage</param>
|
|
/// <param name="updateStatus">Soll der Status aktualisiert werden?</param>
|
|
/// <param name="accessToken">Aktuelles Accesstoken</param>
|
|
/// <param name="token">CancellationToken</param>
|
|
/// <returns>PublicWalkRequest</returns>
|
|
Task<bool> UpdateAsync(PublicWalkResponse response, bool updateStatus, string accessToken, CancellationToken token);
|
|
|
|
/// <summary>
|
|
/// Ablehnen eines Angebotes zu einer öffentlichen Anfrage
|
|
/// </summary>
|
|
/// <param name="responseId">Id der Antwort</param>
|
|
/// <param name="publicWalkRequestId">Id der öffentlichen Anfrage</param>
|
|
/// <param name="accessToken">Aktuelles Accesstoken</param>
|
|
/// <param name="token">CancellationToken</param>
|
|
/// <returns>true wenn erfolgreich, false sonst</returns>
|
|
Task<bool> DeclineAsync(string responseId, string publicWalkRequestId, string accessToken, CancellationToken token);
|
|
|
|
/// <summary>
|
|
/// Bearbeiten eines bereits gestellten Angebotes zu einer öffentlichen Anfrage
|
|
/// </summary>
|
|
/// <param name="responseId">Id der Antwort</param>
|
|
/// <param name="publicWalkRequestId">Id der öffentlichen Anfrage</param>
|
|
/// <param name="price">Neuer Preis</param>
|
|
/// <param name="info">Info zum Angebot</param>
|
|
/// <param name="accessToken">Aktuelles Accesstoken</param>
|
|
/// <param name="token">CancellationToken</param>
|
|
/// <returns>true wenn erfolgreich, false sonst</returns>
|
|
Task<CommunicationResult<bool>> EditAsync(string responseId, string publicWalkRequestId, decimal price, string info, string accessToken, CancellationToken token);
|
|
|
|
/// <summary>
|
|
/// Bearbeiten eines bereits gestellten Angebotes zu einer öffentlichen Anfrage
|
|
/// </summary>
|
|
/// <param name="responseId">Id der Antwort</param>
|
|
/// <param name="publicWalkRequestId">Id der öffentlichen Anfrage</param>
|
|
/// <param name="cancellationReason">Grund für die Stornierung</param>
|
|
/// <param name="accessToken">Aktuelles Accesstoken</param>
|
|
/// <param name="token">CancellationToken</param>
|
|
/// <returns>true wenn erfolgreich, false sonst</returns>
|
|
Task<CommunicationResult<bool>> CancelAsync(string responseId, string publicWalkRequestId, string cancellationReason, string accessToken, CancellationToken token);
|
|
}
|
|
}
|