using System;
using System.Collections.Generic;
using System.Linq;
using Library;
// using MongoDB.Bson;
// using MongoDB.Driver;
// using MongoDB.Driver.Linq;

namespace MySystem
{
    public class MongoDbconn
    {
        public readonly static MongoDbconn Instance = new MongoDbconn();
        // IMongoDatabase mydb;
        private MongoDbconn()
        {
            // //连接数据库
            // MongoClient client = new MongoClient(ConfigurationManager.AppSettings["MongoConnStr"].ToString());
            // //获取database
            // mydb = client.GetDatabase("test");
        }

        // public List<Dictionary<string, object>> List(string tableEnName, int pageNum = 1, int pageSize = 20)
        // {
        //     int skip = (pageNum - 1) * pageSize;
        //     //获取collection
        //     var collection = mydb.GetCollection<BsonDocument>(tableEnName);
        //     var filter = Builders<BsonDocument>.Filter;
        //     List<BsonDocument> docs = collection.Find(filter.Regex("Mobile", "/138/") & filter.Eq("AddOrReduce", "1") & (filter.Regex("SellNote", "购买.*?") | filter.Eq("IntegralSourceName", "客服") | filter.Eq("SellNote", "积分兑换码"))).Skip(skip).Limit(pageSize).ToList();
        //     List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
        //     foreach (var doc in docs)
        //     {
        //         Dictionary<string, object> item = doc.ToDictionary();
        //         list.Add(item);
        //     }
        //     return list;
        // }

        // public List<TestUsers> List2(string tableEnName)
        // {
        //     //获取collection
        //     var collection = mydb.GetCollection<TestUsers>(tableEnName);
        //     List<TestUsers> docs = collection.AsQueryable().OrderByDescending(m => m.TotalAmount).ToList();
        //     return docs;
        // }
    }


    // public class IntegralRecord
    // {
    //     public int _id { get; set; }
    //     // public int Id { get; set; }
    //     public int Sort { get; set; }
    //     public int QueryCount { get; set; }
    //     public Nullable<System.DateTime> CreateDate { get; set; }
    //     public Nullable<System.DateTime> UpdateDate { get; set; }
    //     public string SeoTitle { get; set; }
    //     public string SeoKeyword { get; set; }
    //     public string SeoDescription { get; set; }
    //     public bool IsStat { get; set; }
    //     public string PlatformCode { get; set; }
    //     public string IntegralSourceName { get; set; }
    //     public int IntegralSourceId { get; set; }
    //     public Nullable<System.DateTime> IntegralDate { get; set; }
    //     public decimal OrderMoney { get; set; }
    //     public string SellId { get; set; }
    //     public string Mobile { get; set; }
    //     public string MerchantName { get; set; }
    //     public bool AddOrReduce { get; set; }
    //     public decimal Integral { get; set; }
    //     public string SellNote { get; set; }
    //     public string UserId { get; set; }
    //     public int MerchantId { get; set; }
    //     public string Operater { get; set; }
    //     public List<OrderMoney> orderMoneys { get; set; }
    // }

    // public class TestUsers
    // {
    //     public int _id { get; set; }
    //     // public int Id { get; set; }
    //     public string Name { get; set; }
    //     public List<OrderMoney> orderMoneys { get; set; }
    //     public decimal TotalAmount { get; set; }
    // }

    // public class OrderMoney
    // {
    //     public Nullable<System.DateTime> Time { get; set; }
    //     public decimal Money { get; set; }
    // }
}