using CallCenterApi.IRepositories; using MadRunFabric.Common; using MadRunFabric.Common.Options; using MadRunFabric.Model.CallCenterApi; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using MongoDB.Driver; using System; using System.Collections.Generic; using System.Text; using System.Linq; namespace CallCenterApi.Repositories { public class Ask_QuestionPagerRepository : BaseRepository, IAsk_QuestionPagerRepository { protected readonly ILogger> _logger; //protected readonly IMongoCollection _collection_mw_call_records; protected readonly IMongoCollection _collection_ask_questionpager; protected readonly IMongoCollection _collection_ask_question; protected readonly IMongoCollection _collection_ask_questionitems; public Ask_QuestionPagerRepository(IOptions settings, ILogger> logger) : base(settings, logger) { _logger = logger; //_collection_mw_call_records = _context.GetCollection(); _collection_ask_questionpager = _context.GetCollection(); _collection_ask_question = _context.GetCollection(); _collection_ask_questionitems = _context.GetCollection(); } /// /// 分页列表 /// /// /// /// /// /// /// /// /// /// /// public IEnumerable GetPageListsByPage(string keyword, string usercode, string stime, string etime, int pageindex, int pagesize, out int recordcount) { var query = from p in _collection_ask_questionpager.AsQueryable() where p.isdelete == 0 select new { p.id, p.title, p.totalnum, p.remark, p.createtime, p.createuser, p.isopen }; #region 查询条件 if (!string.IsNullOrEmpty(keyword)) query = query.Where(it => it.title.Contains(keyword) || it.remark.Contains(keyword)); if (!string.IsNullOrEmpty(usercode)) query = query.Where(it => it.createuser == usercode); if (!string.IsNullOrEmpty(stime)) query = query.Where(it => it.createtime >= Convert.ToDateTime(stime + " 00:00:00")); if (!string.IsNullOrEmpty(etime)) query = query.Where(it => it.createtime <= Convert.ToDateTime(etime + " 23:59:59")); #endregion recordcount = query.Count(); var list = query.Skip((pageindex - 1) * pagesize).Take(pagesize).ToList(); return list; } } }