private static QuestionsAnswersEnum CreateQuestionsAnswersEnum(QuestionTextModel question, Dictionary <int, AnswersInfoModel> answersInfoModel)
        {
            var questionsAnswersEnum = new QuestionsAnswersEnum
            {
                QuestionId   = question.Id,
                QuestionText = question.QuestionText,
                QuestionType = question.IsEnum
            };

            var questionId = question.Id;

            if (answersInfoModel.ContainsKey(questionId))
            {
                var answerEnum = (AnswerEnum)answersInfoModel[questionId];
                questionsAnswersEnum.EnumAnswer = answerEnum.QuestionEnumAnswer;
            }

            return(questionsAnswersEnum);
        }
        private static QuestionsAnswersText CreateQuestionsAnswersText(QuestionTextModel question, Dictionary <int, AnswersInfoModel> answersInfoModel)
        {
            var questionsAnswersText = new QuestionsAnswersText
            {
                QuestionId   = question.Id,
                QuestionText = question.QuestionText,
                QuestionType = question.IsEnum
            };

            var questionId = question.Id;

            if (answersInfoModel.ContainsKey(questionId))
            {
                var answerText = (AnswerText)answersInfoModel[questionId];
                questionsAnswersText.TextAnswer = answerText.AnswerTextAnswer;
            }

            return(questionsAnswersText);
        }
        private async Task AddOrUpdateTextAnswer(int eventId, Dictionary <int, AnswerText> answerTexts, QuestionTextModel question, string answer)
        {
            if (!answerTexts.ContainsKey(question.Id))
            {
                var answerText = new AnswerText
                {
                    QuestionId       = question.Id,
                    EventId          = eventId,
                    AnswerTextAnswer = answer
                };

                _context.Add(answerText);
                await _context.SaveChangesAsync();
            }
            else
            {
                var answerText = answerTexts[question.Id];
                answerText.AnswerTextAnswer = answer;
                _context.Update(answerText);
                await _context.SaveChangesAsync();
            }
        }
        private async Task AddOrUpdateEnumAnswer(int eventId, Dictionary <int, AnswerEnum> answerEnums, QuestionTextModel question, string answer)
        {
            if (!answerEnums.ContainsKey(question.Id))
            {
                var answerEnum = new AnswerEnum
                {
                    QuestionId         = question.Id,
                    EventId            = eventId,
                    QuestionEnumAnswer = Enum.Parse <Answer>(answer)
                };

                _context.Add(answerEnum);
                await _context.SaveChangesAsync();
            }
            else
            {
                var answerEnum = answerEnums[question.Id];
                answerEnum.QuestionEnumAnswer = Enum.Parse <Answer>(answer);
                _context.Update(answerEnum);
                await _context.SaveChangesAsync();
            }
        }
 public QuestionTextViewModel(QuestionTextModel qModel, Boolean changeAble = true)
     : base(qModel, changeAble)
 {
     this.QuestionModel = qModel;
 }