/// <summary>
        /// 短信记录分页索引,从0起始
        /// 短信记录分页大小,最大是1000
        /// </summary>
        /// <param name="sms"></param>
        public SmsPageQuery Post([FromBody] SmsQuery sms)
        {
            var readPreference = new ReadPreference(ReadPreferenceMode.SecondaryPreferred);
            MongoDatabaseSettings mdSetting = new MongoDatabaseSettings();

            mdSetting.ReadPreference = readPreference;
            var            connectionString = ConfigurationManager.AppSettings["dbCon"];
            var            database         = ConfigurationManager.AppSettings["dbName"];
            MongoClient    client           = new MongoClient(connectionString);    //连接mogodb数据库
            IMongoDatabase db            = client.GetDatabase(database, mdSetting); //数据库
            var            smsCollection = db.GetCollection <SmsInfo>("tblSMS");    //表

            var query = new BsonDocument("cNo", sms.cNo);
            var sort  = sms.sort == 0 ? new BsonDocument("oDate", 1) : new BsonDocument("oDate", -1);

            if (sms.pageSize > 1000)
            {
                sms.pageSize = 1000;
            }
            if (sms.pageIndex < 0)
            {
                sms.pageIndex = 0;
            }

            var          pageData     = smsCollection.Find(query).Sort(sort).Skip(sms.pageSize * sms.pageIndex).Limit(sms.pageSize).ToList().ToArray();
            SmsPageQuery smsPageQuery = new SmsPageQuery();

            smsPageQuery.pageIndex = sms.pageIndex;
            smsPageQuery.total     = smsCollection.CountAsync(query).Result;
            smsPageQuery.SmsInfos  = pageData;
            return(smsPageQuery);
        }
示例#2
0
        public async Task <QueryResult <Sms> > Get(SmsQuery smsQuery)
        {
            var result = new QueryResult <Sms>();
            var query  = _context.Sms.Where(e => e.DateTime >= smsQuery.DateTimeFrom && e.DateTime <= smsQuery.DateTimeTo);

            result.TotalCount = await query.CountAsync();

            result.Items = await query.Skip(smsQuery.Skip).Take(smsQuery.Take).ToListAsync();

            return(result);
        }
示例#3
0
 public async Task <QueryResult <Sms> > GetSentSmsJSON([FromQuery] SmsQuery req)
 {
     //var sms = _mapper.Map<Model.Sms>(req);
     return(await _business.GetSentSms(req));
 }
示例#4
0
 public async Task <QueryResult <Sms> > GetSentSms(SmsQuery smsQuery)
 {
     smsQuery.SortBy          = "DateTime";
     smsQuery.IsSortAscending = true;
     return(await _uow.Sms.GetPagedAsync(smsQuery));
 }
 public string SmsQuery(SmsQuery query)
 {
     return "TEST QUERY";
 }