using System.Web.Mvc; using NzbDrone.Core.Instrumentation; using NzbDrone.Web.Models; using Telerik.Web.Mvc; using System.Linq; namespace NzbDrone.Web.Controllers { public class LogController : Controller { private readonly LogProvider _logProvider; public LogController(LogProvider logProvider) { _logProvider = logProvider; } public ActionResult Index() { return View(); } public ActionResult All() { return View(); } public JsonResult Clear() { _logProvider.DeleteAll(); return Json(new NotificationResult { Title = "Logs Cleared" }); } [GridAction] public ActionResult _TopAjaxBinding() { var logs = _logProvider.TopLogs(5000); return View(new GridModel(logs)); } [GridAction(EnableCustomBinding = true)] public ActionResult _AllAjaxBinding(GridCommand gridCommand) { var logs = _logProvider.GetPagedLogs(gridCommand.Page, gridCommand.PageSize); return View(new GridModel{ Data = logs.Items, Total = (int)logs.TotalItems }); } } }