overthinking repositories from scratch

This commit is contained in:
Вячеслав 2025-04-16 17:32:24 +05:00
parent 58271df949
commit 845db13c63
8 changed files with 4 additions and 51 deletions

View file

@ -4,6 +4,5 @@ namespace SurveyLib.Core.Repositories;
public interface IAnswerRepository : IGenericRepository<Answer> public interface IAnswerRepository : IGenericRepository<Answer>
{ {
Task<IEnumerable<Answer>> GetByAttemptIdAsync(int attemptId);
Task<IEnumerable<Answer>> GetByQuestionIdAsync(int questionId);
} }

View file

@ -4,5 +4,5 @@ namespace SurveyLib.Core.Repositories;
public interface ICompletionRepository : IGenericRepository<Completion> public interface ICompletionRepository : IGenericRepository<Completion>
{ {
Task<IEnumerable<Completion>> GetBySurveyIdAsync(int surveyId);
} }

View file

@ -4,6 +4,5 @@ namespace SurveyLib.Core.Repositories;
public interface IQuestionRepository : IGenericRepository<QuestionBase> public interface IQuestionRepository : IGenericRepository<QuestionBase>
{ {
Task<QuestionBase?> GetWithAnswersAsync(int questionId);
Task<IEnumerable<QuestionBase>> GetBySurveyIdAsync(int surveyId);
} }

View file

@ -4,7 +4,5 @@ namespace SurveyLib.Core.Repositories;
public interface ISurveyRepository : IGenericRepository<Survey> public interface ISurveyRepository : IGenericRepository<Survey>
{ {
Task<Survey?> GetWithQuestionsAsync(int surveyId);
Task<Survey?> GetWithCompletionsAsync(int surveyId);
Task<IEnumerable<Survey>> FindByTitleAsync(string title);
} }

View file

@ -41,14 +41,4 @@ public class AnswerRepository : IAnswerRepository
_context.Answers.Remove(entity); _context.Answers.Remove(entity);
await _context.SaveChangesAsync(); await _context.SaveChangesAsync();
} }
public async Task<IEnumerable<Answer>> GetByAttemptIdAsync(int attemptId)
{
return await _context.Answers.Where(a => a.CompletionId == attemptId).ToListAsync();
}
public async Task<IEnumerable<Answer>> GetByQuestionIdAsync(int questionId)
{
return await _context.Answers.Where(a => a.QuestionId == questionId).ToListAsync();
}
} }

View file

@ -41,9 +41,4 @@ public class CompletionRepository : ICompletionRepository
_context.Completions.Remove(entity); _context.Completions.Remove(entity);
await _context.SaveChangesAsync(); await _context.SaveChangesAsync();
} }
public async Task<IEnumerable<Completion>> GetBySurveyIdAsync(int surveyId)
{
return await _context.Completions.Where(c => c.SurveyId == surveyId).ToListAsync();
}
} }

View file

@ -41,15 +41,4 @@ public class QuestionRepository : IQuestionRepository
_context.Questions.Remove(entity); _context.Questions.Remove(entity);
await _context.SaveChangesAsync(); await _context.SaveChangesAsync();
} }
public async Task<QuestionBase?> GetWithAnswersAsync(int questionId)
{
return await _context.Questions.Include(q => q.Answers)
.FirstOrDefaultAsync(q => q.Id == questionId);
}
public async Task<IEnumerable<QuestionBase>> GetBySurveyIdAsync(int surveyId)
{
return await _context.Questions.Where(q => q.SurveyId == surveyId).ToListAsync();
}
} }

View file

@ -41,21 +41,4 @@ public class SurveyRepository : ISurveyRepository
_context.Surveys.Remove(entity); _context.Surveys.Remove(entity);
await _context.SaveChangesAsync(); await _context.SaveChangesAsync();
} }
public async Task<Survey?> GetWithQuestionsAsync(int surveyId)
{
return await _context.Surveys.Include(survey => survey.Questions)
.FirstOrDefaultAsync(s => s.Id == surveyId);
}
public async Task<Survey?> GetWithCompletionsAsync(int surveyId)
{
return await _context.Surveys.Include(survey => survey.Completions)
.FirstOrDefaultAsync(s => s.Id == surveyId);
}
public async Task<IEnumerable<Survey>> FindByTitleAsync(string title)
{
return await _context.Surveys.Where(s => s.Title.ToLower().Contains(title.ToLower())).ToListAsync();
}
} }