public ActionResult CommencerQuestionnaire()
        {
            Elements element = new Elements();

            if (DALSession.sessionStart == 1)
            {
                return(RedirectToAction("RetourElementEnCours", "UserQuestionnaire"));
            }

            try
            {
                DALSession.nombreElements = DALElement.SelectAllFromQuestionnaire(DALSession.questionnaire.Id).Count;
                DALSession.lastElement    = DALElement.SelectLastElement(DALSession.questionnaire.Id);
                DALSession.sessionStart   = 1;
                element              = DALElement.FindElementByOrdre(DALSession.numElement, DALSession.questionnaire.Id);
                DALSession.element   = element;
                DALSession.dateDebut = DateTime.Now;
                DALSession.listeIdElement.Add(DALSession.element.Id);
                DALSession.nombreQuestionsQuestionnaire = DALElement.SelectAllQuestionFromQuestionnaire(DALSession.questionnaire.Id).Count;
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("CommencerQuestionnaire.UserQuestionnaire.Exception(Exception: {0})", e));
                return(RedirectToAction("Index", "UserQuestionnaire", new { error = ErrorList.commencerQuestionnaire }));
            }
            if (element.TypeElement_Id == 1)
            {
                return(RedirectToAction("SuiteDescription", "UserQuestionnaire"));
            }
            else
            {
                return(RedirectToAction("SuiteQuestion", "UserQuestionnaire"));
            }
        }
Beispiel #2
0
        /**
         * Fonction delete appelé en Jquery
         */
        public JsonResult DeleteQuestionnaireJquery(int idQuestionnaire)
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("DeleteQuestionnaire.Questionnaire.Entrée({0})", idQuestionnaire));
            MediaController med       = new MediaController();
            var             pothImage = Path.Combine(Server.MapPath(_CST_DIRECTORY_IMAGE));
            var             pothVideo = Path.Combine(Server.MapPath(_CST_DIRECTORY_VIDEO));

            try
            {
                var questionnaire = DALQuestionnaire.FindById(idQuestionnaire);
                if (DALElement.SelectAllQuestionFromQuestionnaire(idQuestionnaire) != null)
                {
                    var elements = DALElement.SelectAllFromQuestionnaire(idQuestionnaire);
                    foreach (var element in elements)
                    {
                        if (DALMedia.SelectAllFromElement(element.Id) != null)
                        {
                            var images = DALMedia.SelectAllFromElement(element.Id);
                            foreach (var image in images)
                            {
                                med.DeleteImage(image.Id, pothImage);
                            }
                        }

                        if (DALMedia.SelectVideoFromElement(element.Id) != null)
                        {
                            med.DeleteVideo(DALMedia.SelectVideoFromElement(element.Id).Id, pothVideo);
                        }

                        if (element.TypeElement_Id == 2)
                        {
                            if (DALChoix.SelectAllByElement(element.Id) != null)
                            {
                                var choix = DALChoix.SelectAllByElement(element.Id);
                                foreach (var c in choix)
                                {
                                    if (c.image_id != null)
                                    {
                                        med.DeleteImage((int)c.image_id, pothImage);
                                    }
                                }
                            }
                        }
                    }
                }
                DALQuestionnaire.DeleteQuestionnaire(idQuestionnaire);
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("DeleteQestionnaireJquery.Questionnaire.Exception(idquestionnaire : {0})", idQuestionnaire));
                //return RedirectToAction("ListeQuestionnaires", "Questionnaire", new { erreur = ErrorList.intituleQuestionnaire });
                return(Json(new
                {
                    redirectUrl = Url.Action("ListeQuestionnaires", "Questionnaire", new { erreur = ErrorList.deleteQuestionnaire }),
                    isRedirect = true
                }));
            }
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("DeleteQuestionnaire.Questionnaire.Sortie(idQuestionnaire : {0})", idQuestionnaire));

            return(Json(new
            {
                redirectUrl = Url.Action("ListeQuestionnaires", "Questionnaire"),
                isRedirect = true
            }));
        }
        public ActionResult ResultatQuestionnaire()
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("resultatQuestionnaire.UserQuestionnaire.Entrée(resultatSession: {0})", DALSession.ResultatQuestionnaire));

            var resultat = false;

            DALSession.sessionFinish = 1;
            float resultatFinal = 0;

            try
            {
                if (DALSession.nombreBonneReponses == 0)
                {
                    resultatFinal = 0;
                }
                else
                {
                    resultatFinal =
                        (float)(DALSession.nombreBonneReponses * 20 / DALElement.SelectAllQuestionFromQuestionnaire(DALSession.questionnaire.Id).Count);
                    DALSession.noteFinale = resultatFinal;
                }
                if (resultatFinal >= DALSession.questionnaire.note)
                {
                    DALSession.ResultatQuestionnaire = 1;
                }
                else
                {
                    DALSession.ResultatQuestionnaire = 0;
                }
                Utilisateurs utilisateur = new Utilisateurs();
                utilisateur.nom    = DALSession.nom.ToUpper();
                utilisateur.prenom = DALSession.prenom.ToUpper();
                if (DALSession.idUtilisateur != 0)
                {
                    utilisateur.Id = DALSession.idUtilisateur;
                    DALUtilisateur.UpdateUtilisateur(utilisateur);
                }
                else
                {
                    DALUtilisateur.InsertUtilisateur(utilisateur);
                }
                Resultat result = new Resultat();
                result.noteObtenue           = resultatFinal;
                result.tempsPassage          = Int32.Parse((DateTime.Now - DALSession.dateDebut).Minutes.ToString());
                result.idUtilisateur         = utilisateur.Id;
                result.idQuestionnaire       = DALSession.questionnaire.Id;
                result.datePassage           = DALSession.dateDebut;
                result.intituleQuestionnaire = DALSession.questionnaire.intitule;
                DALResultat.InsertResultat(result);

                foreach (var r in DALSession.reponses)
                {
                    Reponses reponse = new Reponses();
                    reponse.statut           = r.statut;
                    reponse.idElement        = r.idElement;
                    reponse.idResultat       = result.Id;
                    reponse.intitueleElement = r.intituleElement;
                    reponse.texteQuestion    = r.texteQuestion;
                    DALReponse.InsertReponse(reponse);
                }
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("resultatQuestionnaire.UserQuestionnaire.Entrée(idResultatInsert : {0}, idUtilisateurInsert{1})", result.Id, utilisateur.Id));
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("resultatQuestionnaire.UserQuestionnaire.Exception(Exception : {0})", e));
                ViewBag.Error = ErrorList.resultatQuestionnaire;
            }

            return(View(resultat));
        }