using SurveyLib.Core.Models; using SurveyLib.Core.Repositories; using SurveyLib.Core.Services; namespace SurveyLib.Infrastructure.EFCore.Services; public class QuestionService : IQuestionService { private readonly IQuestionRepository _questionRepository; public QuestionService(IQuestionRepository questionRepository) { _questionRepository = questionRepository; } public async Task AddQuestionAsync(QuestionBase question) { await _questionRepository.AddAsync(question); } public async Task UpdateQuestionAsync(QuestionBase question) { await _questionRepository.UpdateAsync(question); } public async Task DeleteQuestionAsync(int id) { var question = await GetQuestionByIdAsync(id); await _questionRepository.DeleteAsync(question); } public async Task GetQuestionByIdAsync(int id) { var question = await _questionRepository.GetByIdAsync(id) ?? throw new NullReferenceException(); return question; } public async Task> GetQuestionsBySurveyIdAsync(int surveyId) { return await _questionRepository.GetQuestionsBySurveyId(surveyId); } }