예제 #1
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));
        }
예제 #2
0
        /**
         *
         */
        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
            }));
        }
예제 #3
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));
        }
예제 #4
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));
        }
예제 #5
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"));
            }
        }
예제 #6
0
        /**
         * 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 }));
        }
예제 #7
0
        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 }));
        }
예제 #8
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));
        }
예제 #9
0
        /**
         * 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));
        }
예제 #10
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 }));
        }