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))); }
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()); }