public async Task <ActionResult <IEnumerable <QuestionResourceModel> > > GetQuestions() { var allQuestions = await _context.Questions.ToListAsync(); List <QuestionResourceModel> questionlist = new List <QuestionResourceModel>(); foreach (var question in allQuestions) { var thisquestion = new QuestionResourceModel { QuestionId = question.QuestionId, Title = question.Title, Content = question.Content, UpvoteCount = question.UpvoteCount, DownvoteCount = question.DownvoteCount }; questionlist.Add(thisquestion); } return(questionlist); }
public async Task <ActionResult <QuestionResourceModel> > GetQuestion(Guid id) { var question = await _context.Questions.FindAsync(id); var answers = await _context.Answers.Where(f => f.QuestionId == id).ToListAsync(); AnswerResourceModel AcceptedAnswer = null; if (question.isAnswered) { var bestanswer = _context.Answers.Where(f => f.AnswerId == question.AcceptedAnswerId).FirstOrDefault(); AcceptedAnswer = new AnswerResourceModel { AnswerId = bestanswer.AnswerId, Content = bestanswer.Content }; } List <AnswerResourceModel> answerlist = new List <AnswerResourceModel>(); foreach (var ans in answers) { var thisanswer = new AnswerResourceModel { AnswerId = ans.AnswerId, Content = ans.Content }; answerlist.Add(thisanswer); } if (question == null) { return(NotFound()); } var return_question = new QuestionResourceModel { QuestionId = question.QuestionId, Title = question.Title, Content = question.Content, CreatedUserID = question.CreatedUserID, isAnswered = question.isAnswered, AcceptedAnswer = AcceptedAnswer, Answers = answerlist, UpvoteCount = question.UpvoteCount, DownvoteCount = question.DownvoteCount, Tag = question.Tag }; return(return_question); }
public ActionResult <QuestionResourceModel> Get(String token, String tags) { if (token == null) { return(Unauthorized()); } List <String> Tags_ = tags.Split(",").ToList(); List <QuestionResourceModel> questionlist = new List <QuestionResourceModel>(); var questions = _context.Questions.Where(i => Tags_.Contains(i.Tag)).ToList(); foreach (var question in questions) { var thisquestion = new QuestionResourceModel { QuestionId = question.QuestionId, Title = question.Title, Content = question.Content, UpvoteCount = question.UpvoteCount, DownvoteCount = question.DownvoteCount, Tag = question.Tag }; questionlist.Add(thisquestion); } return(Ok(new { data = questionlist })); }