コード例 #1
0
        /**
         * Créer la description puis amène à la page UpdateDescription
         */
        public ActionResult CreateDescription(string intitule, string texte, int idQuestionnaire)
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("CreateDescription.Description.Entrée(idQuestionnaire : {0})", idQuestionnaire));

            ViewModelQuestionnaireElements model = new ViewModelQuestionnaireElements();
            Elements       element       = new Elements();
            Questionnaires questionnaire = new Questionnaires();
            int            count;

            try
            {
                count                    = DALElement.SelectAllFromQuestionnaire(idQuestionnaire).Count;
                element.intitule         = intitule;
                element.texte            = texte;
                element.questionnaire_id = idQuestionnaire;
                element.TypeElement_Id   = 1;
                element.ordre            = count + 2;
                DALElement.InsertElement(element);
                model.idElement       = element.Id;
                model.idQuestionnaire = idQuestionnaire;
                model.texte           = texte;
                model.intituleElement = intitule;
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("PageCreateDescription.Description.Exception(Exception: {0})", e));
                return(RedirectToAction("PageCreateQuestionnaire", "Questionnaire", new{ id = idQuestionnaire, error = ErrorList.createDescription }));
            }


            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("PageCreateDescription.Description.Sortie(idQuestionnaire : {0})", model.idQuestionnaire));

            return(RedirectToAction("PageUpdateDescription", "Description", model));
        }
コード例 #2
0
ファイル: QuestionnaireController.cs プロジェクト: blajib/QCM
        public ActionResult PageCreateQuestionnaire(int id, String erreur)
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("PageCreateQuestionnaire.Questionnaire.Entrée(idQuestionnaire : {0})", id));
            if (erreur != null)
            {
                ViewBag.Error = erreur;
            }

            var questionnaireEntity             = new Questionnaires();
            ViewModelQuestionnaireElements vmqe = new ViewModelQuestionnaireElements();

            try
            {
                questionnaireEntity = DALQuestionnaire.FindById(id);
                vmqe.questionnaire  = questionnaireEntity;
                vmqe.elements       = DALElement.SelectAllFromQuestionnaire(id);
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("PageCreateQuestionnaire.Questionnaire.Exception(idQuesstionnaire : {0}, exception : {1}", id, e));
                return(RedirectToAction("ListeQuestionnaires", "Questionnaire", new { erreur = ErrorList.pageCreateQuestionnaire }));
            }


            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("PageCreateQuestionnaire.Questionnaire.Sortie(idQuestionnaire : {0})", id));

            return(View(vmqe));
        }
コード例 #3
0
        public ActionResult PageUpdateDescription(ViewModelQuestionnaireElements model) /* idQuestionnaire , texte , intituleElement, idElement*/
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("PageUpdateDescription.Description.Entrée(idQuestionnaire : {0}, idElement{1})", model.idQuestionnaire, model.idElement));

            Elements element = new Elements();

            try
            {
                element = DALElement.FindById(model.idElement);
                model.idQuestionnaire = (int)element.questionnaire_id;
                model.texte           = element.texte;
                model.intituleElement = element.intitule;
                model.idElement       = element.Id;
                model.listeImagesUp   = DALMedia.SelectAllFromElement(element.Id);
                model.listeImagesDown = DALMedia.SelectAllFromElementDown(element.Id);
                model.video           = DALMedia.SelectVideoFromElement(element.Id);
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("PageUpdateDescription.Description.Exception(exception: {0})", e));
                return(RedirectToAction("PageCreateQuestionnaire", "Questionnaire", new{ id = model.idQuestionnaire, error = ErrorList.pageUpdateDescription }));
            }
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("PageUpdateDescription.Description.Sortie(idQuestionnaire : {0}, idElement{1})", model.idQuestionnaire, model.idElement));

            return(View(model));
        }
コード例 #4
0
        public ActionResult ApresDescription(int idElement)
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("apresDescription.UserQuestionnaire.Entrée(idElement : {0})", idElement));

            ViewModelUserQuestionnaire model = new ViewModelUserQuestionnaire();

            try
            {
                var      element          = DALElement.FindById(idElement);
                Elements descriptionApres = DALElement.SelectElementApresDescription(element);
                Elements elementApres     = DALElement.elementOrdreApres(element);
                if (elementApres.Id == DALSession.element.Id || descriptionApres.Id == DALSession.element.Id)
                {
                    return(RedirectToAction("RetourElementEnCours", "UserQuestionnaire"));
                }
                else
                {
                    model.element    = descriptionApres;
                    model.imagesUp   = DALMedia.SelectAllFromElement(descriptionApres.Id);
                    model.imagesDown = DALMedia.SelectAllFromElementDown(descriptionApres.Id);
                }
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("apresDescription.UserQuestionnaire.Sortie(idElement description Apres: {0})", descriptionApres.Id));
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("apresDescription.UserQuestionnaire.Excpetion(Exception : {0})", e));
                ViewBag.Error = ErrorList.apresDescription;
            }


            return(View(model));
        }
