Beispiel #1
0
        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);
        }
Beispiel #2
0
        /// <summary>
        /// 新增或更新
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult AddOrUpsert(MQBusinessAddOrUpsertRequest model)
        {
            var res = _mQBusinessConfigService.AddOrUpsert(model);

            return(Content(res.ToJsonString()));
        }