public async Task <ActionResult> GetConfigList(DatagridParams data) { object ret; using (var service = new PeeperService()) { ret = await service.GetConfigList(data); } return(Json(ret)); }
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 }); }
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)); }
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 }); }