コード例 #1
0
        private static void AddPaginationToQueryBuilder(IDapperQuery dapperQuery, IPagedQuery pagedQuery)
        {
            var sqlBuilder = dapperQuery.SqlBuilder;
            var config     = pagedQuery.PagingConfiguration !;

            var offset = config.ItemsPerPage * (config.Page - 1);

            sqlBuilder.Offset("@Paging_Offset", new { Paging_Offset = offset });
            sqlBuilder.FetchNext("@Paging_FetchNext", new { Paging_FetchNext = config.ItemsPerPage });
        }
コード例 #2
0
        private static void AddFiltersToQueryBuilder(IDapperQuery <TResult> dapperQuery, IFilteredQuery <TResult> filteredQuery)
        {
            var sqlBuilder = dapperQuery.SqlBuilder;

            foreach (var filter in filteredQuery.FilteringConfiguration !.Filters !)
            {
                var args      = filter.GetArguments <TResult>();
                var filterSql = GetFilterSql(filter);
                AddSqlBuilderWhereClause(filteredQuery, sqlBuilder, filterSql, args);
            }
        }
コード例 #3
0
        private static void AddSortingToSqlBuilder(IDapperQuery <TResult> dapperQuery, ISortedQuery <TResult> sortedQuery)
        {
            var sqlBuilder = dapperQuery.SqlBuilder;

            foreach (var configuration in sortedQuery.SortingConfiguration !)
            {
                var sortDirection = configuration.GetSortDirection();
                var fieldName     = configuration.GetFieldName <TResult>() !;

                sqlBuilder.OrderBy($"{fieldName} {sortDirection}");
            }
        }
コード例 #4
0
 public OrderController(IMediator mediator, IDapperQuery <Core.Domain.Order> orderQueries)
 {
     _mediator     = mediator;
     _orderQueries = orderQueries;
 }
コード例 #5
0
 protected virtual void ConfigureQuery(IDapperQuery query)
 {
     query.SqlBuilder.Select("*");
 }
コード例 #6
0
 public LeadRepository(IDapperQuery dapperQuery)
 {
     _dapperQuery = dapperQuery;
 }