diff --git a/Shared/Interfaces/IEventRegistrationService.cs b/Shared/Interfaces/IEventRegistrationService.cs index 864b30f..495ca46 100644 --- a/Shared/Interfaces/IEventRegistrationService.cs +++ b/Shared/Interfaces/IEventRegistrationService.cs @@ -5,26 +5,84 @@ using SZUAbsolventenverein.Module.EventRegistration.Models; namespace SZUAbsolventenverein.Module.EventRegistration.Services { + + /// + /// Methods for managing events and their responses + /// public interface IEventRegistrationService { - /* Reine Events */ + /// + /// Alle Events eines Moduls abrufen + /// + /// das aufrufende Modul + /// Liste aller Veranstaltungen Task> GetEventsAsync(int ModuleId); + /// + /// Ein bestimmtes Event abrufen + /// + /// das aufzurufende Event + /// das aufrufende Modul + /// Das Event selbst Task GetEventAsync(int EventId, int ModuleId); + /// + /// Ein neues Event anlegen + /// + /// das anzulegende Event + /// das angelegte Event Task AddEventAsync(Event NewEvent); - Task UpdateEventAsync(Event NewEvent); + /// + /// Ändern eines bestehenden Events + /// + /// Das Eventobjekt mit aktualisierte Event + /// das gespeicherte Event + Task UpdateEventAsync(Event UpdatedEvent); + /// + /// Löschen eines Events + /// + /// das zu löschende Event + /// das aufrufende Modul + /// Task DeleteEventAsync(int EventId, int ModuleId); - - /* Events & Responses */ + /// + /// Eine neue Antwort zu einem Event hinzufügen + /// + /// die Antwort + /// die gespeicherte Antwort Task AddResponseAsync(Response Response); + /// + /// Eine bestehende Antwort zu einem Event aktualisieren + /// + /// die neue Antwort + /// die gespeicherte neue Antwort Task UpdateResponseAsync(Response Response); + /// + /// Details zu einem Event abrufen (Event + Antwort vom auktuellen Benutzer) + /// + /// das aufzurufende Event + /// das aufrufende Modul + /// Tuple aus Event und Antwort Task<(Event, Response)> GetEventDetails(int EventId, int ModuleId); + /// + /// Alle Antworten zu einem Event abrufen + /// + /// das Event, dessen Antworten geladen werden sollen + /// das aufrufende Modul + /// Liste aller Antworten auf das Event Task> GetEventResponses(int EventId, int ModuleId); + + /// + /// 10 Antworten eines Events abrufen, welche gewichtet zurückgeliefert werden + /// + /// das aufzurufende Event + /// das aufrufende Modul + /// Liste mit 10 + Task> GetRecommendedEventResponses(int EventId, int MouleId); } }