コード例 #5
0
        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"));
            }
        }
コード例 #6
0
        public JsonResult IndexJquery(ViewModelUserQuestionnaire model)
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("InsertJquery.UserQuestionnaire.Entrée(idQuestionnaire : {0},nom candidat : {1}, prenom candidat{2})", model.idQuestionnaire, model.nom, model.prenom));

            try
            {
                DALSession.questionnaire = DALQuestionnaire.FindById(model.idQuestionnaire);
                DALSession.listeElements = DALElement.SelectAllFromQuestionnaire(DALSession.questionnaire.Id);
                var utilisateurExistant = DALUtilisateur.FindUtilisateurByNomPrenom(model.nom, model.prenom);
                if (utilisateurExistant != null)
                {
                    DALSession.idUtilisateur = utilisateurExistant.Id;
                }
                DALSession.nom    = model.nom;
                DALSession.prenom = model.prenom;


                Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("InsertJquery.UserQuestionnaire.Sortie(nom session: {0},prenom session : {1})", DALSession.nom, DALSession.prenom));
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("InsertJquery.UserQuestionnaire.Exception(Exception: {0})", e));
                return(Json(ErrorList.IndexJqueryUserQuestionnaire));
            }
            return(Json(new
            {
                redirectUrl = Url.Action("Index", "UserQuestionnaire" /*, new { idQuestionnaire = idQuestionnaire }*/),
                isRedirect = true
            }));
        }
コード例 #7
0
        public ActionResult RetourDescription(int idElement)
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("retourDescription.UserQuestionnaire.Entrée(idElement : {0})", idElement));
            ViewModelUserQuestionnaire model = new ViewModelUserQuestionnaire();
            Elements element = new Elements();

            try
            {
                var el = DALElement.FindById(idElement);

                if (el.ordre <= 2)
                {
                    return(RedirectToAction("Index", "UserQuestionnaire"));
                }
                else
                {
                    //List<Elements> elements = ElementManager.SelectAllRetourDescriptionDesc(SessionManager.questionnaire.Id,ordre);
                    element          = DALElement.SelectElementRetourDescription(el);
                    model.element    = element;
                    model.imagesUp   = DALMedia.SelectAllFromElement(element.Id);
                    model.imagesDown = DALMedia.SelectAllFromElementDown(element.Id);
                    model.video      = DALMedia.SelectVideoFromElement(element.Id);
                }

                Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("retourDescription.UserQuestionnaire.Sortie(idElement retour : {0})", element.Id));
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("retourDescription.UserQuestionnaire.Exception(Exception : {0})", e));
                ViewBag.Error = ErrorList.retourDescription;
            }

            return(View(model));
        }
コード例 #8
0
ファイル: QuestionController.cs プロジェクト: blajib/QCM
        /**
         *
         */
        public JsonResult UpdateQuestionJquery(ViewModelQuestion model)/*idElement, intituleQuestion, texteQuestion*/
        {
            var element = new Elements();

            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("UpdateQuestionJquery.Question.Entrée(idElement : {0},intituleQuestion : {1})", model.idElement, model.intituleQuestion));
            try
            {
                element          = DALElement.FindById(model.idElement);
                element.intitule = model.intituleQuestion;
                element.texte    = model.texteQuestion;
                DALElement.UpdateElement(element);
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("UpdateQuestionJquery.Question.Entrée(Eception : {0}", e));

                return(Json(new
                {
                    redirectUrl = Url.Action("PageCreateQuestionnaire", "Questionnaire", new { erreur = ErrorList.updateQuestionJquery }),
                    isRedirect = true
                }));
            }
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("UpdateQuestionJquery.Question.Sortie(idQuestionnaire : {0}", element.questionnaire_id));

            return(Json(new
            {
                redirectUrl = Url.Action("PageCreateQuestionnaire", "Questionnaire", new { id = element.questionnaire_id }),
                isRedirect = true
            }));
        }
