public JobViewModel GetEdit(ApiCall call) { var id = call.GetValue <long>("id"); if (id > 0) { throw new Exception(Data.Language.Hardcoded.GetValue("Job can not edit, you may delete and create a new one")); var isrepeat = call.GetBoolValue("IsRepeat"); if (isrepeat) { var item = GlobalDb.RepeatingJob().Get(id); if (item != null) { return(new JobViewModel(item)); } } else { // var item = GlobalDb.ScheduleJob(). } } return(new JobViewModel()); }
private void _delete(JobDeleteViewModel model) { if (model.IsRepeat) { GlobalDb.RepeatingJob().Del(model.Id); } else { GlobalDb.ScheduleJob().Delete(model.DayInt, model.SecondOfDay, model.BlockPosition); } }
public List <JobViewModel> List(ApiCall call) { var jobs = new List <JobViewModel>(); foreach (var item in GlobalDb.ScheduleJob().GetByWebSiteId(call.Context.WebSite.Id)) { jobs.Add(new JobViewModel(item)); } foreach (var item in GlobalDb.RepeatingJob().GetByWebSiteId(call.Context.WebSite.Id)) { jobs.Add(new JobViewModel(item)); } SetCodeName(jobs, call.WebSite.SiteDb()); return(jobs); }
public void Execute() { var scheduleJob = GlobalDb.ScheduleJob().DeQueue(); while (scheduleJob != null) { ExecuteScheduleJob(scheduleJob); scheduleJob = GlobalDb.ScheduleJob().DeQueue(); } var repeatingJob = GlobalDb.RepeatingJob().DequeueItem(); while (repeatingJob != null) { ExecuteRepeatingJob(repeatingJob); repeatingJob = GlobalDb.RepeatingJob().DequeueItem(); } }
public void Execute() { var scheduleJob = GlobalDb.ScheduleJob().DeQueue(); while (scheduleJob != null) { ExecuteScheduleJob(scheduleJob); scheduleJob = GlobalDb.ScheduleJob().DeQueue(); } var repeatingJobs = GlobalDb.RepeatingJob().DequeueItems(); if (repeatingJobs != null && repeatingJobs.Any()) { foreach (var item in repeatingJobs) { ExecuteRepeatingJob(item); } } }
public void Deletes(ApiCall call) { try { string body = call.GetValue("ids"); if (string.IsNullOrEmpty(body)) { body = call.Context.Request.Body; } var ids = Lib.Helper.JsonHelper.Deserialize <List <Guid> >(body); if (ids != null) { var schedulejobs = GlobalDb.ScheduleJob().GetByWebSiteId(call.Context.WebSite.Id); var repeatjobs = GlobalDb.RepeatingJob().GetByWebSiteId(call.Context.WebSite.Id); foreach (var item in ids) { var findschedule = schedulejobs.Find(o => o.Item.Id == item); if (findschedule != null) { GlobalDb.ScheduleJob().Delete(findschedule.DayInt, findschedule.SecondOfDay, findschedule.BlockPosition); } else { var findrepeat = repeatjobs.Find(o => o.Item.Id == item); if (findrepeat != null) { GlobalDb.RepeatingJob().Del(findrepeat); } } } } } catch (Exception) { } }
public void Post(JobEditViewModel model, ApiCall call) { //JobEditViewModel model = call.Context.Request.Model as JobEditViewModel; Job newjob = new Job(); newjob.Description = model.Description; newjob.JobName = model.Name; newjob.WebSiteId = call.Context.WebSite.Id; newjob.Script = model.Script; newjob.CodeId = model.CodeId; // add a new job. if (model.IsRepeat) { RepeatItem <Job> repeatjob = new RepeatItem <Job>(); repeatjob.Item = newjob; repeatjob.StartTime = model.StartTime; repeatjob.FrequenceUnit = model.FrequenceUnit; switch (model.Frequence.ToLower()) { case "month": { repeatjob.Frequence = RepeatFrequence.Month; break; } case "day": { repeatjob.Frequence = RepeatFrequence.Day; break; } case "minutes": { repeatjob.Frequence = RepeatFrequence.Minutes; break; } case "minute": { repeatjob.Frequence = RepeatFrequence.Minutes; break; } case "second": { repeatjob.Frequence = RepeatFrequence.Second; break; } case "week": { repeatjob.Frequence = RepeatFrequence.Week; break; } case "hour": { repeatjob.Frequence = RepeatFrequence.Hour; break; } default: break; } GlobalDb.RepeatingJob().Add(repeatjob); GlobalDb.RepeatingJob().Close(); } else { GlobalDb.ScheduleJob().Add(newjob, model.StartTime); GlobalDb.ScheduleJob().Close(); } }