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,51 @@
using SurveyLib.Core.Models;
using SurveyLib.Core.Repositories;
using SurveyLib.Core.Services;
namespace SurveyLib.Services.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<IEnumerable<Survey>> GetSurveysAsync()
{
return await _surveyRepository.GetAllAsync();
}
public async Task<Survey?> GetSurveyAsync(int id)
{
return await _surveyRepository.GetByIdAsync(id);
}
public async Task<IEnumerable<Survey>> GetSurveysByUserIdAsync(int userId)
{
return await _surveyRepository.GetSurveysByUserIdAsync(userId);
}
}