コード例 #9
0
ファイル: QuestionController.cs プロジェクト: blajib/QCM
        /**
         * Cela insert la question et dirige vers la page updateQuestion
         */
        public ActionResult CreateQuestion(ViewModelChoixQuestion model)/*intituleQuestion, texteQuestion, idQuestionnaire*/
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("CreateQuestion.Question.Entrée(intitule question : {0}, idQuestionnaire : )", model.intituleQuestion, model.idQuestionnaire));

            Elements       element       = new Elements();
            Questionnaires questionnaire = new Questionnaires();
            int            count;

            try
            {
                count = DALElement.SelectAllFromQuestionnaire(model.idQuestionnaire).Count;
                Choixes choix = new Choixes();
                element.intitule         = model.intituleQuestion;
                element.texte            = model.texteQuestion;
                element.questionnaire_id = model.idQuestionnaire;
                //Le 2 du type signifie question
                element.TypeElement_Id = 2;
                element.ordre          = count + 2;
                DALElement.InsertElement(element);
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("PageUpdateQuestion.Question.Exception(exception : {0})", e));
                return(RedirectToAction("PageCreateQuestionnaire", "Questionnaire", new { erreur = ErrorList.createQuestion }));
            }
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("Retour question créer puis redirect vers PageUpdateQuestion({0})", element.Id));

            return(RedirectToAction("PageUpdateQuestion", "Question", new { idElement = element.Id }));
        }
コード例 #10
0
        public ActionResult CheckNextElement(int idElement)
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("checkNextElement.UserQuestionnaire.Entrée(idElement : {0})", idElement));

            Elements element = DALElement.FindById(idElement);


            if (DALSession.element.ordre == DALSession.lastElement.ordre && DALSession.nombreQuestionsRepondu == DALSession.nombreQuestionsQuestionnaire)
            {
                return(RedirectToAction("ResultatQuestionnaire", "UserQuestionnaire"));
            }
            else
            {
                foreach (var id in DALSession.listeIdElement)
                {
                    try
                    {
                        if (DALElement.elementOrdreApres(element).Id != null)
                        {
                            if (id == DALElement.elementOrdreApres(element).Id)
                            {
                                return(RedirectToAction("RetourElementEnCours", "UserQuestionnaire"));
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                        return(RedirectToAction("ResultatQuestionnaire", "UserQuestionnaire"));
                    }
                }

                DALSession.element = DALElement.elementOrdreApres(DALSession.element);
                List <int> list = DALSession.listeIdElement;
                list.Add(DALSession.element.Id);
                DALSession.listeIdElement = list;

                Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("checkNextElement.UserQuestionnaire.Sortie(idElement: {0}, idElementApres{1})", idElement, DALSession.element.Id));
            }

            if (DALSession.element.TypeElement_Id == 1)
            {
                return(RedirectToAction("SuiteDescription", "UserQuestionnaire"));
            }
            else
            {
                return(RedirectToAction("SuiteQuestion", "UserQuestionnaire"));
            }
        }
コード例 #11
0
ファイル: QuestionController.cs プロジェクト: blajib/QCM
        /**
         * Delete question ave l'Id de la question
         */
        public ActionResult DeleteQuestion(int id)
        {
            MediaController med       = new MediaController();
            var             pothImage = Path.Combine(Server.MapPath(ConfigHelper._CST_DIRECTORY_IMAGE));

            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("DeleteQuestion.Question.Entrée(idElement : {0})", id));
            var idQuestionnaire = 0;

            try
            {
                Elements element = DALElement.FindById(id);
                idQuestionnaire = (int)element.questionnaire_id;
                if (DALMedia.SelectVeryAllFromElement(id) != null)
                {
                    foreach (var image in DALMedia.SelectVeryAllFromElement(id))
                    {
                        med.DeleteImage(image.Id, pothImage);
                    }
                }

                if (DALChoix.SelectAllByElement(id) != null)
                {
                    foreach (var choix in DALChoix.SelectAllByElement(id))
                    {
                        if (choix.image_id != null)
                        {
                            med.DeleteImage((int)choix.image_id, pothImage);
                        }
                    }
                }
                DALElement.DeleteElement(element.Id);
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("DeleteQuestion.Question.Sortie(idQuestionnaire: {0})", idQuestionnaire));
                return(RedirectToAction("PageCreateQuestionnaire", "Questionnaire", new { id = idQuestionnaire, erreur = ErrorList.deleteQuestion }));
            }

            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("DeleteQuestion.Question.Sortie(idQuestionnaire: {0})", idQuestionnaire));

            return(RedirectToAction("PageCreateQuestionnaire", "Questionnaire", new { id = idQuestionnaire }));
        }
コード例 #12
0
        public ActionResult SuiteQuestion()
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("SuiteQuestion.UserQuestionnaire.Entrée(idElementSession: {0})", DALSession.element.Id));
            ViewModelUserQuestionnaire model = new ViewModelUserQuestionnaire();

            try
            {
                model.imagesUp       = DALMedia.SelectAllFromElement(DALSession.element.Id);
                model.listChoix      = DALChoix.SelectAllByElement(DALSession.element.Id);
                model.numeroQuestion = DALElement.FindNumeroQuestion(DALSession.element.Id);
                model.element        = DALSession.element;
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("SuiteQuestion.UserQuestionnaire.Exception(Excpetion : {0})", e));
                ViewBag.Error = ErrorList.suiteQuestion;
            }

            return(View(model));
        }
