Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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 }));
        }