コード例 #1
1
        /// <summary>
        /// The list of results.
        /// </summary>
        /// <param name="maxResults">The max results.</param>
        /// <param name="start">The start</param>
        /// <param name="finish">The finish</param>
        /// <param name="orderBy">The order by.</param>
        /// <returns>The result set</returns>
        public override IEnumerable<Guid> List(
            int maxResults,
            DateTime? start = null,
            DateTime? finish = null,
            ListResultsOrder orderBy = ListResultsOrder.Descending)
        {
            var builder = new SqlBuilder();
            var t = builder.AddTemplate("select Id from MiniProfilers /**where**/ /**orderby**/ LIMIT(" + maxResults + ")");

            if (start != null)
            {
                builder.Where("Started > @start", new { start });
            }
            if (finish != null)
            {
                builder.Where("Started < @finish", new { finish });
            }

            builder.OrderBy(orderBy == ListResultsOrder.Descending ? "Started desc" : "Started asc");

            using (var conn = GetOpenConnection())
            {
                return conn.Query<Guid>(t.RawSql, t.Parameters).ToList();
            }
        }
コード例 #2
0
        /// <summary>
        /// The list of results.
        /// </summary>
        /// <param name="maxResults">The max results.</param>
        /// <param name="start">The start</param>
        /// <param name="finish">The finish</param>
        /// <param name="orderBy">The order by.</param>
        /// <returns>The result set</returns>
        public override IEnumerable<Guid> List(
            int maxResults,
            DateTime? start = null,
            DateTime? finish = null,
            ListResultsOrder orderBy = ListResultsOrder.Descending)
        {
            var sb = new StringBuilder(@"
Select Id
  From MiniProfilers
");
            if (finish != null)
            {
                sb.AppendLine("Where Started < @finish");
            }
            if (start != null)
            {
                sb.AppendLine(finish != null
                    ? "  And Started > @start"
                    : "Where Started > @start");
            }
            sb.Append("Order By ").AppendLine(orderBy == ListResultsOrder.Descending ? "Started Desc" : "Started Asc");
            sb.Append("LIMIT(").Append(maxResults).AppendLine(")");

            using (var conn = GetConnection())
            {
                return conn.Query<Guid>(sb.ToString(), new { start, finish }).ToList();
            }
        }
コード例 #3
0
        /// <summary>
        /// The list of results.
        /// </summary>
        /// <param name="maxResults">The max results.</param>
        /// <param name="start">The start</param>
        /// <param name="finish">The finish</param>
        /// <param name="orderBy">The order by.</param>
        /// <returns>The result set</returns>
        public override IEnumerable <Guid> List(
            int maxResults,
            DateTime?start           = null,
            DateTime?finish          = null,
            ListResultsOrder orderBy = ListResultsOrder.Descending)
        {
            var builder = new SqlBuilder();
            var t       = builder.AddTemplate("select Id from MiniProfilers /**where**/ /**orderby**/ LIMIT(" + maxResults + ")");

            if (start != null)
            {
                builder.Where("Started > @start", new { start });
            }
            if (finish != null)
            {
                builder.Where("Started < @finish", new { finish });
            }

            builder.OrderBy(orderBy == ListResultsOrder.Descending ? "Started desc" : "Started asc");

            using (var conn = GetOpenConnection())
            {
                return(conn.Query <Guid>(t.RawSql, t.Parameters).ToList());
            }
        }
コード例 #4
0
        public IEnumerable<Guid> List(int maxResults, DateTime? start = null, DateTime? finish = null, ListResultsOrder orderBy = ListResultsOrder.Decending)
        {
            var primaryList = PrimaryStorage.List(maxResults, start, finish, orderBy);
            var shareList = ShareStorage.List(maxResults, start, finish, orderBy);

            return primaryList.Union(shareList);
        }
コード例 #5
0
ファイル: RavenDbStorage.cs プロジェクト: jankurianski/dotnet
        /// <summary>
        /// List the MiniProfiler Ids for the given search criteria.
        /// </summary>
        /// <param name="maxResults">The max number of results.</param>
        /// <param name="start">Search window start time (inclusive).</param>
        /// <param name="finish">Search window end time (inclusive).</param>
        /// <param name="orderBy">Result order.</param>
        /// <returns>A list of GUID keys matching the search.</returns>
        public IEnumerable <Guid> List(int maxResults, DateTime?start = null, DateTime?finish = null,
                                       ListResultsOrder orderBy       = ListResultsOrder.Descending)
        {
            using var session = _store.OpenSession(new SessionOptions
            {
                NoTracking = true
            });

            var query = session.Query <MiniProfilerDoc, Index_ByStarted>();

            if (start.HasValue)
            {
                query = query.Where(x => x.Started >= start.Value);
            }

            if (finish.HasValue)
            {
                query = query.Where(x => x.Started <= finish.Value);
            }

            query.Take(maxResults);

            query = orderBy == ListResultsOrder.Descending
                ? query.OrderByDescending(x => x.Started)
                : query.OrderBy(x => x.Started);


            return(query.Select(x => x.ProfilerId).ToList());
        }
コード例 #6
0
 public IEnumerable <Guid> List(
     int maxResults,
     DateTime?start           = null,
     DateTime?finish          = null,
     ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
     return(Enumerable.Empty <Guid>());
 }
コード例 #7
0
 public Task <IEnumerable <Guid> > ListAsync(
     int maxResults,
     DateTime?start           = null,
     DateTime?finish          = null,
     ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
     return(Task.FromResult(Enumerable.Empty <Guid>()));
 }
コード例 #8
0
        /// <summary>
        /// List the latest profiling results.
        /// </summary>
        /// <param name="maxResults">The maximum number of results to return.</param>
        /// <param name="start">(Optional) The start of the date range to fetch.</param>
        /// <param name="finish">(Optional) The end of the date range to fetch.</param>
        /// <param name="orderBy">(Optional) The order to fetch profiler IDs in.</param>
        public IEnumerable <Guid> List(
            int maxResults,
            DateTime?start           = null,
            DateTime?finish          = null,
            ListResultsOrder orderBy = ListResultsOrder.Descending)
        {
            var guids = new List <Guid>();

            lock (_profiles)
            {
                int idxStart  = 0;
                int idxFinish = _profiles.Count - 1;
                if (start != null)
                {
                    idxStart = _profiles.BinaryClosestSearch(start.Value);
                }
                if (finish != null)
                {
                    idxFinish = _profiles.BinaryClosestSearch(finish.Value);
                }

                if (idxStart < 0)
                {
                    idxStart = 0;
                }
                if (idxFinish >= _profiles.Count)
                {
                    idxFinish = _profiles.Count - 1;
                }

                var keys = _profiles.Keys;

                if (orderBy == ListResultsOrder.Ascending)
                {
                    for (int i = idxStart; i <= idxFinish; i++)
                    {
                        guids.Add(keys[i].Id);
                        if (guids.Count == maxResults)
                        {
                            break;
                        }
                    }
                }
                else
                {
                    for (int i = idxFinish; i >= idxStart; i--)
                    {
                        guids.Add(keys[i].Id);
                        if (guids.Count == maxResults)
                        {
                            break;
                        }
                    }
                }
            }
            return(guids);
        }
コード例 #9
0
ファイル: GraphiteStorage.cs プロジェクト: mattwarren/dotnet
 /// <summary>
 /// List the latest profiling results.
 /// </summary>
 public IEnumerable<Guid> List(
     int maxResults,
     DateTime? start = null,
     DateTime? finish = null,
     ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
     // do nothing, i.e. return an empty result
     return EmptyEnumerable;
 }
コード例 #10
0
 /// <summary>
 /// Run the List command on the first Store from <see cref="Stores"/> that returns a result with any values. 
 /// Will NOT return a superset of results from all <see cref="Stores"/>.
 /// </summary>
 public IEnumerable<Guid> List(int maxResults, DateTime? start = null, DateTime? finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
     if (Stores != null)
     {
         foreach (var store in Stores)
         {
             var results = store.List(maxResults, start, finish, orderBy);
             if (results != null && results.Any())
             {
                 return results;
             }
         }
     }
     return new List<Guid>();
 }
コード例 #11
0
        private string BuildListQuery(DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
        {
            var sb = new StringBuilder(@"
SELECT Id
  FROM ").Append(MiniProfilersTable).Append(@"
");

            if (finish != null)
            {
                sb.AppendLine("WHERE Started < @finish");
            }
            if (start != null)
            {
                sb.AppendLine(finish != null
                    ? "  AND Started > @start"
                    : "WHERE Started > @start");
            }
            sb.Append("ORDER BY ").Append(orderBy == ListResultsOrder.Descending ? "Started DESC" : "Started ASC");
            sb.Append(" LIMIT @maxResults");

            return(sb.ToString());
        }
コード例 #12
0
        private string BuildListQuery(DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
        {
            var sb = StringBuilderCache.Get();

            sb.Append(@"
Select Id
  From MiniProfilers
");
            if (finish != null)
            {
                sb.AppendLine("Where Started < @finish");
            }
            if (start != null)
            {
                sb.AppendLine(finish != null
                    ? "  And Started > @start"
                    : "Where Started > @start");
            }
            sb.Append("Order By ").Append(orderBy == ListResultsOrder.Descending ? "Started Desc" : "Started Asc");
            sb.Append("LIMIT({=maxResults})");

            return(sb.ToStringRecycle());
        }
コード例 #13
0
ファイル: MongoDbStorage.cs プロジェクト: angelatan2/dotnet
 /// <summary>
 /// Asynchronously returns the MiniProfiler Ids for the given search criteria.
 /// </summary>
 /// <param name="maxResults">The max number of results</param>
 /// <param name="start">Search window start</param>
 /// <param name="finish">Search window end</param>
 /// <param name="orderBy">Result order</param>
 /// <returns>The list of GUID keys</returns>
 public async Task <IEnumerable <Guid> > ListAsync(int maxResults, DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
     return(await GetListQuery(maxResults, start, finish, orderBy).ToListAsync().ConfigureAwait(false));
 }
コード例 #14
0
 public IEnumerable <Guid> List(int maxResults, DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Decending)
 {
     // some brave soul that know WCF needs to implement this
     throw new NotImplementedException("Looking for a dev who can support the WCF bits in Mini Profiler");
 }
コード例 #15
0
ファイル: MongoDbStorage.cs プロジェクト: angelatan2/dotnet
 /// <summary>
 /// List the MiniProfiler Ids for the given search criteria.
 /// </summary>
 /// <param name="maxResults">The max number of results</param>
 /// <param name="start">Search window start</param>
 /// <param name="finish">Search window end</param>
 /// <param name="orderBy">Result order</param>
 /// <returns>The list of GUID keys</returns>
 public IEnumerable <Guid> List(int maxResults, DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
     return(GetListQuery(maxResults, start, finish, orderBy).ToList());
 }
コード例 #16
0
ファイル: RepositoryBase.cs プロジェクト: noobwu/NoobTest
 /// <summary>
 /// 获取分页数据
 /// </summary>
 /// <param name="connectionString">数据信息</param>
 /// <param name="builder"></param>
 /// <param name="template"></param>
 /// <param name="orderColumn">排序列</param>
 /// <param name="orderBy">排序类型</param>
 /// <param name="offset">开始位置</param>
 /// <param name="pageRows">每页显示记录数</param>
 /// <param name="totalRows">总记录数</param>
 /// <returns>the list of query result.</returns>
 protected virtual IEnumerable <TEntity> GetPaggingList(string connectionString, SqlSelectBuilder builder, SqlSelectBuilder.SelectTemplate template, string orderColumn, ListResultsOrder orderBy, int?offset, int?pageRows, out int totalRows)
 {
     return(GetPaggingList <TEntity>(connectionString, builder, template, orderColumn, orderBy, offset, pageRows, out totalRows));
 }
コード例 #17
0
ファイル: RepositoryBase.cs プロジェクト: noobwu/NoobTest
        /// <summary>
        ///  获取分页数据
        /// </summary>
        /// <param name="connectionString">数据信息</param>
        /// <param name="builder"></param>
        /// <param name="template"></param>
        /// <param name="orderColumn">排序列</param>
        /// <param name="orderBy">排序类型</param>
        /// <param name="offset">开始位置</param>
        /// <param name="pageRows">每页显示记录数</param>
        /// <param name="totalRows">总记录数</param>
        /// <returns>the list of query result.</returns>
        protected virtual IEnumerable <TResult> GetPaggingList <TResult>(string connectionString, SqlSelectBuilder builder, SqlSelectBuilder.SelectTemplate template, string orderColumn, ListResultsOrder orderBy, int?offset, int?pageRows, out int totalRows)
            where TResult : class
        {
            if (string.IsNullOrEmpty(orderColumn))
            {
                orderColumn = "1";
            }
            builder.OrderBy(orderBy == ListResultsOrder.Descending ? orderColumn + " DESC" : orderColumn + " ASC");
            builder.Limit(offset, pageRows);
            var resolveResult          = template.ResolveRawSql(0);
            IEnumerable <TResult> list = null;

            using (var conn = OpenDbConnection(connectionString))
            {
                string sql = resolveResult.Item1 + ";\n" + resolveResult.Item2;
                using (var multiple = conn.QueryMultiple(sql, template.Parameters))
                {
                    list      = multiple.Read <TResult>();
                    totalRows = multiple.ReadFirst <int>();
                }
            }
            return(list);
        }
コード例 #18
0
 /// <summary>
 /// Asynchronously returns the MiniProfiler Ids for the given search criteria.
 /// </summary>
 /// <param name="maxResults">The max number of results</param>
 /// <param name="start">Search window start</param>
 /// <param name="finish">Search window end</param>
 /// <param name="orderBy">Result order</param>
 /// <returns>The list of GUID keys</returns>
 public override async Task <IEnumerable <Guid> > ListAsync(int maxResults, DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
     using (var conn = GetConnection())
     {
         var query = BuildListQuery(start, finish, orderBy);
         return(await conn.QueryAsync <Guid>(query, new { maxResults, start, finish }).ConfigureAwait(false));
     }
 }
コード例 #19
0
 /// <summary>
 /// List the latest profiling results.
 /// </summary>
 public IEnumerable <Guid> List(int maxResults, DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
     //TODO NotImplementedException();
     return(null);
 }
コード例 #20
0
 /// <inheritdoc/>
 public IEnumerable <Guid> List(int maxResults, DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
 => _storage.List(maxResults, start, finish, orderBy);
コード例 #21
0
 /// <summary>
 /// List the latest profiling results.
 /// </summary>
 public IEnumerable<Guid> List(int maxResults, DateTime? start = null, DateTime? finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
     //TODO NotImplementedException();
     return null;
 }
コード例 #22
0
 public IEnumerable <Guid> List(int maxResults, DateTime?start = null, DateTime?finish = null,
                                ListResultsOrder orderBy       = ListResultsOrder.Descending)
 {
     return(Bag.Select(p => p.Id));
 }
コード例 #23
0
 public Task <IEnumerable <Guid> > ListAsync(int maxResults, DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending) => throw new BoomBoom();
コード例 #24
0
ファイル: Starter.cs プロジェクト: Nagabhushana/nag
 public IEnumerable <Guid> List(int maxResults, DateTime?start = default(DateTime?), DateTime?finish = default(DateTime?), ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
     return(new List <Guid>());
 }
コード例 #25
0
 public IEnumerable<Guid> List(int maxResults, DateTime? start = null, DateTime? finish = null,
     ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
     return Bag.Select(p => p.Id);
 }
コード例 #26
0
 public IEnumerable<Guid> List(int maxResults, DateTime? start = null, DateTime? finish = null, ListResultsOrder orderBy = ListResultsOrder.Decending)
 {
     // some brave soul that know WCF needs to implement this
     throw new NotImplementedException("Looking for a dev who can support the WCF bits in Mini Profiler");
 }
コード例 #27
0
ファイル: MongoDbStorage.cs プロジェクト: angelatan2/dotnet
        private IFindFluent <MiniProfiler, Guid> GetListQuery(int maxResults, DateTime?start, DateTime?finish, ListResultsOrder orderBy)
        {
            var query = FilterDefinition <MiniProfiler> .Empty;

            if (start != null)
            {
                query = Builders <MiniProfiler> .Filter.And(Builders <MiniProfiler> .Filter.Gte(profiler => profiler.Started, (DateTime)start));
            }

            if (finish != null)
            {
                query = Builders <MiniProfiler> .Filter.And(Builders <MiniProfiler> .Filter.Lte(profiler => profiler.Started, (DateTime)finish));
            }

            var profilers = _collection.Find(query).Limit(maxResults);

            profilers = orderBy == ListResultsOrder.Descending
                ? profilers.SortByDescending(p => p.Started)
                : profilers.SortBy(p => p.Started);

            return(profilers.Project(p => p.Id));
        }
コード例 #28
0
ファイル: RepositoryBase.cs プロジェクト: noobwu/NoobTest
 /// <summary>
 ///  获取数据列表
 /// </summary>
 /// <param name="connectionString">数据信息</param>
 /// <param name="builder"></param>
 /// <param name="template"></param>
 /// <param name="orderColumn">排序列</param>
 /// <param name="orderBy">排序类型</param>
 /// <param name="rows">每页显示记录数</param>
 /// <returns>the list of query result.</returns>
 protected virtual IEnumerable <TEntity> GetList(string connectionString, SqlBuilder builder, SqlBuilder.Template template, string orderColumn, ListResultsOrder orderBy, int rows)
 {
     return(GetList <TEntity>(connectionString, builder, template, orderColumn, orderBy, rows));
 }
コード例 #29
0
 /// <summary>
 /// List the MiniProfiler Ids for the given search criteria.
 /// </summary>
 /// <param name="maxResults">The max number of results</param>
 /// <param name="start">Search window start</param>
 /// <param name="finish">Search window end</param>
 /// <param name="orderBy">Result order</param>
 /// <returns>The list of GUID keys</returns>
 public override IEnumerable <Guid> List(int maxResults, DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
     using (var conn = GetConnection())
     {
         var query = BuildListQuery(start, finish, orderBy);
         return(conn.Query <Guid>(query, new { maxResults, start, finish }).AsList());
     }
 }
コード例 #30
0
ファイル: RepositoryBase.cs プロジェクト: noobwu/NoobTest
        /// <summary>
        ///  获取数据列表
        /// </summary>
        /// <param name="connectionString">数据信息</param>
        /// <param name="builder"></param>
        /// <param name="template"></param>
        /// <param name="orderColumn">排序列</param>
        /// <param name="orderBy">排序类型</param>
        /// <param name="rows">每页显示记录数</param>
        /// <returns>the list of query result.</returns>
        protected virtual IEnumerable <TResult> GetList <TResult>(string connectionString, SqlBuilder builder, SqlBuilder.Template template, string orderColumn, ListResultsOrder orderBy, int rows)
            where TResult : class
        {
            if (!string.IsNullOrEmpty(orderColumn))
            {
                builder.OrderBy(orderBy == ListResultsOrder.Descending ? orderColumn + " DESC" : orderColumn + " ASC");
            }
            builder.Limit(null, rows);
            var sql   = template.RawSql;
            var param = template.Parameters;

            return(GetList <TResult>(connectionString, sql, param));
        }
コード例 #31
0
        /// <summary>
        /// Asynchronously run the List command on the first Store from <see cref="Stores"/> that returns a result with any values.
        /// Will NOT return a superset of results from all <see cref="Stores"/>.
        /// </summary>
        /// <param name="maxResults">The maximum number of results to return.</param>
        /// <param name="start">(Optional) The start of the date range to fetch.</param>
        /// <param name="finish">(Optional) The end of the date range to fetch.</param>
        /// <param name="orderBy">(Optional) The order to fetch profiler IDs in.</param>
        public async Task <IEnumerable <Guid> > ListAsync(int maxResults, DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
        {
            if (Stores == null)
            {
                return(Enumerable.Empty <Guid>());
            }
            foreach (var store in Stores)
            {
                var results = await store.ListAsync(maxResults, start, finish, orderBy).ConfigureAwait(false);

                if (results?.Any() == true)
                {
                    return(results);
                }
            }
            return(Enumerable.Empty <Guid>());
        }
コード例 #32
0
 /// <summary>
 /// list the result keys.
 /// </summary>
 /// <param name="maxResults">
 /// The max results.
 /// </param>
 /// <param name="start">
 /// The start.
 /// </param>
 /// <param name="finish">
 /// The finish.
 /// </param>
 /// <param name="orderBy">
 /// order by.
 /// </param>
 /// <returns>
 /// the list of keys in the result.
 /// </returns>
 public IEnumerable <Guid> List(int maxResults, DateTime?start = null, DateTime?finish = null,
                                ListResultsOrder orderBy       = ListResultsOrder.Descending)
 {
     throw new NotSupportedException("This method should never run");
 }
コード例 #33
0
        public override IEnumerable <Guid> List(int maxResults, DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
        {
            IMongoQuery query = null;

            if (start != null)
            {
                query = Query.And(Query.GT("Started", (DateTime)start));
            }
            if (finish != null)
            {
                query = Query.And(Query.LT("Started", (DateTime)finish));
            }

            var profilers = Profilers.Find(query).Take(maxResults);

            profilers = orderBy == ListResultsOrder.Descending
                ? profilers.OrderByDescending(p => p.Started)
                : profilers.OrderBy(p => p.Started);

            return(profilers.Select(p => p.Id));
        }
コード例 #34
0
 /// <summary>
 /// Run the List command on the first Store from <see cref="Stores"/> that returns a result with any values.
 /// Will NOT return a superset of results from all <see cref="Stores"/>.
 /// </summary>
 public IEnumerable <Guid> List(int maxResults, DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
     if (Stores != null)
     {
         foreach (var store in Stores)
         {
             var results = store.List(maxResults, start, finish, orderBy);
             if (results != null && results.Any())
             {
                 return(results);
             }
         }
     }
     return(new List <Guid>());
 }
コード例 #35
0
 /// <summary>
 /// List the latest profiling results.
 /// </summary>
 /// <param name="maxResults">The maximum number of results to return.</param>
 /// <param name="start">(Optional) The start of the date range to fetch.</param>
 /// <param name="finish">(Optional) The end of the date range to fetch.</param>
 /// <param name="orderBy">(Optional) The order to fetch profiler IDs in.</param>
 public Task <IEnumerable <Guid> > ListAsync(
     int maxResults,
     DateTime?start           = null,
     DateTime?finish          = null,
     ListResultsOrder orderBy = ListResultsOrder.Descending) => Task.FromResult(List(maxResults, start, finish, orderBy));
コード例 #36
0
 /// <summary>
 /// Implement a basic list search here
 /// </summary>
 /// <param name="maxResults">The max number of results.</param>
 /// <param name="start">The start.</param>
 /// <param name="finish">The finish.</param>
 /// <param name="orderBy">order By.</param>
 /// <returns>the list of GUID keys</returns>
 public abstract IEnumerable<Guid> List(int maxResults, DateTime? start = null, DateTime? finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending);
コード例 #37
0
 /// <summary>
 /// Implement a basic list search here
 /// </summary>
 /// <param name="maxResults">The max number of results.</param>
 /// <param name="start">The start.</param>
 /// <param name="finish">The finish.</param>
 /// <param name="orderBy">order By.</param>
 /// <returns>the list of GUID keys</returns>
 public abstract IEnumerable <Guid> List(int maxResults, DateTime?start = null, DateTime?finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending);
コード例 #38
0
ファイル: MarCardRepository.cs プロジェクト: noobwu/NoobTest
        /// <summary>
        ///获取卡券分页数据
        /// </summary>
        /// <param name="custId">商户Id</param>
        /// <param name="title">卡券名称</param>
        /// <param name="cardType">卡券类型(CASH:代金券,DISCOUNT:折扣券,GIFT:兑换券,GROUPON:团购券)</param>
        /// <param name="status">卡券状态(0:待审核,1:审核中,2:审核通过,2:审核未通过,3:待投放,4:已投放,5:下架)</param>
        /// <param name="orderColumn">排序列</param>
        /// <param name="orderBy">排序类型</param>
        /// <param name="offset">开始位置</param>
        /// <param name="pageRows">每页显示记录数</param>
        /// <param name="totalRows">总记录数</param>
        /// <returns>the list of query result.</returns>
        public IEnumerable <MarCard> GetPaggingList(int custId, string title, string cardType, byte?status, string orderColumn, ListResultsOrder orderBy, int?offset, int?pageRows, out int totalRows)
        {
            var builder  = new SqlSelectBuilder();
            var template = builder.AddTemplate(new SqlSever2012Template(builder, "SELECT /**select**/", string.Format("FROM  {0}  /**where**/", TableName), "/**orderby**/", null));

            builder.Select("*");
            builder.Where("CustId=@CustId", new { CustId = custId });
            if (!string.IsNullOrEmpty(title))
            {
                title = "%" + title + "%";
                builder.Where("Title LIKE @Title", new { Title = title });
            }
            if (!string.IsNullOrEmpty(cardType))
            {
                builder.Where("CardType = @CardType", new { CardType = cardType });
            }
            if (status.HasValue)
            {
                builder.Where("Status = @Status", new { Status = status.Value });
            }
            return(base.GetPaggingList(Conn, builder, template, orderColumn, orderBy, offset, pageRows, out totalRows));
        }
コード例 #39
0
        public override IEnumerable<Guid> List(int maxResults, DateTime? start = null, DateTime? finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
        {
            IMongoQuery query = null;

            if(start != null){
                query = Query.And(Query.GT("Started", (DateTime)start));
            }
            if(finish != null){
                query = Query.And(Query.LT("Started", (DateTime)finish));
            }

            var profilers = Profilers.Find(query).Take(maxResults);

            if (orderBy == ListResultsOrder.Descending)
            {
                profilers = profilers.OrderByDescending(p => p.Started);
            }
            else
            {
                profilers = profilers.OrderBy(p => p.Started);
            }

            return profilers.Select(p => Guid.Parse(p.Id));
        }
コード例 #40
0
 public IEnumerable<Guid> List(int maxResults, DateTime? start = null, DateTime? finish = null, ListResultsOrder orderBy = ListResultsOrder.Descending)
 {
   throw new NotSupportedException();
 }