/// <summary> /// 新增或更新 /// </summary> /// <param name="model"></param> /// <returns></returns> public ActionResult AddOrUpsert(ScheduleTaskAddOrUpsertRequest model) { var res = _scheduleTaskConfigService.AddOrUpsert(model); return(Content(res.ToJsonString())); }
/// <summary> /// 添加或更新 /// </summary> /// <param name="request"></param> /// <returns></returns> public BusinessBaseViewModel <int> AddOrUpsert(ScheduleTaskAddOrUpsertRequest request) { var errMsg = string.Empty; var insertId = 0; var res = new BusinessBaseViewModel <int>() { Status = ResponseStatus.Fail }; #region 验证 if (string.IsNullOrWhiteSpace(request.ApiUrl)) { errMsg = "请求地址不能为空"; goto error; } if (request.DiffSeconds == 0) { errMsg = "请求间隔时间必须大于0"; goto error; } if (string.IsNullOrWhiteSpace(request.TaskName)) { errMsg = "任务名称不能为空"; goto error; } #endregion #region add or upsert if (request.Id > 0) { //upsert var model = _scheduleTaskConfigRepository.Find().FirstOrDefault(x => x.Id == request.Id); if (model != null) { model.ApiUrl = request.ApiUrl; model.DiffSeconds = request.DiffSeconds; model.ExceptionNumber = request.ExceptionNumber; model.ExecuteType = request.ExecuteType; model.Method = request.Method; model.Parameters = request.Parameters; model.Status = request.Status; model.TaskName = request.TaskName; _scheduleTaskConfigRepository.Update(model); goto success; } } else { //add var model = new ScheduleTaskConfig() { TaskName = request.TaskName, ApiUrl = request.ApiUrl, CreateTime = DateTime.Now, DiffSeconds = request.DiffSeconds, ExceptionNumber = request.ExceptionNumber, ExecuteType = request.ExecuteType, Method = request.Method, Parameters = string.IsNullOrWhiteSpace(request.Parameters) ? "" : request.Parameters, RunStatus = request.RunStatus, Status = request.Status, LastRunTime = DateTime.Now }; insertId = _scheduleTaskConfigRepository.Insert(model); goto success; } #endregion success: try { _scheduleTaskConfigRepository.SaveChanges(); } catch (Exception ex) { throw ex.InnerException; } res.ErrorMessage = errMsg; res.Status = ResponseStatus.Success; res.BusinessData = insertId; return(res); error: res.ErrorMessage = errMsg; return(res); }