public BusinessBaseViewModel <int> AddOrUpsert(MQBusinessAddOrUpsertRequest 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 (string.IsNullOrWhiteSpace(request.BusinessName)) { errMsg = "任务名称不能为空"; goto error; } if (string.IsNullOrWhiteSpace(request.QueueName)) { errMsg = "队列名称不能为空"; goto error; } #endregion #region add or upsert if (request.Id > 0) { //upsert var model = _mQBusinessConfigRepository.Find().FirstOrDefault(x => x.Id == request.Id); if (model != null) { model.ApiUrl = request.ApiUrl; model.BusinessName = request.BusinessName; model.ExceptionNumber = request.ExceptionNumber; model.Exchange = request.Exchange; model.IsProperties = request.IsProperties; model.IsSaveFailMessage = request.IsSaveFailMessage; model.Status = request.Status; model.MqMessageType = request.MqMessageType; model.QueueName = request.QueueName; model.RoutingKey = request.RoutingKey; model.TimeInterval = request.TimeInterval; _mQBusinessConfigRepository.Update(model); goto success; } } else { //add var model = new MQBusinessConfig() { BusinessName = request.BusinessName, ApiUrl = request.ApiUrl, CreateTime = DateTime.Now, ExceptionNumber = request.ExceptionNumber, Status = (int)request.Status, Exchange = request.Exchange, TimeInterval = request.TimeInterval, RoutingKey = request.RoutingKey, QueueName = request.QueueName, MqMessageType = request.MqMessageType, IsSaveFailMessage = request.IsSaveFailMessage, IsProperties = request.IsProperties }; insertId = _mQBusinessConfigRepository.Insert(model); goto success; } #endregion success: try { _mQBusinessConfigRepository.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); }
/// <summary> /// 新增或更新 /// </summary> /// <param name="model"></param> /// <returns></returns> public ActionResult AddOrUpsert(MQBusinessAddOrUpsertRequest model) { var res = _mQBusinessConfigService.AddOrUpsert(model); return(Content(res.ToJsonString())); }