/// <summary>
        /// 应用数据校验
        /// </summary>
        /// <param name="model"></param>
        private ProcessResult CheckApplyData(DevApplyViewModel model)
        {
            var result = new ProcessResult();

            var updateCallbackUrl = model.UpdateCallbackUrl;

            if (string.IsNullOrEmpty(model.AppName))
            {
                result.Result = false;
                result.Msg    = "请输入应用名称";
                return(result);
            }

            if (string.IsNullOrEmpty(model.Memo))
            {
                result.Result = false;
                result.Msg    = "请输入应用描述";
                return(result);
            }

            if (model.AppName.Length > 60)
            {
                result.Result = false;
                result.Msg    = "应用名称不超过60个字符";
                return(result);
            }

            if (model.Memo.Length > 255)
            {
                result.Result = false;
                result.Msg    = "应用描述不超过255个字符";
                return(result);
            }

            if (!string.IsNullOrEmpty(updateCallbackUrl))
            {
                if (!RegexUtil.IsMatch(ref updateCallbackUrl, RegexConsts.URL_PATTERN))
                {
                    throw new MessageException("回调地址格式不正确");
                }

                if (string.IsNullOrEmpty(model.SignKey))
                {
                    result.Result = false;
                    result.Msg    = "您输入了回调地址,所以签名Key不能为空,请输入签名Key";
                    return(result);
                }
            }
            result.Result = true;
            return(result);
        }
        public ActionResult DoApplyInfo(DevApplyViewModel dev)
        {
            var result = SingleInstance <UserAccountService> .Instance.AddApplyInfo(dev);

            if (result.Result)
            {
                var message = @"<script>window.location.href='/apply/applymanagement';</script>";
                return(Content(message));
            }
            else
            {
                var msg = getAlertDailog(result.Msg);
                return(Content(msg));
            }
        }
        /// <summary>
        /// 新增应用
        /// </summary>
        /// <param name="model">视图数据模型</param>
        public ProcessResult AddApplyInfo(DevApplyViewModel model)
        {
            var result = new ProcessResult();
            var url    = "";

            // 数据校验
            result = CheckApplyData(model);
            if (model.LogoFile != null)
            {
                result = LogFileUpload(model.LogoFile);
                if (result.Result)
                {
                    url = result.Data;
                }
                else
                {
                    return(result);
                }
            }

            if (result.Result)
            {
                // 判断应用Id是否为空
                if (!string.IsNullOrEmpty(model.AppId))
                {
                    var cc = new ConditionCollection()
                    {
                        new Condition("app_id", model.AppId)
                    };

                    var dataMode = GetRepository <McpApplicationInfo>().GetModel(cc);

                    dataMode.AppName           = model.AppName;
                    dataMode.SignKey           = model.SignKey;
                    dataMode.UpdateCallbackUrl = model.UpdateCallbackUrl;
                    dataMode.ModifiedBy        = model.ModifiedBy;
                    dataMode.ModifiedOn        = CommonUtil.GetDBDateTime();
                    dataMode.DeveloperId       = model.DeveloperId;
                    dataMode.Memo = model.Memo;
                    if (string.IsNullOrEmpty(url) && !string.IsNullOrEmpty(model.LogoPath))
                    {
                        dataMode.LogoPath = model.LogoPath;
                    }
                    else
                    {
                        dataMode.LogoPath = url;
                    }


                    var count = this.GetRepository <McpApplicationInfo>().Update(dataMode);

                    if (count <= 0)
                    {
                        result.Result = false;
                        result.Msg    = "修改应用失败,请与管理员联系";
                        return(result);
                    }
                    result.Msg = "修改应用成功";
                }
                else
                {
                    var cc = new ConditionCollection()
                    {
                        new Condition("app_name", model.AppName)
                    };

                    if (GetRepository <McpApplicationInfo>().IsExists(cc))
                    {
                        result.Result = false;
                        result.Msg    = "应用名称已经在系统中存在,请更换应用名称";
                        return(result);
                    }

                    var dataMode = new McpApplicationInfo()
                    {
                        AppId             = CommonUtil.GetGuidNoSeparator(),
                        AppKey            = VerifyCodeUtil.Intance.GenCode(16).ToLower(),
                        AppName           = model.AppName,
                        SignKey           = model.SignKey,
                        UpdateCallbackUrl = model.UpdateCallbackUrl,
                        LogoPath          = url,
                        CreatedBy         = model.ModifiedBy,
                        CreatedOn         = CommonUtil.GetDBDateTime(),
                        DeveloperId       = model.DeveloperId,
                        Memo       = model.Memo,
                        StatusCode = Convert.ToInt32(ApplyStatuCode.Operative)
                    };

                    var appId = this.GetRepository <McpApplicationInfo>().Create(dataMode);
                    if (string.IsNullOrEmpty(appId.ToString()))
                    {
                        result.Result = false;
                        result.Msg    = "新增应用失败,请与管理员联系";
                        return(result);
                    }
                    result.Msg = "新增应用成功";
                }
                result.Result = true;
                return(result);
            }
            return(result);
        }