public void PagedQueryHelper_GetPageData_Test(int?page, int?perPage, int offset, int next)
        {
            IPagedQuery query    = new TestQuery(page, perPage);
            var         pageData = PagedQueryHelper.GetPageData(query);

            Assert.That(pageData, Is.EqualTo(new PageData(offset, next)));
        }
Esempio n. 2
0
        public async Task <List <MeetingGroupProposalDto> > Handle(GetMeetingGroupProposalsQuery query, CancellationToken cancellationToken)
        {
            var connection = _sqlConnectionFactory.GetOpenConnection();

            var parameters = new DynamicParameters();
            var pageData   = PagedQueryHelper.GetPageData(query);

            parameters.Add(nameof(PagedQueryHelper.Offset), pageData.Offset);
            parameters.Add(nameof(PagedQueryHelper.Next), pageData.Next);

            string sql = "SELECT " +
                         $"[MeetingGroupProposal].[Id] AS [{nameof(MeetingGroupProposalDto.Id)}], " +
                         $"[MeetingGroupProposal].[Name] AS [{nameof(MeetingGroupProposalDto.Name)}], " +
                         $"[MeetingGroupProposal].[ProposalUserId] AS [{nameof(MeetingGroupProposalDto.ProposalUserId)}], " +
                         $"[MeetingGroupProposal].[LocationCity] AS [{nameof(MeetingGroupProposalDto.LocationCity)}], " +
                         $"[MeetingGroupProposal].[LocationCountryCode] AS [{nameof(MeetingGroupProposalDto.LocationCountryCode)}], " +
                         $"[MeetingGroupProposal].[Description] AS [{nameof(MeetingGroupProposalDto.Description)}], " +
                         $"[MeetingGroupProposal].[ProposalDate] AS [{nameof(MeetingGroupProposalDto.ProposalDate)}], " +
                         $"[MeetingGroupProposal].[StatusCode] AS [{nameof(MeetingGroupProposalDto.StatusCode)}] " +
                         "FROM [meetings].[v_MeetingGroupProposals] AS [MeetingGroupProposal] " +
                         "ORDER BY [MeetingGroupProposal].[Name]";

            sql = PagedQueryHelper.AppendPageStatement(sql);

            var meetingGroupProposals = await connection.QueryAsync <MeetingGroupProposalDto>(sql, parameters);

            return(meetingGroupProposals.AsList());
        }