コード例 #1
0
        private static PagedUnansweredQuestionsQuery PagedUnansweredQuestionQuery()
        {
            var dispatcherMock = new Mock <IQueryDispatcher>();
            var query          = new PagedUnansweredQuestionsQuery(dispatcherMock.Object);

            return(query);
        }
コード例 #2
0
        public void HandleAsync_Returns_Task_Of_IResultWithTotalCount_Of_AnsweredQuestionDto()
        {
            //Arrange
            var handler        = PagedUnansweredQuestionsQueryHandler();
            var dispatcherMock = new Mock <IQueryDispatcher>();
            var query          = new PagedUnansweredQuestionsQuery(dispatcherMock.Object);

            //Act
            var result = handler.HandleAsync(query);

            //Assert
            Assert.IsInstanceOf <Task <IResultWithTotalCount <UnansweredQuestionDto> > >(result);
        }
コード例 #3
0
        public override async Task <IResultWithTotalCount <UnansweredQuestionDto> > HandleAsync(PagedUnansweredQuestionsQuery query, CancellationToken token)
        {
            var unansweredQuestions = Entities().Include(x => x.Category)
                                      .Where(x => !x.DateAnswered.HasValue)
                                      .OrderByDescending(x => x.DateCreated);

            var unansweredQuestionsDataTransferObjects = ProjectTo <UnansweredQuestionDto>(unansweredQuestions);

            var result = new ResultWithTotalCount <UnansweredQuestionDto>
            {
                Result = await unansweredQuestionsDataTransferObjects.Skip(query.Paging.CalculateSkip()).Take(query.Paging.PageSize).ToArrayAsync(token),

                TotalCount = await unansweredQuestionsDataTransferObjects.CountAsync(token)
            };

            return(result);
        }
コード例 #4
0
        public override async Task <IResultWithTotalCount <UnansweredQuestionDto> > HandleAsync(PagedUnansweredQuestionsQuery query, CancellationToken token)
        {
            var questions = await Session.QueryOver <Question>().Where(p => p.DateAnswered == null)
                            .OrderBy(p => p.DateCreated).Desc.Skip(query.Paging.CalculateSkip()).Take(query.Paging.PageSize)
                            .ListAsync(token);

            var result = new ResultWithTotalCount <UnansweredQuestionDto>
            {
                Result = MapTo <UnansweredQuestionDto[]>(questions),

                TotalCount = await Session.QueryOver <Question>().Where(p => p.DateAnswered == null).RowCountAsync(token)
            };

            return(result);
        }