using SurveyLib.Core.Models; using SurveyLib.Core.Repositories; using SurveyLib.Core.Services; namespace SurveyLib.Infrastructure.EFCore.Services; public class SurveyService : ISurveyService { private readonly ISurveyRepository _surveyRepository; public SurveyService(ISurveyRepository surveyRepository) { _surveyRepository = surveyRepository; } public async Task AddSurveyAsync(Survey survey) { await _surveyRepository.AddAsync(survey); } public async Task UpdateSurveyAsync(Survey survey) { await _surveyRepository.UpdateAsync(survey); } public async Task DeleteSurveyAsync(int id) { var survey = await _surveyRepository.GetByIdAsync(id); if (survey == null) { throw new NullReferenceException($"Survey with id: {id} was not found"); } await _surveyRepository.DeleteAsync(survey); } public async Task> GetSurveysAsync() { return await _surveyRepository.GetAllAsync(); } public async Task GetSurveyAsync(int id) { return await _surveyRepository.GetByIdAsync(id); } }