public ActionResult Create(QuizzAddViewModel model) { StringBuilder errorMessages = new StringBuilder(); //MOVE TO REPO try { var quizzManager = new QuizzServices(); quizzManager.GenerateQuizz(model); return(RedirectToAction("Index")); } catch (SqlException ex) { for (int i = 0; i < ex.Errors.Count; i++) { errorMessages.Append("Index #" + i + "\n" + "Message: " + ex.Errors[i].Message + "\n" + "LineNumber: " + ex.Errors[i].LineNumber + "\n" + "Source: " + ex.Errors[i].Source + "\n" + "Procedure: " + ex.Errors[i].Procedure + "\n"); } Console.WriteLine(errorMessages.ToString()); return(View("Add")); } }
public void Create(QuizzAddViewModel model) { using (var ctx = new QuizzContext()) { Quizz quizz = new Quizz() { CreatedBy = model.CreatedBy, CreatedOn = model.CreatedOn, ModifiedBy = model.ModifiedBy, ModifiedOn = model.ModifiedOn, QuizzQuestions = model.QuizzQuestions, QuizzCandidate = new Candidate() { Name = model.CandidateName, Age = model.CandidateAge, Mail = model.CandidateMail, }, QuizzSkillLevel = model.QuizzSkillLevel, QuizzTechno = model.QuizzTechno, QuizzUser = model.QuizzUser }; ctx.Quizzs.Add(quizz); ctx.SaveChanges(); } }
public List <Question> GenerateQuestions(QuizzAddViewModel model, int nbQuestions) { Random rnd = new Random(); List <Question> listQuestions = new List <Question>(); using (var ctx = new QuizzContext()) { List <Question> questions = ctx.Questions .Where(q => q.QuestionSkillId.SkillLevelId == model.SkillId && q.QuestionTechnoId.TechnologieId == model.TechnoId) .ToList(); for (int i = 0; i < nbQuestions; i++) { int questionSelected = rnd.Next(0, questions.Count()); listQuestions.Add(questions.ElementAt(questionSelected)); } } return(listQuestions); }
public void GenerateQuizz(QuizzAddViewModel model) { using (var ctx = new QuizzContext()) { Quizz quizz = new Quizz() { CreatedBy = model.CreatedBy, CreatedOn = model.CreatedOn, ModifiedBy = model.ModifiedBy, ModifiedOn = model.ModifiedOn, QuizzQuestions = new List <QuizzLinkQuestions>(), QuizzCandidate = new Candidate() { Name = model.CandidateName, Age = model.CandidateAge, Mail = model.CandidateMail, }, QuizzSkillLevelId = model.SkillId, QuizzTechnoId = model.TechnoId, QuizzUser = model.QuizzUser }; var generatedQuestions = GenerateQuestions(model, 15); foreach (var question in generatedQuestions) { quizz.QuizzQuestions.Add(new QuizzLinkQuestions() { QuizzQuestionsId = question.QuizzQuestionsId }); } //Repo ctx.Quizzs.Add(quizz); ctx.SaveChanges(); } }
public void GenerateQuizz(QuizzAddViewModel model) { var quizzManager = new QuizzManager(); quizzManager.Create(model); }