public KeyValuePair <int, int> SetMCQAnswerSheet(MCQPaperDTO mcqpaperdto, string studentEmailId) { var answersheet = new MCQAnswerSheet(); var paper1 = PaperRepo.GetByPaperCode(mcqpaperdto.PaperCode); var paper = Mapper.Map <MCQPaper, MCQPaperDTO>(paper1); foreach (var que in paper1.Questions) { paper.Questions.Add(Mapper.Map <MCQQuestion, MCQQuestionDTO>(que)); } int ObtainedMarks = 0; for (int i = 0; i < paper.Questions.Count; i++) { if (mcqpaperdto.Questions[i].TrueAnswer == paper1.Questions[i].MCQOptionId) { ObtainedMarks += mcqpaperdto.Questions[i].Marks; } } answersheet.MarksObtained = ObtainedMarks; answersheet.StudentEmailId = studentEmailId; answersheet.SubmittedTime = DateTime.Now; answersheet.MCQPaperId = paper1.PaperId; AnswerSheetRepo.SetMCQAnswerSheet(answersheet); KeyValuePair <int, int> ret = new KeyValuePair <int, int>(paper1.TotalMarks, ObtainedMarks); return(ret); }
public (List <List <int> > answers, MCQPaperDTO paper) GetMcqPaper(string code) { MCQPaper paper = PaperRepo.GetByPaperCode(code); if (paper == null) { return(null, null); } List <List <int> > answerstobenoted = new List <List <int> >(); MCQPaperDTO paperdto = new MCQPaperDTO(); paperdto = Mapper.Map(paper, paperdto); foreach (var que in paper.Questions) { que.MCQOptions.Shuffle(); List <int> add = new List <int>(); foreach (var opt in que.MCQOptions) { add.Add(opt.MCQOptionId); } answerstobenoted.Add(add); paperdto.Questions.Add(Mapper.Map <MCQQuestion, MCQQuestionDTO>(que)); } paperdto.Questions.ForEach(que => que.TrueAnswer = -1); return(answerstobenoted, paperdto); }