Exemple #1
0
        public ActionResult AjoutSondage()
        {
            SondageMultilangue sondageMulti = new SondageMultilangue();

            sondageMulti.langue1 = new SONDAGE();
            sondageMulti.langue2 = new SONDAGE();

            var langue = (Session["Culture"] ?? "").ToString().ToUpper();

            if (langue == "FR")
            {
                sondageMulti.langue1.nomLangue = Resources.Shared.choixLangueFR;
                sondageMulti.langue2.nomLangue = Resources.Shared.choixLanguePT;

                sondageMulti.langue1.codeLangue = "FR";
                sondageMulti.langue2.codeLangue = "PT";
            }
            else
            {
                sondageMulti.langue1.nomLangue = Resources.Shared.choixLanguePT;
                sondageMulti.langue2.nomLangue = Resources.Shared.choixLangueFR;

                sondageMulti.langue1.codeLangue = "PT";
                sondageMulti.langue2.codeLangue = "FR";
            }

            sondageMulti.langue1.langueChoisie = true;
            sondageMulti.langue2.langueChoisie = false;

            sondageMulti.langue1.CHOIXSONDAGES = new List <CHOIXSONDAGE>();
            sondageMulti.langue2.CHOIXSONDAGES = new List <CHOIXSONDAGE>();

            List <SelectListItem> listeNombreChoix = Enumerable.Range(2, 9).Select(e => new SelectListItem {
                Text = e.ToString(), Value = e.ToString()
            }).ToList();

            ViewData[Constantes.CLE_NOMBRE_CHOIX] = listeNombreChoix;

            sondageMulti.nbChoix = 2;

            for (int i = 0; i < sondageMulti.nbChoix; i++)
            {
                sondageMulti.langue1.CHOIXSONDAGES.Add(new CHOIXSONDAGE {
                    VALEUR = ""
                });
                sondageMulti.langue2.CHOIXSONDAGES.Add(new CHOIXSONDAGE {
                    VALEUR = ""
                });
            }

            List <GetSecteurs_Result> listeSecteurs = db.GetSecteursLocalises(Session);

            ViewData[Constantes.CLE_SECTEURS] = listeSecteurs;

            return(View(sondageMulti));
        }
Exemple #2
0
        public ActionResult AjoutSondage(SondageMultilangue sondageMulti)
        {
            if (!sondageMulti.langue1.langueChoisie)
            {
                foreach (var key in ModelState.Keys.Where(key => key.StartsWith("langue1.")))
                {
                    ModelState[key].Errors.Clear();
                }
            }
            ;

            if (!sondageMulti.langue2.langueChoisie)
            {
                foreach (var key in ModelState.Keys.Where(key => key.StartsWith("langue2.")))
                {
                    ModelState[key].Errors.Clear();
                }
            }
            ;

            if (sondageMulti.langue1.CHOIXSONDAGES == null)
            {
                sondageMulti.langue1.CHOIXSONDAGES = new List <CHOIXSONDAGE>();
            }

            if (sondageMulti.langue2.CHOIXSONDAGES == null)
            {
                sondageMulti.langue2.CHOIXSONDAGES = new List <CHOIXSONDAGE>();
            }


            int l1ChoixCount = sondageMulti.langue1.CHOIXSONDAGES.Count;

            if (l1ChoixCount > sondageMulti.nbChoix)
            {
                sondageMulti.langue1.CHOIXSONDAGES.RemoveRange(sondageMulti.nbChoix, l1ChoixCount - sondageMulti.nbChoix);
            }
            else
            {
                for (int i = l1ChoixCount; i < sondageMulti.nbChoix; i++)
                {
                    sondageMulti.langue1.CHOIXSONDAGES.Add(new CHOIXSONDAGE());
                }
            }


            int l2ChoixCount = sondageMulti.langue2.CHOIXSONDAGES.Count;

            if (l2ChoixCount > sondageMulti.nbChoix)
            {
                sondageMulti.langue2.CHOIXSONDAGES.RemoveRange(sondageMulti.nbChoix, l2ChoixCount - sondageMulti.nbChoix);
            }
            else
            {
                for (int i = l2ChoixCount; i < sondageMulti.nbChoix; i++)
                {
                    sondageMulti.langue2.CHOIXSONDAGES.Add(new CHOIXSONDAGE());
                }
            }


            if (!sondageMulti.langue1.langueChoisie && !sondageMulti.langue2.langueChoisie)
            {
                TempData[Constantes.CLE_MSG_RETOUR] = new Message(Message.TYPE_MESSAGE.ERREUR, Resources.Messages.aucuneLangueErreur);
            }
            else if (ModelState.IsValid && Math.Max(l1ChoixCount, l2ChoixCount) == sondageMulti.nbChoix)
            {
                try
                {
                    SONDAGE sondageFR = null;
                    SONDAGE sondagePT = null;

                    if (sondageMulti.langue1.codeLangue == "FR")
                    {
                        sondageFR = sondageMulti.langue1;
                    }
                    else if (sondageMulti.langue2.codeLangue == "FR")
                    {
                        sondageFR = sondageMulti.langue2;
                    }

                    if (sondageMulti.langue1.codeLangue == "PT")
                    {
                        sondagePT = sondageMulti.langue1;
                    }
                    else if (sondageMulti.langue2.codeLangue == "PT")
                    {
                        sondagePT = sondageMulti.langue2;
                    }

                    ObjectParameter idNouvSondage = new ObjectParameter("idsondage", typeof(int));
                    db.AjouterSondage(sondageFR.NOM ?? "",
                                      sondagePT.NOM ?? "",
                                      sondageFR.QUESTION ?? "",
                                      sondagePT.QUESTION ?? "",
                                      sondageMulti.DATEDEBUT,
                                      sondageMulti.DATEFIN,
                                      WebSecurity.CurrentUserId,
                                      sondageMulti.IDSECTEUR,
                                      idNouvSondage);

                    sondageMulti.IDSONDAGE = (int)idNouvSondage.Value;

                    for (int i = 0; i < sondageMulti.nbChoix; i++)
                    {
                        db.AjouterChoixSondage(sondageMulti.IDSONDAGE,
                                               sondageFR.CHOIXSONDAGES[i].VALEUR ?? "",
                                               sondagePT.CHOIXSONDAGES[i].VALEUR ?? "");
                    }

                    TempData[Constantes.CLE_MSG_RETOUR] = new Message(Message.TYPE_MESSAGE.SUCCES, Resources.Sondages.sondageAjoute);

                    return(RedirectToAction("Sondages", "Sectoriel"));
                }
                catch (Exception ex)
                {
                    TempData[Constantes.CLE_MSG_RETOUR] = new Message(Message.TYPE_MESSAGE.ERREUR, Resources.Sondages.sondageErreur + " (" + ex.GetType() + ")");
                }
            }

            List <SelectListItem> listeNombreChoix = Enumerable.Range(2, 9).Select(e => new SelectListItem {
                Text = e.ToString(), Value = e.ToString()
            }).ToList();

            ViewData[Constantes.CLE_NOMBRE_CHOIX] = listeNombreChoix;

            List <GetSecteurs_Result> listeSecteurs = db.GetSecteursLocalises(Session);

            ViewData[Constantes.CLE_SECTEURS] = listeSecteurs;

            return(View(sondageMulti));
        }