コード例 #13
0
ファイル: ElementController.cs プロジェクト: blajib/QCM
        public ActionResult ElementDown(int idElement)
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("elementUp.Element.Entrée(idElement: {0})", idElement));
            Elements element = new Elements();

            try
            {
                element = DALElement.FindById(idElement);
                DALElement.elementDown(idElement);
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("elementUp.Element.Exception(Exception: {0})", e));
                ViewBag.Error = ErrorList.elementDown;
            }


            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("elementUp.Element.Sortie(idQuestionnaire: {0})", element.questionnaire_id));

            return(RedirectToAction("PageCreateQuestionnaire", "Questionnaire", new { id = element.questionnaire_id }));
        }
コード例 #14
0
        /**
         * Fonction en Async qui ramene jsuque à la pag CreateQuestionnaire
         */
        public JsonResult UpdateDescriptionAsyn(ViewModelQuestionnaireElements model)/*idElement*/
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("UpdateDescriptionAsyn.Description.Entrée(idElement : {0})", model.idElement));

            var element = new Elements();

            try
            {
                element          = DALElement.FindById(model.idElement);
                element.intitule = model.intituleElement;
                element.texte    = model.texte;
                DALElement.UpdateElement(element);
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("UpdateDescriptionAsyn.Description.Exception(Exception : {0})", e));
                return(Json(ErrorList.UpdateDescriptionAsyn));
            }

            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("UpdateDescriptionAsyn.Description.Sortie(idQuestionnaire: {0})", element.questionnaire_id));

            return(Json(element.questionnaire_id));
        }
コード例 #15
0
ファイル: QuestionController.cs プロジェクト: blajib/QCM
        /**
         * Page direct après création de la question ou en cliquant sur le bouton update Question
         */
        public ActionResult PageUpdateQuestion(int idElement)
        {
            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("PageUpdateQuestion.Question.Entrée(idElement : {0})", idElement));

            ViewModelChoixQuestion model = new ViewModelChoixQuestion();

            try
            {
                model.element       = DALElement.FindById(idElement);
                model.listeImagesUp = DALMedia.SelectAllFromElement(idElement);
                model.listeChoix    = DALChoix.SelectAllByElement(idElement);
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("PageUpdateQuestion.QuestionException(idElement : {0}, exception : {1})", idElement, e));
                model.idQuestionnaire = 0;
                return(RedirectToAction("PageCreateQuestionnaire", "Questionnaire", new { erreur = ErrorList.PageUpdateQuestion }));
            }


            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("PageUpdateQuestion.Question.Sortie(element : {0})", Tools.JsonHelper.Serialize(model.element, typeof(Elements))));

            return(View("PageUpdateQuestion", model));
        }
コード例 #16
0
        /**
         * Va effacer un élément puis réactualiser la page createQuestionnaire. Possible amélioration en
         * la mettant en Asyn avec Jquery
         */
        public ActionResult DeleteElement(int id)
        {
            MediaController med = new MediaController();

            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("DeleteDescription.Description.Entrée(idQuestionnaire : {0})", id));
            var      pothImage = Path.Combine(Server.MapPath(ConfigHelper._CST_DIRECTORY_IMAGE));
            var      pothVideo = Path.Combine(Server.MapPath(ConfigHelper._CST_DIRECTORY_VIDEO));
            Elements element   = new Elements();

            try
            {
                element = DALElement.FindById(id);
                if (DALMedia.SelectVeryAllFromElement(id) != null)
                {
                    foreach (var image in DALMedia.SelectVeryAllFromElement(id))
                    {
                        med.DeleteImage(image.Id, pothImage);
                    }
                }

                if (DALMedia.SelectVideoFromElement(id) != null)
                {
                    med.DeleteVideo(DALMedia.SelectVideoFromElement(id).Id, pothVideo);
                }
                DALElement.DeleteElement(element.Id);
            }
            catch (Exception e)
            {
                Tools.Logger.Ecrire(Tools.Logger.Niveau.Erreur, string.Format("DeleteDescription.Description.Exception(Exception : {0})", e));
                return(RedirectToAction("PageCreateQuestionnaire", "Questionnaire", new{ id = id, error = ErrorList.deleteDescription }));
            }

            Tools.Logger.Ecrire(Tools.Logger.Niveau.Info, string.Format("DeleteDescription.Description.Sortie(idQuestionnaire : {0})", element.questionnaire_id));

            return(RedirectToAction("PageCreateQuestionnaire", "Questionnaire", new { id = element.questionnaire_id }));
        }
コード例 #17
0
        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));
        }
コード例 #18
0
ファイル: QuestionnaireController.cs プロジェクト: blajib/QCM
        /**
         * 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
            }));
        }