예제 #1
0
        public async Task <IActionResult> GetAnswersList(int questionId, int index, int size)
        {
            Domain.Paginator pager = Domain.Paginator.New(index, size);

            Domain.Answers.Hub answerHub = new Domain.Answers.Hub();
            var r = await answerHub.GetAnswersAsync(pager, questionId);

            return(Pack(r));
        }
예제 #2
0
        /// <summary>
        /// 获取自己的回答
        /// </summary>
        public async Task <Paginator> GetSelfAnswersByDetailAsync(Domain.Paginator pager)
        {
            Answers.Hub answerHub = new Answers.Hub();
            var         r         = await answerHub.GetAnswerFormUserPageAsync(pager);

            Paginator resultPager = r.GetData <Paginator>();

            return(resultPager);
        }
예제 #3
0
        /// <summary>
        /// 获取自己的提问
        /// </summary>
        /// <returns></returns>
        public async Task <Paginator> GetSelfQuestionsAsync(Domain.Paginator pager)
        {
            Domain.Questions.Hub questionsHub = new Questions.Hub();
            Resp resp = await questionsHub.GetListAsync(pager, Questions.Hub.QuestionListSource.ClientUserDetailPage);

            Paginator resultPager = resp.GetData <Paginator>();

            return(resultPager);
        }
예제 #4
0
        public async Task <IActionResult> GetReportsListAsync(int questionId, int index)
        {
            Domain.Paginator pager = Domain.Paginator.New(index, 20, 1);
            pager["questionId"] = questionId.ToString();

            var reportQuestion = Domain.Questions.Reports.GetReportQuestion(questionId);
            var r = await reportQuestion.GetReportsListAsync(pager);

            return(Pack(r));
        }
예제 #5
0
        public async Task <IActionResult> GetDisabledListAsync(int index, int size, string questionTitle, int state)
        {
            Domain.Paginator pager = Domain.Paginator.New(index, size);
            pager["questionTitle"] = questionTitle;

            Domain.Answers.Hub answerHub = new Domain.Answers.Hub();
            var r = await answerHub.GetAnswersList(pager, (Domain.Answers.Answer.AnswerState) state);

            return(Pack(r));
        }
        public async Task <IActionResult> Newest(int index, int size)
        {
            SetTitle("最新提问");

            Domain.Paginator page = Domain.Paginator.New(index, size);

            Domain.Questions.Hub hub = new Domain.Questions.Hub();
            page = await hub.GetNewestQuestionsPager(page);

            NewestModel model = new NewestModel
            {
                Page = page
            };

            return(View("Newest", model));
        }
        public async Task <IActionResult> GetQuestionDetailAsync(int id, string title, int index, int size)
        {
            SetTitle(title);
            Domain.Paginator pager = Domain.Paginator.New(index, size, 1);
            pager["currentUserId"] = CurrentUser.Id.ToString();

            Domain.Questions.Question question = Domain.Questions.Hub.GetQuestion(id);
            Domain.Resp resp = await question.GetDetailAsync(Domain.Questions.Question.DetailSource.Client, pager);

            if (!resp.IsSuccess)
            {
                return(Redirect(string.Format($"/questions/?{ALERT_WARNING}", resp.Message)));
            }
            Domain.Questions.Results.QuestionDetailForClient model = resp.GetData <Domain.Questions.Results.QuestionDetailForClient>();

            return(View("QuestionDetail", model));
        }
        public async Task <IActionResult> SearchResult(string s, int index, int size)
        {
            if (string.IsNullOrWhiteSpace(s))
            {
                return(await Newest(0, 0));
            }

            SetTitle(s);

            Domain.Paginator page = Domain.Paginator.New(index, size, 1);
            page["search"] = s;

            Domain.Questions.Hub hub = new Domain.Questions.Hub();
            page = await hub.GetClientQuestionPager(page);

            SearchModel model = new SearchModel
            {
                Search = s,
                Page   = page
            };

            return(View("Search", model));
        }