Пример #1
0
        public IActionResult DisplaySurvey(int id)
        {
            ViewBag.NbreVisitUnique = GetVisitIP();
            ViewBag.NbrePagesVues   = GetPageVues();
            UserConnect(ViewBag);
            ConsentCookie(ViewBag);


            Survey s = new Survey {
                Id = id
            };

            s = s.GetSurvey();

            Membres m = new Membres(); //Récupérer le membre auteur du sondage

            m = m.GetMembreById(s.IdCreateur);

            SurveyViewModel viewModel = new SurveyViewModel {
                Survey = s, Membre = m
            };


            bool DejaVote; // Vérifier si déjà voté

            if (ViewBag.Logged)
            {
                AnswerByMembre answer   = new AnswerByMembre();
                int            IdMembre = Convert.ToInt32(ViewBag.Id);
                DejaVote = answer.VerifVoteMembre(IdMembre, id);
            }
            else
            {
                Visiteur   v = new Visiteur();
                string     remoteIpAddress = Convert.ToString(Request.HttpContext.Connection.RemoteIpAddress);
                AnswerByIp answer          = new AnswerByIp();

                bool VerifByIp = answer.VerifVoteIp(v.GetIdIp(remoteIpAddress), id);
                bool VerifByCookie;

                if (Request.Cookies["Survey" + id] == null)
                {
                    VerifByCookie = false;
                }
                else
                {
                    VerifByCookie = true;
                }

                if (VerifByIp && VerifByCookie)
                {
                    DejaVote = true;
                }
                else
                {
                    DejaVote = false;
                }
            }

            if (DejaVote)
            {
                List <Survey>         surveys = s.GetAllSurveys(true);
                SurveyResultViewModel result  = new SurveyResultViewModel {
                    Survey = s, Surveys = surveys, Membre = m
                };
                return(View("ResultSurvey", result));
            }

            return(View("ViewSurvey", viewModel));
        }