public ActionResult Index([Bind(Include = "Question, Answers")] CreatePollViewModel cpvm) { if (ModelState.IsValid) { Question newQuestion = new Question(); newQuestion.QuestionText = cpvm.Question; Random rnd = new Random(); newQuestion.ShortURL = generateRandom(6, rnd); newQuestion.Password = generateRandom(6, rnd); newQuestion.CreatedDateTime = DateTime.Now; db.Questions.Add(newQuestion); db.SaveChanges(); //int id = newQuestion.Id; Answer[] newAnswer = new Answer[cpvm.Answers.Length]; for (int ndx = 0; ndx < cpvm.Answers.Length; ndx++) { newAnswer[ndx] = new Answer(); newAnswer[ndx].QuestionID = newQuestion.Id; newAnswer[ndx].AnswerText = cpvm.Answers[ndx].Value; db.Answers.Add(newAnswer[ndx]); } db.SaveChanges(); //PollViewModel pvm = new PollViewModel(); //pvm.Question = cpvm.Question; //pvm.Answers = cpvm.Answers.Select(x => x.Value).ToArray(); return(RedirectToAction("AdminPoll", new { password = newQuestion.Password })); } return(View()); }
public async Task <ActionResult <CreatePollViewModel> > GetCreatePollViewModel(long id, string zoekterm) { CreatePollViewModel createPollVM = new CreatePollViewModel(); var alleGebruikers = await _context.Gebruikers.Where(g => g.GebruikerID != id).ToListAsync(); var VriendenVerzonden = from a in _context.Vrienden.Where(v => v.Bevestigd == true && v.VerzenderID == id) select a; var VriendenOntvangen = from a in _context.Vrienden.Where(v => v.Bevestigd == true && v.OntvangerID == id) select a; var enkelVriendGebruikers = new List <Gebruiker>(); var gebruikersMetZoektermVoldaan = new List <Gebruiker>(); var vriendGebruikerIDs = new List <long?>(); foreach (var vriend in VriendenVerzonden) { vriendGebruikerIDs.Add(vriend.OntvangerID); } foreach (var vriend in VriendenOntvangen) { vriendGebruikerIDs.Add(vriend.VerzenderID); } if (zoekterm != "") { gebruikersMetZoektermVoldaan = alleGebruikers.Where(g => g.Gebruikersnaam.Contains(zoekterm)).ToList(); foreach (var gebruiker in gebruikersMetZoektermVoldaan) { if (vriendGebruikerIDs.Contains(gebruiker.GebruikerID)) { enkelVriendGebruikers.Add(gebruiker); } } createPollVM.GebruikersOpZoekterm = enkelVriendGebruikers; } createPollVM.AlleVrienden = alleGebruikers; return(createPollVM); }
public ActionResult Index([Bind(Include = "Question, Answers, ShortURL")] CreatePollViewModel cpvm) { var currUserID = -1; if (User.Identity.IsAuthenticated) { currUserID = db.Users.First(x => x.Email == User.Identity.Name).UserID; } if (db.Questions.Any(q => q.ShortURL == cpvm.ShortURL && q.CreatedByUserID != currUserID)) { ModelState.AddModelError("ShortURL", "ShortURL in use..Maybe you forgot to login?"); } if (ModelState.IsValid) { Question newQuestion = new Question(); newQuestion.QuestionText = cpvm.Question.ToString().Replace(System.Environment.NewLine, "<br />"); Random rnd = new Random(); if (cpvm.ShortURL == null) { newQuestion.ShortURL = generateRandom(6, rnd); } else { newQuestion.ShortURL = cpvm.ShortURL; } newQuestion.Password = generateRandom(6, rnd); newQuestion.CreatedDateTime = DateTime.Now; if (User.Identity.IsAuthenticated) { User u = db.Users.First(x => x.Email == User.Identity.Name); newQuestion.CreatedByUserID = u.UserID; } newQuestion.Active = true; db.Questions.Add(newQuestion); db.SaveChanges(); //int id = newQuestion.Id; cpvm.Answers = cpvm.Answers.Where(x => !string.IsNullOrEmpty(x.Value)).ToArray(); Answer[] newAnswer = new Answer[cpvm.Answers.Length]; for (int ndx = 0; ndx < cpvm.Answers.Length; ndx++) { newAnswer[ndx] = new Answer(); newAnswer[ndx].QuestionID = newQuestion.QuestionID; newAnswer[ndx].AnswerText = cpvm.Answers[ndx].Value; db.Answers.Add(newAnswer[ndx]); } db.SaveChanges(); //PollViewModel pvm = new PollViewModel(); //pvm.Question = cpvm.Question; //pvm.Answers = cpvm.Answers.Select(x => x.Value).ToArray(); //return RedirectToAction("AdminPoll", new { password = newQuestion.Password }); if (User.Identity.IsAuthenticated) { return(RedirectToAction("ManagePolls")); } else { return(RedirectToAction("AdminPoll", new { password = newQuestion.Password })); } } return(View()); }