コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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 }));
            }
        }
コード例 #3
0
        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));
            }
        }
コード例 #4
0
        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));
            }
        }