public static Response Execute(RelativeUri url) {
     var querystring = url.ParseQueryString();
     var resource = querystring["r"];
     resource = string.Format("{0}.Resources.{1}", assembly.FullName.Split(',')[0], resource);
     var content = ReadResource(resource);
     return new Response.ContentResponse(content: content, contentType: querystring["t"]);
 }
 public static Response Execute(RelativeUri url, Func<ISchedulerWrapper> getScheduler) {
     var scheduler = getScheduler();
     var qs = url.ParseQueryString();
     var highlight = qs["highlight"];
     var group = qs["group"];
     var triggers = GetTriggers(scheduler, group);
     var paused = scheduler.IsTriggerGroupPaused(group);
     var v = Views.Views.TriggerGroup(group, paused, url.PathAndQuery, highlight, triggers);
     return new Response.XDocumentResponse(Helpers.XHTML(v));
 }
 public static Response Execute(RelativeUri url, Func<ISchedulerWrapper> getScheduler) {
     var scheduler = getScheduler();
     var querystring = url.ParseQueryString();
     var highlight = querystring["highlight"];
     var group = querystring["group"];
     var job = querystring["job"];
     var jobKey = new JobKey(job, group);
     var triggers = GetTriggers(scheduler, jobKey);
     var m = new TriggersByJobModel(triggers, url.PathAndQuery, group, job, highlight);
     return new Response.XDocumentResponse(Helpers.XHTML(Views.Views.TriggersByJob(m)));
 }
 public static Response Execute(RelativeUri url) {
     var thisUrl = url.PathAndQuery.Split('?')[0];
     var qs = url.ParseQueryString();
     var pageSize = GetPageSize(qs);
     var pagination = new PaginationInfo(
         firstItemIndex: GetStartIndex(qs),
         pageSize: pageSize,
         totalItemCount: logsQ.Count(),
         pageUrl: "log.ashx?start=!0&max=" + pageSize);
     var logs = logsQ.Skip(pagination.FirstItemIndex).Take(pagination.PageSize).ToList();
     var v = GetView(qs.AllKeys);
     var view = v.Value(logs, pagination, thisUrl);
     return new Response.XDocumentResponse(view, v.Key);
 }
        public static Response Execute(RelativeUri uri, Func<ISchedulerWrapper> getScheduler) {
            var scheduler = getScheduler();
            var querystring = QueryStringParser.ParseQueryString(uri.Query);

            var group = querystring["group"];
            var jobNames = scheduler.GetJobKeys(GroupMatcher<JobKey>.GroupEquals(group));
            var runningJobs = scheduler.GetCurrentlyExecutingJobs();
            var jobs = jobNames.Select(j => {
                var job = scheduler.GetJobDetail(j);
                var interruptible = typeof (IInterruptableJob).IsAssignableFrom(job.JobType);
                var jobContext = runningJobs.FirstOrDefault(r => r.JobDetail.Key.ToString() == job.Key.ToString());
                return new JobWithContext(job, jobContext, interruptible);
            });
            var paused = scheduler.IsJobGroupPaused(group);
            var highlight = querystring["highlight"];
            var view = Views.Views.JobGroup(group, paused, highlight, uri.PathAndQuery, jobs);
            return new Response.XDocumentResponse(Helpers.XHTML(view));
        }
 public static Response Execute(RelativeUri url, Func<ISchedulerWrapper> getScheduler) {
     var scheduler = getScheduler();
     var p = GetMethodParameters(url.ParseQueryString());
     p.method.Invoke(scheduler, p.parameters.ToArray());
     return new Response.RedirectResponse(p.redirect);
 }
 public static NameValueCollection ParseQueryString(this RelativeUri uri)
 {
     return(ParseQueryString(uri.Query));
 }