Comments: IEventRegistrationService.cs
This commit is contained in:
@ -5,26 +5,84 @@ using SZUAbsolventenverein.Module.EventRegistration.Models;
|
||||
|
||||
namespace SZUAbsolventenverein.Module.EventRegistration.Services
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Methods for managing events and their responses
|
||||
/// </summary>
|
||||
public interface IEventRegistrationService
|
||||
{
|
||||
/* Reine Events */
|
||||
/// <summary>
|
||||
/// Alle Events eines Moduls abrufen
|
||||
/// </summary>
|
||||
/// <param name="ModuleId">das aufrufende Modul</param>
|
||||
/// <returns>Liste aller Veranstaltungen</returns>
|
||||
Task<List<Event>> GetEventsAsync(int ModuleId);
|
||||
/// <summary>
|
||||
/// Ein bestimmtes Event abrufen
|
||||
/// </summary>
|
||||
/// <param name="EventId">das aufzurufende Event</param>
|
||||
/// <param name="ModuleId">das aufrufende Modul</param>
|
||||
/// <returns>Das Event selbst</returns>
|
||||
Task<Event> GetEventAsync(int EventId, int ModuleId);
|
||||
|
||||
/// <summary>
|
||||
/// Ein neues Event anlegen
|
||||
/// </summary>
|
||||
/// <param name="NewEvent">das anzulegende Event</param>
|
||||
/// <returns>das angelegte Event</returns>
|
||||
Task<Event> AddEventAsync(Event NewEvent);
|
||||
|
||||
Task<Event> UpdateEventAsync(Event NewEvent);
|
||||
/// <summary>
|
||||
/// Ändern eines bestehenden Events
|
||||
/// </summary>
|
||||
/// <param name="UpdatedEvent">Das Eventobjekt mit aktualisierte Event</param>
|
||||
/// <returns>das gespeicherte Event</returns>
|
||||
Task<Event> UpdateEventAsync(Event UpdatedEvent);
|
||||
|
||||
/// <summary>
|
||||
/// Löschen eines Events
|
||||
/// </summary>
|
||||
/// <param name="EventId">das zu löschende Event</param>
|
||||
/// <param name="ModuleId">das aufrufende Modul</param>
|
||||
/// <returns></returns>
|
||||
Task DeleteEventAsync(int EventId, int ModuleId);
|
||||
|
||||
|
||||
/* Events & Responses */
|
||||
/// <summary>
|
||||
/// Eine neue Antwort zu einem Event hinzufügen
|
||||
/// </summary>
|
||||
/// <param name="Response">die Antwort</param>
|
||||
/// <returns>die gespeicherte Antwort</returns>
|
||||
Task<Response> AddResponseAsync(Response Response);
|
||||
|
||||
/// <summary>
|
||||
/// Eine bestehende Antwort zu einem Event aktualisieren
|
||||
/// </summary>
|
||||
/// <param name="Response">die neue Antwort</param>
|
||||
/// <returns>die gespeicherte neue Antwort</returns>
|
||||
Task<Response> UpdateResponseAsync(Response Response);
|
||||
|
||||
/// <summary>
|
||||
/// Details zu einem Event abrufen (Event + Antwort vom auktuellen Benutzer)
|
||||
/// </summary>
|
||||
/// <param name="EventId">das aufzurufende Event</param>
|
||||
/// <param name="ModuleId">das aufrufende Modul</param>
|
||||
/// <returns>Tuple aus Event und Antwort</returns>
|
||||
Task<(Event, Response)> GetEventDetails(int EventId, int ModuleId);
|
||||
|
||||
/// <summary>
|
||||
/// Alle Antworten zu einem Event abrufen
|
||||
/// </summary>
|
||||
/// <param name="EventId">das Event, dessen Antworten geladen werden sollen</param>
|
||||
/// <param name="ModuleId">das aufrufende Modul</param>
|
||||
/// <returns>Liste aller Antworten auf das Event</returns>
|
||||
Task<List<Response>> GetEventResponses(int EventId, int ModuleId);
|
||||
|
||||
/// <summary>
|
||||
/// 10 Antworten eines Events abrufen, welche gewichtet zurückgeliefert werden
|
||||
/// </summary>
|
||||
/// <param name="EventId">das aufzurufende Event</param>
|
||||
/// <param name="MouleId">das aufrufende Modul</param>
|
||||
/// <returns>Liste mit 10 </returns>
|
||||
Task<List<Response>> GetRecommendedEventResponses(int EventId, int MouleId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user