Merge branch 'unstable' into 'main'
fix question update See merge request internship-2025/survey-webapp/survey-webapp!32
This commit is contained in:
commit
f95235724b
1 changed files with 10 additions and 4 deletions
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue