protected void HandleGridDataRequest()
        {
            var to = DateTime.Now.Date;
            var from = to.AddMonths(-1);

            var minLevel = ParseLoggingEventLevel(HttpContext.Current.Request.Form["minLevel"]);
            var maxLevel = ParseLoggingEventLevel(HttpContext.Current.Request.Form["maxLevel"]);
            var tags = ParseTags(HttpContext.Current.Request.Form["tags"]);
            var skip = int.Parse(HttpContext.Current.Request.Form["skip"] ?? "0");
            var take = int.Parse(HttpContext.Current.Request.Form["take"] ?? "100");
            var search = HttpContext.Current.Request.Form["search"] ?? string.Empty;
            var periodString = HttpContext.Current.Request.Form["period"];
            if (periodString != null)
            {
                var periodDates = periodString.Split(new[] { " - " }, 2, StringSplitOptions.None);
                if (periodDates.Length == 2)
                {
                    from = DateTime.ParseExact(periodDates[0], "MM/dd/yyyy", CultureInfo.CurrentCulture);
                    to = DateTime.ParseExact(periodDates[1], "MM/dd/yyyy", CultureInfo.CurrentCulture);
                }
            }

            var repository = new DatabaseLoggingEventRepository();
            var result = repository.List(from, to, minLevel, maxLevel, tags, search, skip, take);
            Response.JsonResult(result);
        }
        protected void HandleEventDetailsRequest(string eventId)
        {
            var repository = new DatabaseLoggingEventRepository();
            var loggingEvent = repository.Get(eventId);
            if (loggingEvent == null)
            {
                Response.HtmlResult("<h1>Not Found</h1>");
                return;
            }

            var loggingEventTemplateModel = new LoggingEventTemplateModel(loggingEvent);
            var loggingEventTemplate = new LoggingEventTemplate(loggingEventTemplateModel);
            var htmlResponse = loggingEventTemplate.TransformText();
            Response.HtmlResult(htmlResponse);
        }