/// <summary> /// Given an EAD ExamQuestion it will convert the Exam Question /// into a DTO exam question. /// </summary> /// <param name="ExamQuestion"></param> /// <returns></returns> public ExamQuestion getExamQuestion(EAD.ExamQuestion ExamQuestion) { AutoMapperConfiguration.Configure(); ExamQuestion ExamQ = new ExamQuestion(); ExamQ.ExamQuestionID = ExamQuestion.ExamQuestionID; ExamQ.ExamQuestionName = ExamQuestion.ExamQuestionName; ExamQ.PKID = ExamQuestion.PKID; ExamQ.QuestionType.PKID = ExamQuestion.QuestionType.PKID; ExamQ.QuestionType.QuestionTypeName = ExamQuestion.QuestionType.QuestionTypeName; return(ExamQ); }
public void AddExamQuestion(ExamQuestion examQuestion) // Adds an exam question using a whole exam question object/model/EAD { if (examQuestion == null) //Exam Question does it exist { throw new ArgumentNullException("Exam Question"); //You passed in a empty exam Question Object } AutoMapperConfiguration.Configure(); EAD.ExamQuestion DALExamQuestion = new EAD.ExamQuestion(); DALExamQuestion.ExamQuestionID = examQuestion.ExamQuestionID; DALExamQuestion.ExamQuestionName = examQuestion.ExamQuestionName; DALExamQuestion.QuestionTypeID = examQuestion.QuestionType.PKID; db.ExamQuestion.Add(DALExamQuestion); db.SaveChanges(); foreach (var subquestion in examQuestion.quest) { EAD.Question questiontoAdd = new EAD.Question(); EAD.ExamQuestionList questioncombination = new EAD.ExamQuestionList(); questiontoAdd.Description = subquestion.Description; db.Question.Add(questiontoAdd); db.SaveChanges(); questioncombination.ExamQuestionID = DALExamQuestion.ExamQuestionID; questioncombination.QuestionID = questiontoAdd.PKID; //adds to subquestion table db.ExamQuestionList.Add(questioncombination); //adds to subquestion/examquestion junction table foreach (var answer in subquestion.Answers) { EAD.Answer answertoAdd = new EAD.Answer(); answertoAdd.Answer1 = answer.Answer1; answertoAdd.AddLanguageTypeID = 1; //Change the Language type to 1 EAD.QuestionAnswers answercombination = new EAD.QuestionAnswers(); db.Answer.Add(answertoAdd); // adds answer to answer Table db.SaveChanges(); answercombination.AnswerID = answertoAdd.PKID; answercombination.QuestionID = questiontoAdd.PKID; answercombination.IsCorrect = answer.correct.isCorrect; db.QuestionAnswers.Add(answercombination); // Add the QuestionAnswers junction table row db.SaveChanges(); } } }