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);
        }
Exemplo n.º 2
0
    protected override JobHandle OnUpdate(JobHandle inputDeps)
    {
        OpenJob   job       = new OpenJob();
        JobHandle jobHandle = job.Schedule(this, inputDeps);

        jobHandle.Complete();
        return(jobHandle);
    }
Exemplo n.º 3
0
        public ActionResult DeleteConfirmed(int id)
        {
            OpenJob openJob = db.OpenJobs.Find(id);

            db.OpenJobs.Remove(openJob);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 4
0
        /// <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));
        }
Exemplo n.º 5
0
 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));
 }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        // 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));
        }
Exemplo n.º 8
0
        /// <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);
        }