示例#1
0
        public async Task <ActionResult> GetConfigList(DatagridParams data)
        {
            object ret;

            using (var service = new PeeperService())
            {
                ret = await service.GetConfigList(data);
            }
            return(Json(ret));
        }
示例#2
0
        public async Task <object> GetConfigList(DatagridParams model)
        {
            var queries = (from p in _db.Table <ConfigModel>()
                           orderby p.CreateTime descending
                           select p).AsQueryable();

            if (!string.IsNullOrEmpty(model.FindText))
            {
                queries = queries.Where(p => p.Name.Contains(model.FindText) || p.IP.Contains(model.FindText) || p.Database.Contains(model.FindText) || p.Table.Contains(model.FindText));
            }
            if (!string.IsNullOrEmpty(model.Sort) && !string.IsNullOrEmpty(model.Order))
            {
                queries = queries.OrderBy(model.SortOrder);
            }

            var rows = queries.Skip((model.Page - 1) * model.Rows).Take(model.Rows).ToList()
                       .Select(p => p).ToList();

            return(new {
                total = queries.Count(),
                rows = rows
            });
        }
示例#3
0
        public async Task <ActionResult> GetList(string ip, string port, string database, string table, DatagridParams param, string key = "")
        {
            object page = null;

            using (var service = new PeeperService())
            {
                page = await service.GetList(ip, port, database, table, param, key);
            }
            return(Json(page));
        }
示例#4
0
        public async Task <object> GetList(string ip, string port, string database, string table, DatagridParams param, string key = "")
        {
            var  list  = new List <PeeperModel>();
            long total = 0;

            try
            {
                var client     = new MongoClient("mongodb://" + ip + ":" + port);
                var db         = client.GetDatabase(database);
                var collection = db.GetCollection <BsonDocument>(table);

                //total = await collection.AsQueryable().CountAsync();

                var pageIndex = param.Page >= 1 ? param.Page : 1;
                pageIndex -= 1;
                var pageRows = param.Rows > 0 ? param.Rows : 1;

                var filter = Builders <BsonDocument> .Filter.Exists("_id");

                if (!string.IsNullOrEmpty(param.FindText) && !string.IsNullOrWhiteSpace(key))
                {
                    var search = Builders <BsonDocument> .Filter.Regex(key, new BsonRegularExpression($".*{param.FindText}.*"));

                    filter = Builders <BsonDocument> .Filter.And(filter, search);
                }

                var query = collection.Find(filter);
                total = await query.CountAsync();

                var result = await query.Sort(Builders <BsonDocument> .Sort.Descending("_id"))
                             .Skip(pageIndex * pageRows).Limit(pageRows).ToListAsync();


                foreach (var c in result)
                {
                    list.Add(new PeeperModel()
                    {
                        Content = c.ToString()
                    });
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Trace.WriteLine(e);
                list.Clear();
            }

            return(new { rows = list, total = total });
        }