コード例 #1
0
        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"));
            }
        }
コード例 #2
0
        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();
            }
        }
コード例 #3
0
ファイル: QuizzServices.cs プロジェクト: JohanCruellas/Quizz
        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);
        }
コード例 #4
0
ファイル: QuizzServices.cs プロジェクト: JohanCruellas/Quizz
        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();
            }
        }
コード例 #5
0
        public void GenerateQuizz(QuizzAddViewModel model)
        {
            var quizzManager = new QuizzManager();

            quizzManager.Create(model);
        }