Beispiel #1
0
        public async Task <int> CreateQuizQuestion(Library.Models.QuizQuestion quizQuestion)
        {
            if (quizQuestion is null)
            {
                throw new ArgumentNullException(nameof(quizQuestion));
            }
            _logger.LogInformation("Adding quizquestion");
            Entities.QuizQuestion entity = Mapper.Map(quizQuestion);
            _dbContext.Add(entity);
            await _dbContext.SaveChangesAsync();

            return(quizQuestion.QuizQuestionId);
        }
Beispiel #2
0
        public string deleteOldLeftOverAnswers(Entities.QuizQuestion _updatedQuestion)
        {
            string _deletionResult = "Answers Deleted Successfully";

            try
            {
                List <FarmworkersWebAPI.Entities.QuizAnswer> _oldAnswers =
                    _context.QuizAnswers.
                    Where(q => q.QuizID.Equals(_updatedQuestion.QuizID) &&
                          q.QuizVersion.Equals(_updatedQuestion.QuizVersion) &&
                          q.QuestionID.Equals(_updatedQuestion.QuestionID) &&
                          q.IsActive.Equals("1")).ToList();

                if (_oldAnswers.Count > _updatedQuestion.QuizAnswers.Count && _updatedQuestion.QuizAnswers.Count != 0)
                {
                    for (int i = _updatedQuestion.QuizAnswers.Count + 1; i <= _oldAnswers.Count; i++)
                    {
                        Entities.QuizAnswer _answerToDelete = new Entities.QuizAnswer();

                        FarmworkersWebAPI.Entities.QuizAnswer original = _context.QuizAnswers.
                                                                         Where(q => q.QuizID.Equals(_updatedQuestion.QuizID) &&
                                                                               q.QuizVersion.Equals(_updatedQuestion.QuizVersion) &&
                                                                               q.QuestionID.Equals(_updatedQuestion.QuestionID) &&
                                                                               q.AnswerID.Equals(i)).FirstOrDefault();

                        _answerToDelete.QuizID       = _updatedQuestion.QuizID;
                        _answerToDelete.QuizVersion  = _updatedQuestion.QuizVersion;
                        _answerToDelete.QuestionID   = _updatedQuestion.QuestionID;
                        _answerToDelete.AnswerID     = i;
                        _answerToDelete.Answer       = original.Answer;
                        _answerToDelete.IsCorrect    = original.IsCorrect;
                        _answerToDelete.IsActive     = "0";
                        _answerToDelete.DateModified = original.DateModified;

                        _context.Entry(original).CurrentValues.SetValues(_answerToDelete);

                        _context.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex).ToString());
            }

            return(_deletionResult);
        }
Beispiel #3
0
        //Utility Function
        public Entities.Quiz EFhandleIncomingQuizFormat(ViewModels.QuizForm _quiz)
        {
            Entities.Quiz         _quizCorrectFormat         = new Entities.Quiz();
            Entities.QuizQuestion _quizQuestionCorrectFormat = new Entities.QuizQuestion();
            Entities.QuizAnswer   _quizAnswerCorrectFormat   = new Entities.QuizAnswer();

            List <Entities.QuizQuestion> _quizQuestionsLISTCorrectFormat   = new List <Entities.QuizQuestion>();
            List <Entities.QuizAnswer>   _questionAnswersLISTCorrectFormat = new List <Entities.QuizAnswer>();

            try
            {
                _quizCorrectFormat.QuizID          = _quiz.QuizID;
                _quizCorrectFormat.QuizVersion     = _quiz.Quizversion;
                _quizCorrectFormat.QuizName        = _quiz.Name;
                _quizCorrectFormat.QuizDescription = _quiz.QuizDescription;
                _quizCorrectFormat.Scale           = _quiz.Scale;
                _quizCorrectFormat.IsActive        = _quiz.Status;
                _quizCorrectFormat.DateModified    = _quiz.LastModifiedDate;

                foreach (ViewModels.QuizQuestionForm _question in _quiz.QuizQuestions)
                {
                    _quizQuestionCorrectFormat = new Entities.QuizQuestion();

                    _quizQuestionCorrectFormat.QuizID       = _quiz.QuizID;
                    _quizQuestionCorrectFormat.QuizVersion  = _quiz.Quizversion;
                    _quizQuestionCorrectFormat.QuestionID   = _question.QuestionID;
                    _quizQuestionCorrectFormat.Question     = _question.Question;
                    _quizQuestionCorrectFormat.IsActive     = "1";
                    _quizQuestionCorrectFormat.DateModified = _quiz.LastModifiedDate;

                    string _correctAnswer = _question.CorrectA;

                    _questionAnswersLISTCorrectFormat = new List <Entities.QuizAnswer>();

                    foreach (ViewModels.QuizAnswerForm _answer in _question.Answers)
                    {
                        _quizAnswerCorrectFormat = new Entities.QuizAnswer();

                        _quizAnswerCorrectFormat.QuizID       = _quiz.QuizID;
                        _quizAnswerCorrectFormat.QuizVersion  = _quiz.Quizversion;
                        _quizAnswerCorrectFormat.QuestionID   = _question.QuestionID;
                        _quizAnswerCorrectFormat.AnswerID     = _answer.AnswerID;
                        _quizAnswerCorrectFormat.Answer       = _answer.Answer;
                        _quizAnswerCorrectFormat.IsCorrect    = _answer.AnswerID.ToString() == _question.CorrectA ? 1 : 0;
                        _quizAnswerCorrectFormat.IsActive     = "1";
                        _quizAnswerCorrectFormat.DateModified = _quiz.LastModifiedDate;

                        //Add Answer to Answer List
                        _questionAnswersLISTCorrectFormat.Add(_quizAnswerCorrectFormat);
                    }

                    //Add List of Answers to a Single Question
                    _quizQuestionCorrectFormat.QuizAnswers = _questionAnswersLISTCorrectFormat;

                    //Add Complete Question with Answers, to the Question List
                    _quizQuestionsLISTCorrectFormat.Add(_quizQuestionCorrectFormat);
                }

                _quizCorrectFormat.QuizQuestions = _quizQuestionsLISTCorrectFormat;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(_quizCorrectFormat);
        }