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); }
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); }
//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); }