From 74b650dd8e9ccd63d422a97dcf88d1f947a6db68 Mon Sep 17 00:00:00 2001 From: shept Date: Tue, 1 Apr 2025 16:52:02 +0500 Subject: [PATCH] added some service interfaces --- SurveyLib.Core/Services/IAnswerService.cs | 12 ++++++++++++ SurveyLib.Core/Services/ICompletionService.cs | 11 +++++++++++ SurveyLib.Core/Services/IQuestionService.cs | 11 +++++++++++ SurveyLib.Core/Services/ISurveyService.cs | 14 ++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 SurveyLib.Core/Services/IAnswerService.cs create mode 100644 SurveyLib.Core/Services/ICompletionService.cs create mode 100644 SurveyLib.Core/Services/IQuestionService.cs create mode 100644 SurveyLib.Core/Services/ISurveyService.cs diff --git a/SurveyLib.Core/Services/IAnswerService.cs b/SurveyLib.Core/Services/IAnswerService.cs new file mode 100644 index 0000000..d2122dc --- /dev/null +++ b/SurveyLib.Core/Services/IAnswerService.cs @@ -0,0 +1,12 @@ +using SurveyLib.Core.Models; + +namespace SurveyLib.Core.Services; + +public interface IAnswerService +{ + Task AddAnswerAsync(Answer answer); + Task UpdateAnswerAsync(Answer answer); + Task DeleteAnswerAsync(int id); + Task> GetAnswersByCompletionIdAsync(int completionId); + Task> GetAnswersByQuestionIdAsync(int questionId); +} \ No newline at end of file diff --git a/SurveyLib.Core/Services/ICompletionService.cs b/SurveyLib.Core/Services/ICompletionService.cs new file mode 100644 index 0000000..3a9430d --- /dev/null +++ b/SurveyLib.Core/Services/ICompletionService.cs @@ -0,0 +1,11 @@ +using SurveyLib.Core.Models; + +namespace SurveyLib.Core.Services; + +public interface ICompletionService +{ + Task AddCompletionAsync(Completion completion); + Task UpdateCompletionAsync(Completion completion); + Task DeleteCompletionAsync(int id); + Task> GetCompletionsBySurveyIdAsync(int surveyId); +} \ No newline at end of file diff --git a/SurveyLib.Core/Services/IQuestionService.cs b/SurveyLib.Core/Services/IQuestionService.cs new file mode 100644 index 0000000..af0d6d5 --- /dev/null +++ b/SurveyLib.Core/Services/IQuestionService.cs @@ -0,0 +1,11 @@ +using SurveyLib.Core.Models; + +namespace SurveyLib.Core.Services; + +public interface IQuestionService +{ + Task AddQuestionAsync(QuestionBase question); + Task UpdateQuestionAsync(QuestionBase question); + Task DeleteQuestionAsync(int id); + Task> GetQuestionsBySurveyIdAsync(int surveyId); +} \ No newline at end of file diff --git a/SurveyLib.Core/Services/ISurveyService.cs b/SurveyLib.Core/Services/ISurveyService.cs new file mode 100644 index 0000000..6ec6d55 --- /dev/null +++ b/SurveyLib.Core/Services/ISurveyService.cs @@ -0,0 +1,14 @@ +using SurveyLib.Core.Models; + +namespace SurveyLib.Core.Services; + +public interface ISurveyService +{ + Task AddSurveyAsync(Survey survey); + Task UpdateSurveyAsync(Survey survey); + Task DeleteSurveyAsync(int id); + Task> GetSurveysAsync(); + Task GetSurveyByIdAsync(int id); + Task GetSurveyWithQuestionsByIdAsync(int id); + Task GetSurveyWithAnswersByIdAsync(int id); +} \ No newline at end of file