Merge branch 'unstable' into 'main'

fix question update

See merge request internship-2025/survey-webapp/survey-webapp!32
This commit is contained in:
Вячеслав 2025-06-19 05:49:04 +00:00
commit e5799ea9a4

View file

@ -10,14 +10,14 @@ public class QuestionService : IQuestionService
{
private readonly IQuestionRepository _questionRepository;
private readonly ISurveyRepository _surveyRepository;
private readonly IUserContext _userContext;
private readonly IAnswerVariantsRepository _answerVariantsRepository;
public QuestionService(IQuestionRepository questionRepository, ISurveyRepository surveyRepository,
IUserContext userContext)
IAnswerVariantsRepository answerVariantsRepository)
{
_questionRepository = questionRepository;
_surveyRepository = surveyRepository;
_userContext = userContext;
_answerVariantsRepository = answerVariantsRepository;
}
public async Task AddQuestionAsync(QuestionBase question)
@ -44,11 +44,17 @@ public class QuestionService : IQuestionService
// Если изменился тип вопроса (Discriminator), используем новый тип
if (questionBase.Discriminator != question.Discriminator)
{
var answerVariants = await _answerVariantsRepository.GetAnswerVariantsByQuestionIdAsync(questionBase.Id);
// Удаляем старый вопрос
await _questionRepository.DeleteAsync(questionBase.Id);
// Добавляем новый с тем же ID
await _questionRepository.AddAsync(question);
foreach (var answerVariant in answerVariants)
{
answerVariant.QuestionId = question.Id;
await _answerVariantsRepository.AddAsync(answerVariant);
}
}
else
{