public IActionResult Vote(int?vote, int idSurvey) { ViewBag.NbreVisitUnique = GetVisitIP(); ViewBag.NbrePagesVues = GetPageVues(); UserConnect(ViewBag); ConsentCookie(ViewBag); List <string> errors = new List <string>(); if (vote == null) { errors.Add("Vous devez cocher une case pour voter!"); ViewBag.errors = errors; Survey survey = new Survey { Id = idSurvey }; survey = survey.GetSurvey(); Membres membre = new Membres(); //Récupérer le membre auteur du sondage membre = membre.GetMembreById(survey.IdCreateur); SurveyViewModel viewModel = new SurveyViewModel { Survey = survey, Membre = membre }; return(View("ViewSurvey", viewModel)); } if (ViewBag.Logged) { AnswerByMembre answer = new AnswerByMembre { IdMembre = Convert.ToInt32(ViewBag.Id), IdSurvey = idSurvey, IdAnswer = (int)vote }; answer.SaveVoteMembre(); } else { Visiteur v = new Visiteur(); string remoteIpAddress = Convert.ToString(Request.HttpContext.Connection.RemoteIpAddress); AnswerByIp answer = new AnswerByIp { IdIp = v.GetIdIp(remoteIpAddress), IdAnswer = (int)vote, IdSurvey = idSurvey }; answer.SaveVoteIdIp(); CookieOptions option = new CookieOptions { Expires = DateTime.Now.AddDays(365), HttpOnly = true }; Response.Cookies.Append("Survey" + idSurvey, Convert.ToString(vote), option); } Survey s = new Survey { Id = idSurvey }; s = s.GetSurvey(); Membres m = new Membres(); //Récupérer le membre auteur du sondage m = m.GetMembreById(s.IdCreateur); List <Survey> surveys = s.GetAllSurveys(true); SurveyResultViewModel result = new SurveyResultViewModel { Survey = s, Surveys = surveys, Membre = m }; return(View("ResultSurvey", result)); }