// // GET: /Events/ public ActionResult Index(int? page, int? pageSize, EnumServiceMessageLevel? level, bool? json) { this.ViewBag.Level = level; var realPageSize = pageSize.GetValueOrDefault(20); var query = this.Logger.GetEventList(page.GetValueOrDefault(1) - 1, realPageSize, level); var viewModel = new CustomPagination<ServiceMessage> (query, page.GetValueOrDefault(1), realPageSize, this.Logger.GetEventCount(level)); if(json.GetValueOrDefault(false)) { return Json(viewModel, JsonRequestBehavior.AllowGet); } else { return View(viewModel); } }
public void PurgeData(DateTime utcNow, EnumServiceMessageLevel messageLevel, int?ageMinutes) { if (ageMinutes.HasValue) { DateTime maxDate = utcNow.AddMinutes(0 - ageMinutes.Value); this.EventReporter.Trace(string.Format("Deleting {0} messages older than {1}", messageLevel, maxDate)); var query = this.DocumentSession.Advanced.LuceneQuery <ServiceMessage, ServiceMessagesByDateIndex>() .WhereEquals("Level", messageLevel) .AndAlso().WhereLessThan("MessageDateTimeUtc", maxDate); var queryString = query.ToString(); this.DocumentSession.Advanced.DocumentStore.DatabaseCommands.DeleteByIndex ( typeof(ServiceMessagesByDateIndex).Name, new IndexQuery { Query = queryString }, allowStale: true ); this.DocumentSession.SaveChanges(); } }
public virtual IQueryable<ServiceMessage> GetEventList(int pageIndex, int pageSize, EnumServiceMessageLevel? level) { if(level.HasValue) { return this.DocumentSession.Query<ServiceMessage>().Where(i=>i.Level == level.Value).OrderByDescending(i => i.MessageDateTimeUtc).Skip((pageIndex) * pageSize).Take(pageSize).OrderByDescending(i=>i.MessageDateTimeUtc); } else { return this.DocumentSession.Query<ServiceMessage>().OrderByDescending(i => i.MessageDateTimeUtc).Skip((pageIndex) * pageSize).Take(pageSize); } }
public virtual int GetEventCount(EnumServiceMessageLevel? level) { if (level.HasValue) { return this.DocumentSession.Query<ServiceMessage>().Where(i => i.Level == level.Value).Count(); } else { return this.DocumentSession.Query<ServiceMessage>().Count(); } }
public override IQueryable<ServiceMessage> GetEventList(int pageIndex, int pageSize, EnumServiceMessageLevel? level) { throw new NotImplementedException(); }
public override int GetEventCount(EnumServiceMessageLevel? level) { throw new NotImplementedException(); }