public async Task<IHttpActionResult> PostOpenJob(OpenJob entity) { if (!ModelState.IsValid) { return BadRequest(ModelState); } _unitOfWork.OpenJobRepository.Insert(entity); try { await _unitOfWork.SaveChangesAsync(); } catch (UpdateException) { if (_unitOfWork.OpenJobRepository.Find(entity.OpenJobsId) == null) { return Conflict(); } throw; } await _unitOfWork.OpenJobRepository.LoadRelatedEntitiesAsync(entity); entity.AcceptChanges(); return CreatedAtRoute("DefaultApi", new { id = entity.OpenJobsId }, entity); }
protected override JobHandle OnUpdate(JobHandle inputDeps) { OpenJob job = new OpenJob(); JobHandle jobHandle = job.Schedule(this, inputDeps); jobHandle.Complete(); return(jobHandle); }
public ActionResult DeleteConfirmed(int id) { OpenJob openJob = db.OpenJobs.Find(id); db.OpenJobs.Remove(openJob); db.SaveChanges(); return(RedirectToAction("Index")); }
/// <summary> /// 停止一个定时任务 /// </summary> /// <param name="job"></param> /// <param name="scheduler"></param> public static void Stop(this OpenJob job, IScheduler scheduler) { TriggerKey triggerKey = new TriggerKey(job.Id); // 停止触发器 scheduler.PauseTrigger(triggerKey); // 移除触发器 scheduler.UnscheduleJob(triggerKey); // 删除任务 scheduler.DeleteJob(new JobKey(job.Id)); }
public ActionResult Edit([Bind(Include = "OpenJobs_id,WorkPosition_id,Conditions,ValidFrom,ValidTo,Questionare_id")] OpenJob openJob) { if (ModelState.IsValid) { db.Entry(openJob).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Questionare_id = new SelectList(db.Questionares, "Questionare_id", "Description", openJob.Questionare_id); ViewBag.WorkPosition_id = new SelectList(db.WorkPositions, "WorkPosition_id", "ShortDescription", openJob.WorkPosition_id); return(View(openJob)); }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } OpenJob openJob = db.OpenJobs.Find(id); if (openJob == null) { return(HttpNotFound()); } return(View(openJob)); }
// GET: OpenJobs/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } OpenJob openJob = db.OpenJobs.Find(id); if (openJob == null) { return(HttpNotFound()); } ViewBag.Questionare_id = new SelectList(db.Questionares, "Questionare_id", "Description", openJob.Questionare_id); ViewBag.WorkPosition_id = new SelectList(db.WorkPositions, "WorkPosition_id", "ShortDescription", openJob.WorkPosition_id); return(View(openJob)); }
/// <summary> /// 启动定时任务 /// </summary> /// <param name="job"></param> /// <param name="scheduler">一个Quartz Scheduler</param> public static void Start(this OpenJob job, IScheduler scheduler) { var jobBuilderType = typeof(JobBuilder); var method = jobBuilderType.GetMethods().FirstOrDefault( x => x.Name.Equals("Create", StringComparison.OrdinalIgnoreCase) && x.IsGenericMethod && x.GetParameters().Length == 0) ?.MakeGenericMethod(Type.GetType(job.JobCall)); var jobBuilder = (JobBuilder)method.Invoke(null, null); IJobDetail jobDetail = jobBuilder.WithIdentity(job.Id).Build(); jobDetail.JobDataMap[Define.JOBMAPKEY] = job.Id; //传递job信息 ITrigger trigger = TriggerBuilder.Create() .WithCronSchedule(job.Cron) .WithIdentity(job.Id) .StartNow() .Build(); scheduler.ScheduleJob(jobDetail, trigger); }
public async Task<IHttpActionResult> PutOpenJob(OpenJob entity) { if (!ModelState.IsValid) { return BadRequest(ModelState); } _unitOfWork.OpenJobRepository.Update(entity); try { await _unitOfWork.SaveChangesAsync(); } catch (UpdateConcurrencyException) { if (_unitOfWork.OpenJobRepository.Find(entity.OpenJobsId) == null) { return Conflict(); } throw; } await _unitOfWork.OpenJobRepository.LoadRelatedEntitiesAsync(entity); entity.AcceptChanges(); return Ok(entity); }