From 9f6d5b575e3175149fcd0b8e091b9f01a8958e0d Mon Sep 17 00:00:00 2001 From: shept Date: Mon, 26 May 2025 01:02:06 +0500 Subject: [PATCH] adapt repository features to services needs --- SurveyLib.Core/Repositories/IAnswerRepository.cs | 2 ++ SurveyLib.Core/Repositories/ICompletionRepository.cs | 2 +- .../Repositories/AnswerRepository.cs | 10 ++++++++++ .../Repositories/CompletionRepository.cs | 5 +++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/SurveyLib.Core/Repositories/IAnswerRepository.cs b/SurveyLib.Core/Repositories/IAnswerRepository.cs index 59d2213..0906f21 100644 --- a/SurveyLib.Core/Repositories/IAnswerRepository.cs +++ b/SurveyLib.Core/Repositories/IAnswerRepository.cs @@ -5,4 +5,6 @@ namespace SurveyLib.Core.Repositories; public interface IAnswerRepository : IGenericRepository { Task DeleteAsync(int questionId, int completionId); + Task> GetAnswersByCompletionIdAsync(int completionId); + Task> GetAnswersByQuestionIdAsync(int questionId); } \ No newline at end of file diff --git a/SurveyLib.Core/Repositories/ICompletionRepository.cs b/SurveyLib.Core/Repositories/ICompletionRepository.cs index 9b41e97..b8cffac 100644 --- a/SurveyLib.Core/Repositories/ICompletionRepository.cs +++ b/SurveyLib.Core/Repositories/ICompletionRepository.cs @@ -4,5 +4,5 @@ namespace SurveyLib.Core.Repositories; public interface ICompletionRepository : IGenericRepository { - + Task> GetCompletionsBySurveyIdAsync(int surveyId); } \ No newline at end of file diff --git a/SurveyLib.Infrastructure.EFCore/Repositories/AnswerRepository.cs b/SurveyLib.Infrastructure.EFCore/Repositories/AnswerRepository.cs index 4a84d49..88fbe40 100644 --- a/SurveyLib.Infrastructure.EFCore/Repositories/AnswerRepository.cs +++ b/SurveyLib.Infrastructure.EFCore/Repositories/AnswerRepository.cs @@ -47,4 +47,14 @@ public class AnswerRepository : IAnswerRepository .ExecuteDeleteAsync(); await _context.SaveChangesAsync(); } + + public async Task> GetAnswersByCompletionIdAsync(int completionId) + { + return await _context.Answers.Where(a => a.CompletionId == completionId).ToListAsync(); + } + + public async Task> GetAnswersByQuestionIdAsync(int questionId) + { + return await _context.Answers.Where(a => a.QuestionId == questionId).ToListAsync(); + } } \ No newline at end of file diff --git a/SurveyLib.Infrastructure.EFCore/Repositories/CompletionRepository.cs b/SurveyLib.Infrastructure.EFCore/Repositories/CompletionRepository.cs index 5082e34..bc1c39c 100644 --- a/SurveyLib.Infrastructure.EFCore/Repositories/CompletionRepository.cs +++ b/SurveyLib.Infrastructure.EFCore/Repositories/CompletionRepository.cs @@ -41,4 +41,9 @@ public class CompletionRepository : ICompletionRepository await _context.Completions.Where(c => c.Id == id).ExecuteDeleteAsync(); await _context.SaveChangesAsync(); } + + public async Task> GetCompletionsBySurveyIdAsync(int surveyId) + { + return await _context.Completions.Where(c => c.SurveyId == surveyId).ToListAsync(); + } } \ No newline at end of file