示例#1
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 }));
        }
示例#2
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 }));
        }