public ActionResult AnswerQuestion(QuestionAnswer questionAnswermodel) { using (QuestionAnswerContext context = new QuestionAnswerContext()) { var questionId = questionAnswermodel.Question.Id; var newAnswer = questionAnswermodel.Answer; var question = context.Questions.Find(questionId); newAnswer.Question = question; question.AnswerCount += 1; context.Entry(question).State = EntityState.Modified; //Using default user as ID = 1, since we still dont have the login feature newAnswer.User = context.Users.Find(1); newAnswer.CreationDate = DateTime.Now; context.Answers.Add(newAnswer); context.SaveChanges(); var updatedquestion = context.Questions .OrderBy(q => q.CreationDate) .Where(q => q.Id == questionId) .Include(q => q.Category) .Include(q => q.User) .Include(q => q.Answers) .Include(q => q.Answers.Select(lp => lp.User)) .First(); var questionanswermodel = new QuestionAnswer(); questionanswermodel.Question = updatedquestion; return(View(questionanswermodel)); } }
public ActionResult Create(QuestionCategories questionCat) { try { var question = questionCat.Question; using (QuestionAnswerContext context = new QuestionAnswerContext()) { question.Category = context.Categories.Find(question.Category.Id); question.User = context.Users.Find(1); question.CreationDate = DateTime.Now; question.AnswerCount = 0; question.ViewCount = 0; question.Votes = null; context.Questions.Add(question); context.SaveChanges(); return(RedirectToAction("Questions", "Home", null)); } } catch { using (QuestionAnswerContext context = new QuestionAnswerContext()) { var categories = context.Categories.ToList(); QuestionCategories qc = new QuestionCategories(); qc.Categories = categories; return(View(qc)); } } }
public ActionResult Create() { using (QuestionAnswerContext context = new QuestionAnswerContext()) { var categories = context.Categories.ToList(); QuestionCategories qc = new QuestionCategories(); qc.Categories = categories; return(View(qc)); } }
public ActionResult Categories() { ViewBag.Message = "Your categories page."; using (QuestionAnswerContext context = new QuestionAnswerContext()) { var list = context.Categories .OrderBy(x => x.Id) .ToList(); return(View(list)); } }
public ActionResult Questions() { ViewBag.Message = "Your questions page."; using (QuestionAnswerContext context = new QuestionAnswerContext()) { var list = context.Questions .OrderBy(x => x.CreationDate) .Include(x => x.User) .Include(x => x.Category) .ToList(); return(View(list)); } }
public ActionResult Index() { using (QuestionAnswerContext context = new QuestionAnswerContext()) { var list = context.Questions .OrderBy(x => x.CreationDate) .Include(x => x.User) .Include(x => x.Category) .Take(5) .ToList(); return(View(list)); } }
public ActionResult EditAnswer(int id) { using (QuestionAnswerContext context = new QuestionAnswerContext()) { var answer = context.Answers .Find(id); context.Entry(answer).Reference(x => x.Question).Load(); context.Entry(answer).Reference(x => x.User).Load(); return(View(answer)); } }
public ActionResult EditAnswer(Answer answer) { using (QuestionAnswerContext context = new QuestionAnswerContext()) { answer.CreationDate = DateTime.Now; context.Entry(answer).State = EntityState.Modified; context.SaveChanges(); context.Entry(answer).Reference(x => x.Question).Load(); //return View(answer); return(RedirectToAction("AnswerQuestion", "Questions", new { id = answer.Question.Id })); } }
public ActionResult AnswerQuestion(QuestionAnswer questionAnswermodel) { using (QuestionAnswerContext context = new QuestionAnswerContext()) { var questionId = questionAnswermodel.Question.Id; var newAnswer = questionAnswermodel.Answer; var question = context.Questions.Find(questionId); newAnswer.Question = question; //question.AnswerCount += 1; context.Entry(question).State = EntityState.Modified; var username = User.Identity.Name; var user = context.Users.Where(x => x.Email == username).FirstOrDefault(); newAnswer.User = user; newAnswer.CreationDate = DateTime.Now; context.Answers.Add(newAnswer); context.SaveChanges(); var updatedquestion = context.Questions //.OrderBy(q => q.CreationDate) .Where(q => q.Id == questionId) .Include(q => q.Category) .Include(q => q.User) .Include(q => q.Answers) .Include(q => q.Votes) .Include(q => q.Answers.Select(lp => lp.User)) .First(); var questionanswermodel = new QuestionAnswer(); questionanswermodel.Question = updatedquestion; var userid = context.Users .Where(q => q.Email == User.Identity.Name) .First(); ViewBag.ID = userid.Id; return(View(questionanswermodel)); } }
public ActionResult List(int?id) { ViewBag.Message = "Your questions page."; using (QuestionAnswerContext context = new QuestionAnswerContext()) { List <Question> list; if (id != null) { if (id == 0) { list = context.Questions .OrderBy(x => x.CreationDate) .Include(x => x.User) .Include(x => x.Category) .Include(x => x.Votes) .ToList(); } else { list = context.Questions .OrderBy(x => x.CreationDate) .Include(x => x.User) .Include(x => x.Category) .Include(x => x.Votes) .Where(x => x.Category.Id == id) .ToList(); } } else { list = context.Questions .OrderBy(x => x.CreationDate) .Include(x => x.User) .Include(x => x.Category) .Include(x => x.Votes) .ToList(); } return(View(list)); } }
public ActionResult AnswerQuestion(int id) { using (QuestionAnswerContext context = new QuestionAnswerContext()) { var question = context.Questions .Where(q => q.Id == id) .Include(q => q.Category) .Include(q => q.User) .Include(q => q.Answers) .Include(q => q.Votes) .Include(q => q.Answers.Select(lp => lp.User)) .First(); question.ViewCount += 1; context.SaveChanges(); var questionanswermodel = new QuestionAnswer(); questionanswermodel.Question = question; var user = context.Users .Where(q => q.Email == User.Identity.Name) .FirstOrDefault(); int userid; if (user == null) { userid = 0; } else { userid = user.Id; } ViewBag.ID = userid; return(View(questionanswermodel)); } }
public ActionResult AnswerQuestion(int id) { using (QuestionAnswerContext context = new QuestionAnswerContext()) { var question = context.Questions .Where(q => q.Id == id) .Include(q => q.Category) .Include(q => q.User) .Include(q => q.Answers) .Include(q => q.Answers.Select(lp => lp.User)) .First(); question.ViewCount += 1; context.SaveChanges(); var questionanswermodel = new QuestionAnswer(); questionanswermodel.Question = question; return(View(questionanswermodel)); } }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email, }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { var result1 = UserManager.AddToRole(user.Id, "User"); using (QuestionAnswerContext context = new QuestionAnswerContext()) { var user2 = new User() { Email = model.Email, Name = model.Name }; context.Users.Add(user2); context.SaveChanges(); } await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult QuestionVote(QuestionAnswer questionAnswermodel) { using (QuestionAnswerContext context = new QuestionAnswerContext()) { var questionId = questionAnswermodel.Question.Id; var question = context.Questions.Where(q => q.Id == questionId) .Include(q => q.Category) .Include(q => q.User) .Include(q => q.Answers) .Include(q => q.Votes) .Include(q => q.Answers.Select(lp => lp.User)) .First(); var user = question.Votes.Where(x => x.User.Id == question.User.Id).FirstOrDefault(); if (user == null) { String submit = Request.Form["submit"]; switch (submit) { case "upvote": Vote newVote = new Vote(); newVote.CreationDate = DateTime.Now; newVote.User = context.Users.Find(question.User.Id); newVote.Value = +1; question.VoteCount += 1; question.Votes.Add(newVote); context.SaveChanges(); break; case "downvote": Vote newVote2 = new Vote(); newVote2.CreationDate = DateTime.Now; newVote2.User = context.Users.Find(question.User.Id); newVote2.Value = -1; question.VoteCount -= 1; question.Votes.Add(newVote2); context.SaveChanges(); break; default: // break; } } var updatedquestion = context.Questions .OrderBy(q => q.CreationDate) .Where(q => q.Id == questionId) .Include(q => q.Category) .Include(q => q.User) .Include(q => q.Answers) .Include(q => q.Votes) .Include(q => q.Answers.Select(lp => lp.User)) .First(); var questionanswermodel = new QuestionAnswer(); questionanswermodel.Question = updatedquestion; return(View("AnswerQuestion", questionanswermodel)); } }