public IHttpActionResult GetTriggerById(long jobId, long triggerId) { var trigger = this.queryService.GetTriggerById(jobId, triggerId); if (trigger == null) { return(this.NotFound()); } return(this.Ok(TriggerMapper.ConvertToDto((dynamic)trigger))); }
public IHttpActionResult TriggersByJob(long jobId, int page = 1, int pageSize = 200, bool showDeleted = false) { var job = this.queryService.GetJobById(jobId); var pagedResult = this.queryService.GetTriggersByJobId(jobId, page, pageSize, showDeleted); var jobDto = job.ToDto(); jobDto.Trigger = pagedResult.Items.Select(t => TriggerMapper.ConvertToDto(t as dynamic)).Cast <JobTriggerDtoBase>().ToList(); return(this.Ok(jobDto)); }
private IHttpActionResult AddTrigger(JobTriggerDtoBase triggerDto, Job job) { if (triggerDto == null) { return(this.StatusCode(HttpStatusCode.BadRequest)); } if (triggerDto is InstantTriggerDto) { triggerDto.IsActive = true; } var trigger = TriggerMapper.ConvertToTrigger(triggerDto as dynamic); ((IJobTrigger)trigger).JobId = job.Id; this.jobManagementService.AddTrigger(job.Id, trigger); return(this.Created(string.Format("jobs/{0}/triggers/{1}", job.Id, trigger.Id), TriggerMapper.ConvertToDto(trigger))); }
public IHttpActionResult UpdateTrigger(long jobId, long triggerId, [FromBody] JobTriggerDtoBase dto) { var currentTrigger = this.queryService.GetTriggerById(jobId, triggerId); if (currentTrigger == null) { return(this.NotFound()); } if (currentTrigger.IsActive && !dto.IsActive) { currentTrigger.IsActive = false; this.jobManagementService.DisableTrigger(jobId, currentTrigger.Id); } else if (!currentTrigger.IsActive && dto.IsActive) { currentTrigger.IsActive = true; this.jobManagementService.EnableTrigger(jobId, currentTrigger.Id); } if (dto is RecurringTriggerDto recurringTriggerDto) { var trigger = TriggerMapper.ConvertToTrigger(recurringTriggerDto); trigger.Id = triggerId; trigger.JobId = jobId; this.jobManagementService.Update(trigger); } else if (dto is ScheduledTriggerDto scheduledTriggerDto) { var trigger = TriggerMapper.ConvertToTrigger(scheduledTriggerDto); trigger.Id = triggerId; trigger.JobId = jobId; this.jobManagementService.Update(trigger); } return(this.Ok(dto)); }