Example #1
0
        public ActionResult Create([Bind(Include = "TypeQuestionId,NameType")] TypeQuestion typeQuestion)
        {
            if (ModelState.IsValid)
            {
                db.TypeQuestion.Add(typeQuestion);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(typeQuestion));
        }
        public ActionResult Create([Bind(Include = "DifficultyMasterId,DifficultyId,Rate")] DifficultyRate difficultyRate)
        {
            if (ModelState.IsValid)
            {
                db.DifficultyRates.Add(difficultyRate);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.DifficultyId       = new SelectList(db.Difficulties, "DifficultyId", "DifficultyName", difficultyRate.DifficultyId);
            ViewBag.DifficultyMasterId = new SelectList(db.Difficulties, "DifficultyId", "DifficultyName", difficultyRate.DifficultyMasterId);
            return(View(difficultyRate));
        }
Example #3
0
 public void AddTypeQuestion(TypeQuestion typeQuestion)
 {
     using (var dbContext = new FilRougeDBContext())
     {
         dbContext.TypeQuestion.Add(typeQuestion);
         dbContext.SaveChanges();
     }
 }
Example #4
0
 /// <summary>
 /// Methode d'ajout d'une technologie
 /// </summary>
 /// <param name="technology"></param>
 public void AddTechnology(Technology technology)
 {
     using (var dbContext = new FilRougeDBContext())
     {
         dbContext.Technologies.Add(technology);
         dbContext.SaveChanges();
     }
 }
Example #5
0
        /// <summary>
        /// Création d'un Quizz
        /// </summary>
        /// <param name="difficultyid"></param>
        /// <param name="technoid"></param>
        /// <param name="userid"></param>
        /// <param name="nomuser"></param>
        /// <param name="prenomuser"></param>
        /// <param name="questionlibre"></param>
        /// <param name="nombrequestions"></param>
        public Quizz CreateQuizz(QuizzViewModel quizzViewModel, int difficultymasterid)
        {
            Quizz unQuizz = null;

            using (FilRougeDBContext db = new FilRougeDBContext())
            {
                var quizz = quizzViewModel.MapToQuizz();

                List <Questions> questionsQuizz = AddQuestionToQuizz(quizz.QuestionLibre, quizz.NombreQuestion, quizz.TechnologyId, difficultymasterid, db);
                int timer = quizz.Timer;


                try
                {
                    //TODO creer un viewbag des users => authorize create quizz
                    // verifier paramètres de création d'un quizz
                    Contact    creatingQuizzContact = db.Users.Single(e => e.Id == quizz.ContactId);
                    Difficulty difficultyQuizz      = db.Difficulties.Single(e => e.DifficultyId == difficultymasterid);
                    Technology technoQuizz          = db.Technologies.Single(e => e.TechnoId == quizz.TechnologyId);

                    unQuizz = new Quizz
                    {
                        ContactId      = creatingQuizzContact.Id,
                        DifficultyId   = difficultymasterid,
                        TechnologyId   = quizz.TechnologyId,
                        Timer          = quizz.Timer,
                        PrenomUser     = quizz.PrenomUser,
                        NomUser        = quizz.NomUser,
                        NombreQuestion = quizz.NombreQuestion,
                        EtatQuizz      = quizz.EtatQuizz,
                        QuestionLibre  = quizz.QuestionLibre,
                        Contact        = creatingQuizzContact,
                        Difficulty     = difficultyQuizz,
                        Questions      = questionsQuizz,
                        Technology     = technoQuizz
                    };
                    db.Quizz.Add(unQuizz);
                    db.SaveChanges();
                    db.Dispose();
                }
                catch (AlreadyInTheQuestionsList e)
                {
                    Console.WriteLine(e.Message);
                    db.Dispose();
                }
                catch (NoQuestionsForYou e)
                {
                    Console.WriteLine(e.Message);
                    db.Dispose();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            return(unQuizz);
        }
Example #6
0
        /// <summary>
        /// Edition d'un type de question
        /// </summary>
        /// <param name="typeQuestion"></param>
        /// <returns></returns>
        public TypeQuestion EditTypeQuestion(TypeQuestion typeQuestion)
        {
            using (var dbContext = new FilRougeDBContext())
            {
                dbContext.Entry(typeQuestion).State = EntityState.Modified;
                dbContext.SaveChanges();
            }

            return(typeQuestion);
        }
Example #7
0
        /// <summary>
        /// Suppression d'un type de question
        /// </summary>
        /// <param name="id"></param>
        public void RemoveTypeQuestion(int id)
        {
            var typeQuestion = new TypeQuestion();

            using (var dbContext = new FilRougeDBContext())
            {
                typeQuestion = dbContext.TypeQuestion.Find(id);
                dbContext.TypeQuestion.Remove(typeQuestion);
                dbContext.SaveChanges();
            }
        }
        public int AddReponsesToQuestion(int id, List <Reponses> reponses)
        {
            using (var db = new FilRougeDBContext())
            {
                var questionAddReponse = db.Questions.Find(id);

                questionAddReponse.Reponses = reponses;                 // ajout de la liste des réponses à la question
                int nbRes = db.SaveChanges();
                return(nbRes);
            }
        }
Example #9
0
        /// <summary>
        /// Suppression d'une technologie par son id
        /// </summary>
        /// <param name="id"></param>
        public void RemoveTechnology(int id)
        {
            var technologie = new Technology();

            using (var dbContext = new FilRougeDBContext())
            {
                technologie = dbContext.Technologies.Find(id);
                dbContext.Technologies.Remove(technologie);
                dbContext.SaveChanges();
            }
        }
Example #10
0
        public int AddDifficulty(Difficulty difficulty)
        {
            int id = 0;

            using (var dbContext = new FilRougeDBContext())
            {
                dbContext.Difficulties.Add(difficulty);
                dbContext.SaveChanges();
                id = difficulty.DifficultyId;
            }
            return(id);
        }
Example #11
0
        /// <summary>
        /// Edition d'une technologie par son "Id"
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Technology EditTechnology(Technology technology)
        {
            var technolgie = new Technology();

            using (var dbContext = new FilRougeDBContext())
            {
                dbContext.Entry(technology).State = EntityState.Modified;
                dbContext.SaveChanges();
            }

            return(technolgie);
        }
        public int AddDifficulty(DifficultyMasterViewModel difficultyViewModel)
        {
            int id = 0;

            using (var dbContext = new FilRougeDBContext())
            {
                var difficulty = difficultyViewModel.MapToDifficultyMaster();
                dbContext.Difficulties.Add(difficulty);
                dbContext.SaveChanges();
                id = difficulty.DifficultyId;
            }
            return(id);
        }
        /// <summary>
        /// Ajouter une question dans la BDD
        /// </summary>
        /// <param name="questionsViewModel"></param>
        /// <returns></returns>
        public int AddQuestion(QuestionViewModel questionsViewModel)
        {
            var id = 0;

            using (var dbContext = new FilRougeDBContext())
            {
                var question = questionsViewModel.MapToQuestion();

                dbContext.Questions.Add(question);
                dbContext.SaveChanges();
                id = question.QuestionId;
            }

            return(id);
        }
        public int EditReponsesToQuestion(int id, List <Reponses> reponses)
        {
            using (var db = new FilRougeDBContext())
            {
                var questionEditReponses = db.Questions.Find(id).Reponses.ToList();

                for (int i = 0; i < questionEditReponses.Count; i++)
                {
                    questionEditReponses[i].Content     = reponses[i].Content;
                    questionEditReponses[i].TrueReponse = reponses[i].TrueReponse;
                }
                int nbRes = db.SaveChanges();
                return(nbRes);
            }
        }
        public int EditDifficulty(DifficultyMasterViewModel difficultyViewModel)
        {
            var id = 0;

            using (var dbContext = new FilRougeDBContext())
            {
                var difficulty = dbContext.Difficulties.Find(difficultyViewModel.DiffMasterId);
                difficulty.DifficultyId           = difficultyViewModel.DiffMasterId;
                difficulty.DifficultyName         = difficultyViewModel.DiffMasterName;
                dbContext.Entry(difficulty).State = EntityState.Modified;
                dbContext.SaveChanges();
                id = difficulty.DifficultyId;
            }
            return(id);
        }
Example #16
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="difficultyid"></param>
        /// <param name="technoid"></param>
        /// <param name="userid"></param>
        /// <param name="nomuser"></param>
        /// <param name="prenomuser"></param>
        /// <param name="questionlibre"></param>
        /// <param name="nombrequestions"></param>
        public static void CreateQuizz(int userid, int difficultymasterid, int technoid, string nomuser, string prenomuser, bool questionlibre, int nombrequestions)
        {
            List <Question>   questionsQuizz = AddQuestionToQuizz(questionlibre, nombrequestions, technoid, difficultymasterid);
            int               timer          = 0;
            FilRougeDBContext db             = new FilRougeDBContext();

            try
            {
                Contact        creatingQuizzContact = db.Contact.Single(e => e.UserId == userid);
                DifficultyRate difficultyQuizz      = db.DifficultyMaster.Single(e => e.DiffMasterId == difficultymasterid);
                Technology     technoQuizz          = db.Technology.Single(e => e.TechnoId == technoid);

                Quizz unQuizz = new Quizz
                {
                    ContactId          = userid,
                    DifficultyMasterId = difficultymasterid,
                    TechnologyId       = technoid,
                    Timer            = timer,
                    PrenomUser       = prenomuser,
                    NomUser          = nomuser,
                    NombreQuestion   = nombrequestions,
                    EtatQuizz        = 0,
                    QuestionLibre    = questionlibre,
                    Contact          = creatingQuizzContact,
                    DifficultyMaster = difficultyQuizz,
                    Questions        = questionsQuizz,
                    Technology       = technoQuizz
                };
                db.SaveChanges();
                db.Dispose();
            }
            catch (AlreadyInTheQuestionsList e)
            {
                Console.WriteLine(e.Message);
                db.Dispose();
            }
            catch (NoQuestionsForYou e)
            {
                Console.WriteLine(e.Message);
                db.Dispose();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                db.Dispose();
            }
        }
Example #17
0
        public int EditQuizz(QuizzViewModel quizzViewModel)
        {
            int id = 0;

            using (var db = new FilRougeDBContext())
            {
                var quizz = db.Quizz.Find(quizzViewModel.QuizzId);

                quizz.NomUser    = quizzViewModel.NomUser;
                quizz.PrenomUser = quizzViewModel.PrenomUser;

                db.Entry(quizz).State = EntityState.Modified;
                db.SaveChanges();

                id = quizz.QuizzId;
            }
            return(id);
        }
Example #18
0
 /// <summary>
 /// Sauvegarde de la Reponse et du commentaire du User dans la BDD
 /// </summary>
 /// <param name="questionViewModel"></param>
 public void SaveUserResponse(List <Reponses> reponses, int quizzId, string commentaire)
 {
     using (FilRougeDBContext db = new FilRougeDBContext())
     {
         //Boucle pour les reponses du User
         foreach (var reponse in reponses)
         {
             var uneReponseUser = new UserReponse()
             {
                 QuizzId   = quizzId,
                 ReponseId = reponse.ReponseId,
                 //TODO Changer pour recuperer la valeur de la reponse
                 Valeur      = reponse.Content.ToString(),
                 Commentaire = commentaire,
                 EstRepondu  = true
             };
             db.UserReponse.Add(uneReponseUser);
         }
         db.SaveChanges();
     }
 }
        /// <summary>
        /// Edition d'une question
        /// </summary>
        /// <param name="questionViewModel"></param>
        /// <returns></returns>
        public int EditQuestion(QuestionViewModel questionViewModel)
        {
            var id = 0;

            using (var dbContext = new FilRougeDBContext())
            {
                var question = dbContext.Questions.Find(questionViewModel.QuestionId);
                question.Commentaire    = questionViewModel.Commentaire;
                question.Content        = questionViewModel.Content;
                question.Active         = questionViewModel.Active;
                question.DifficultyId   = questionViewModel.Difficulty.DifficultyId;
                question.QuestionTypeId = questionViewModel.QuestionType.TypeQuestionId;
                question.TechnologyId   = questionViewModel.Technology.TechnoId;

                dbContext.Entry(question).State = EntityState.Modified;
                dbContext.SaveChanges();

                id = question.QuestionId;
            }

            return(id);
        }
Example #20
0
        /// <summary>
        /// Sauvegarde de la Reponse du User dans la BDD
        /// </summary>
        /// <param name="questionViewModel"></param>
        public void SaveUserResponse(List <Reponses> reponses, int quizzId)
        {
            using (FilRougeDBContext db = new FilRougeDBContext())
            {
                //mapping de la question
                //var question = questionViewModel.MapToQuestion();

                //Boucle pour les reponses du User
                foreach (var reponse in reponses)
                {
                    var uneReponseUser = new UserReponse()
                    {
                        QuizzId   = quizzId,
                        ReponseId = reponse.ReponseId,
                        //TODO Changer pour recuperer la valeur de la reponse
                        Valeur = reponse.Content.ToString()
                    };
                    db.UserReponse.Add(uneReponseUser);
                }
                db.SaveChanges();
            }
        }
Example #21
0
        public void AddReponsesParDefaultToQuestion(int id)
        {
            using (var dbContext = new FilRougeDBContext())
            {
                var question = dbContext.Questions.FirstOrDefault(q => q.QuestionId == id);
                var valeur   = "saisieLibre";
                if (question.MapToQuestionsViewModel().AnswerType == AnswerTypeEnum.SaisieCode)
                {
                    valeur = "saisieCode";
                }

                //var listeReponseUnique = new List<Reponses>();
                var uneReponse = new Reponses()
                {
                    Content     = valeur,
                    Question    = question,
                    TrueReponse = true
                };

                question.Reponses.Add(uneReponse);
                dbContext.SaveChanges();
            }
        }