public async Task <IResultModel> Update(JobUpdateModel model)
        {
            var entity = await _repository.GetAsync(model.Id);

            if (entity == null)
            {
                return(ResultModel.Failed());
            }

            _mapper.Map(model, entity);
            entity.JobKey  = $"{model.Group}.{model.Code}";
            entity.EndDate = entity.EndDate.AddDays(1);

            if (await _repository.Exists(entity))
            {
                return(ResultModel.Failed($"当前任务组{entity.Group}已存在任务编码${entity.Code}"));
            }

            //如果任务不是停止或者已完成,先删除在添加
            if (entity.Status != JobStatus.Stop && entity.Status != JobStatus.Completed)
            {
                var jobKey = new JobKey(entity.Name, entity.Group);
                await _quartzServer.DeleteJob(jobKey);

                var result = await AddJob(entity, entity.Status == JobStatus.Running);

                if (!result.Successful)
                {
                    return(result);
                }
            }

            return(ResultModel.Result(await _repository.UpdateAsync(entity)));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Update(int id, JobUpdateModel updateModel)
        {
            if (id < 1)
            {
                return(NotFound(new { Message = "Job not found" }));
            }

            // validate updateModel properties here
            if (string.IsNullOrWhiteSpace(updateModel.Name))
            {
                return(BadRequest(new { Message = "Name is invalid" }));
            }
            if (string.IsNullOrWhiteSpace(updateModel.Description))
            {
                return(BadRequest(new { Message = "Description is invalid" }));
            }
            if (string.IsNullOrWhiteSpace(updateModel.Benefit))
            {
                return(BadRequest(new { Message = "Benefit is invalid" }));
            }
            if (string.IsNullOrWhiteSpace(updateModel.Requirement))
            {
                return(BadRequest(new { Message = "Requirement is invalid" }));
            }
            if (string.IsNullOrWhiteSpace(updateModel.Location))
            {
                return(BadRequest(new { Message = "Location is invalid" }));
            }

            await _jobRepository.Update(id, updateModel);

            await _jobRepository.Commit();

            return(Ok());
        }
Exemplo n.º 3
0
        public async Task <IResultModel> Update(JobUpdateModel model)
        {
            var entity = await _jobRepository.FirstAsync(model.Id);

            if (entity == null)
            {
                return(ResultModel.NotExists);
            }

            if (await _jobRepository.ExistsAsync(m => m.JobKey == model.JobKey && m.Id != model.Id))
            {
                return(ResultModel.Failed($"当前任务组{entity.JobGroup}已存在任务编码${entity.Code}"));
            }

            _mapper.Map(model, entity);

            //如果任务不是停止或者已完成,先删除在添加
            if (entity.Status != JobStatus.Stop && entity.Status != JobStatus.Completed)
            {
                var jobKey = new JobKey(entity.Code, entity.JobGroup);
                await _quartzServer.DeleteJob(jobKey);

                var result = await AddJob(entity, entity.Status == JobStatus.Running);

                if (!result.Successful)
                {
                    return(result);
                }
            }

            return(ResultModel.Result(await _jobRepository.UpdateAsync(entity)));
        }
Exemplo n.º 4
0
        public async Task <IResultModel> Update(JobUpdateModel model)
        {
            var entity = await _repository.GetAsync(model.Id);

            if (entity == null)
            {
                return(ResultModel.Failed("任务不存在"));
            }

            var oldStatus = entity.Status;
            var oldJobKey = new JobKey(entity.Name, entity.Group);

            _mapper.Map(model, entity);
            entity.JobKey  = $"{model.Group}.{model.Code}";
            entity.EndDate = entity.EndDate.AddDays(1);

            if (await _repository.Exists(entity))
            {
                return(ResultModel.Failed($"当前任务组{entity.Group}已存在任务编码${entity.Code}"));
            }

            using (var tran = _repository.BeginTransaction())
            {
                //未运行状态修改为暂停
                if (oldStatus != JobStatus.Running)
                {
                    entity.Status = JobStatus.Pause;
                }

                //如果不是未完成的任务,需要先从调度服务中删除任务
                if (oldStatus != JobStatus.Completed)
                {
                    await _quartzServer.DeleteJob(oldJobKey);
                }

                if (await _repository.UpdateAsync(entity, tran))
                {
                    var result = await AddJob(entity, entity.Status == JobStatus.Running);

                    if (!result.Successful)
                    {
                        return(result);
                    }

                    tran.Commit();
                    return(ResultModel.Success());
                }
            }

            return(ResultModel.Failed("添加失败"));
        }
Exemplo n.º 5
0
        public async Task <IResultModel> Update(JobUpdateModel model)
        {
            var entity = await _repository.GetAsync(model.Id);

            if (entity == null)
            {
                return(ResultModel.Failed("���񲻴���"));
            }

            var oldStatus = entity.Status;
            var oldJobKey = new JobKey(entity.Name, entity.Group);

            _mapper.Map(model, entity);
            entity.JobKey  = $"{model.Group}.{model.Code}";
            entity.EndDate = entity.EndDate.AddDays(1);

            if (await _repository.Exists(entity))
            {
                return(ResultModel.Failed($"��ǰ������{entity.Group}�Ѵ����������${entity.Code}"));
            }

            using (var uow = _dbContext.NewUnitOfWork())
            {
                //δ����״̬�޸�Ϊ��ͣ
                if (oldStatus != JobStatus.Running)
                {
                    entity.Status = JobStatus.Pause;
                }

                //�������δ��ɵ�������Ҫ�ȴӵ��ȷ�����ɾ������
                if (oldStatus != JobStatus.Completed)
                {
                    await _quartzServer.DeleteJob(oldJobKey);
                }

                if (await _repository.UpdateAsync(entity, uow))
                {
                    var result = await AddJob(entity, entity.Status == JobStatus.Running);

                    if (!result.Successful)
                    {
                        return(result);
                    }

                    uow.Commit();
                    return(ResultModel.Success());
                }
            }

            return(ResultModel.Failed("����ʧ��"));
        }
Exemplo n.º 6
0
        public async Task <IResultModel> Update(JobUpdateModel model)
        {
            var entity = await _repository.GetAsync(model.Id);

            if (entity == null)
            {
                return(ResultModel.NotExists);
            }

            _mapper.Map(model, entity);

            //if (await _repository.Exists(entity))
            //{
            //return ResultModel.HasExists;
            //}

            var result = await _repository.UpdateAsync(entity);

            return(ResultModel.Result(result));
        }
 public Task <IResultModel> Update(JobUpdateModel model)
 {
     return(_service.Update(model));
 }
Exemplo n.º 8
0
 public Task <IActionResult> UpdateJob(string jobId, JobUpdateModel jobUpdate, HttpRequest request)
 {
     throw new System.NotImplementedException();
 }
Exemplo n.º 9
0
 public async Task <IActionResult> UpdateJob(string jobId, JobUpdateModel jobUpdate)
 {
     return(await _jobService.UpdateJob(jobId, jobUpdate, ControllerContext.HttpContext.Request));
 }
Exemplo n.º 10
0
 public async Task <IActionResult> UpdateJob(string jobId,
                                             JobUpdateModel jobUpdate) =>
 await _jobService.UpdateJob(jobId, jobUpdate);