move services to separate project

+ add GetByUserId methods to Survey
This commit is contained in:
Вячеслав 2025-04-19 00:33:03 +05:00
parent 4caf3de6fe
commit cc89ff818b
8 changed files with 37 additions and 3 deletions

View file

@ -0,0 +1,43 @@
using SurveyLib.Core.Models;
using SurveyLib.Core.Repositories;
using SurveyLib.Core.Services;
namespace SurveyLib.Services.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<QuestionBase> GetQuestionByIdAsync(int id)
{
var question = await _questionRepository.GetByIdAsync(id) ?? throw new NullReferenceException();
return question;
}
public async Task<IEnumerable<QuestionBase>> GetQuestionsBySurveyIdAsync(int surveyId)
{
return await _questionRepository.GetQuestionsBySurveyId(surveyId);
}
}