public ActionResult GetForm(string primaryKey)
        {
            var id          = int.Parse(primaryKey);
            var project     = _projectService.Get(pro => pro.TC_PROJ_ID == id);
            var cdrflag     = _dbConfService.CDR_CONF_FLAG();
            var cdrConnect  = _dbConfService.Get(db => db.TC_PROJ_ID == id && db.DB_CONF_TYPE == cdrflag);
            var unitflag    = _dbConfService.UNIT_CONF_FLAG();
            var unitConnect = _dbConfService.Get(db => db.TC_PROJ_ID == id && db.DB_CONF_TYPE == unitflag);
            var model       = new ProjectDataBaseViewModel()
            {
                TC_PROJ_ID        = id,
                TC_PROJ_CODE      = project.TC_PROJ_CODE,
                TC_PROJ_NAME      = project.TC_PROJ_NAME,
                TC_PROJ_TYPE      = project.TC_PROJ_TYPE,
                CDR_DB_CONF_ID    = cdrConnect == null ? 0 : cdrConnect.DB_CONF_ID,
                CDR_SERVER_NAME   = cdrConnect == null ? "" : cdrConnect.SERVER_NAME,
                CDR_DB_NAME       = cdrConnect == null ? "" : cdrConnect.DB_NAME,
                CDR_DB_USER       = cdrConnect == null ? "" : cdrConnect.DB_USER,
                CDR_DB_PWD        = cdrConnect == null ? "" : cdrConnect.DB_PWD,
                CDR_DB_CONF_TYPE  = cdrConnect == null ? 0 : cdrConnect.DB_CONF_TYPE,
                IS_COMMON         = project.IS_COMMON,
                UNIT_DB_CONF_ID   = unitConnect == null ? 0 : unitConnect.DB_CONF_ID,
                UNIT_SERVER_NAME  = unitConnect == null ? "" : unitConnect.SERVER_NAME,
                UNIT_DB_USER      = unitConnect == null ? "" : unitConnect.DB_USER,
                UNIT_DB_PWD       = unitConnect == null ? "" : unitConnect.DB_PWD,
                UNIT_DB_NAME      = unitConnect == null ? "" : unitConnect.DB_NAME,
                UNIT_DB_CONF_TYPE = unitConnect == null ? 0 : unitConnect.DB_CONF_TYPE
            };

            return(Content(model.ToJson()));
        }
        /// <summary>
        /// 判断用户访问数据库权限
        /// </summary>
        /// <param name="model"></param>
        /// <param name="flag"></param>
        /// <returns></returns>
        public ActionResult JudgeAuthority(ProjectDataBaseViewModel model, string flag)
        {
            #region 判断连接
            //string connect = null;
            //var message = new Tuple<bool, string>(false, null);
            //if (flag == "CDR" && !model.CDR_DB_NAME.IsNullOrEmpty())
            //    connect = string.Format(ConnctStr, model.CDR_SERVER_NAME, model.CDR_DB_NAME, model.CDR_DB_USER, model.CDR_DB_PWD);
            //else if (flag == "UNIT" && !model.UNIT_DB_NAME.IsNullOrEmpty())
            //    connect = string.Format(ConnctStr, model.UNIT_SERVER_NAME, model.UNIT_DB_NAME, model.UNIT_DB_USER, model.UNIT_DB_PWD);
            //if (!connect.IsNullOrEmpty())
            //{
            //    var conn = new EntityConnection(connect);
            //    try
            //    {
            //        conn.Open();
            //        message = new Tuple<bool, string>(true, "数据库测试成功!");// { true,"数据库测试成功!" };
            //    }
            //    catch (Exception ex)
            //    {
            //        conn.Close();
            //        message = new Tuple<bool, string>(false, ex.InnerException.Message);
            //    }
            //    if (conn.State == ConnectionState.Open)
            //        conn.Close();
            //}
            //else
            //    message = new Tuple<bool, string>(false, "数据库名称为空!");
            //return Content(message.ToJson());
            #endregion

            var result = _projectService.JudgeAuthority(model, flag);
            return(Content(result.ToJson()));
        }
        /// <summary>
        /// UNIT数据库连接测试
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult TestUnitConnect(ProjectDataBaseViewModel model)
        {
            var dbModel = new PDP_DB_CONF()
            {
                DB_NAME     = model.UNIT_DB_NAME,
                SERVER_NAME = model.UNIT_SERVER_NAME,
                DB_USER     = model.UNIT_DB_USER,
                DB_PWD      = model.UNIT_DB_PWD,
            };
            var dbNameList = _dbConfService.TestConnect(dbModel);

            return(dbNameList != null?Success("连接成功!", dbNameList) : Error("连接失败!"));
        }
        /// <summary>
        /// 添加或修改项目
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult Form(ProjectDataBaseViewModel model)
        {
            try {
                var         row          = 0;
                PDP_PROJECT result       = null;
                var         projectModel = new PDP_PROJECT()
                {
                    TC_PROJ_ID   = model.TC_PROJ_ID,
                    TC_PROJ_CODE = model.TC_PROJ_CODE,
                    TC_PROJ_NAME = model.TC_PROJ_NAME,
                    TC_PROJ_TYPE = model.TC_PROJ_TYPE,
                    IS_COMMON    = 0
                };
                //保存或修改并更新到数据库
                if (_projectService.Exists(r => r.TC_PROJ_ID == model.TC_PROJ_ID))
                {
                    row    = _projectService.Update(projectModel);
                    result = _projectService.Get(pro => pro.TC_PROJ_ID == projectModel.TC_PROJ_ID);
                }
                else
                {
                    result = _projectService.Insert(projectModel);
                    row    = result != null ? 1 : 0;
                }
                var cdrDbConf = new PDP_DB_CONF()
                {
                    DB_CONF_ID   = model.CDR_DB_CONF_ID,
                    SERVER_NAME  = model.CDR_SERVER_NAME,
                    DB_NAME      = model.CDR_DB_NAME,
                    DB_USER      = model.CDR_DB_USER,
                    DB_PWD       = model.CDR_DB_PWD,
                    DB_CONF_TYPE = _dbConfService.CDR_CONF_FLAG(),
                    TC_PROJ_ID   = result.TC_PROJ_ID
                };
                row += UpdateDbConf(cdrDbConf, result.TC_PROJ_ID);
                var unitDbConf = new PDP_DB_CONF()
                {
                    DB_CONF_ID   = model.UNIT_DB_CONF_ID,
                    SERVER_NAME  = model.UNIT_SERVER_NAME,
                    DB_NAME      = model.UNIT_DB_NAME,
                    DB_USER      = model.UNIT_DB_USER,
                    DB_PWD       = model.UNIT_DB_PWD,
                    DB_CONF_TYPE = _dbConfService.UNIT_CONF_FLAG(),
                    TC_PROJ_ID   = result.TC_PROJ_ID
                };
                if (ProjectProvider.Instance.Current.TC_PROJ_ID == model.TC_PROJ_ID)
                {
                    _sdService.Switch(ProjectProvider.Instance.Current.SD_ID);
                }
                row += UpdateDbConf(unitDbConf, result.TC_PROJ_ID);

                //更新或插入SD_CDR_INFO表
                if (model.TC_PROJ_ID == 0)
                {
                    model.TC_PROJ_ID = result.TC_PROJ_ID;
                }
                if (_sdCDRInfoService.Exists(r => r.PROJECT_ID == model.TC_PROJ_ID && r.CDR_NAME == model.CDR_DB_NAME))
                {
                    row += _sdCDRInfoService.Update(_sdCDRInfoService.Get(r => r.PROJECT_ID == model.TC_PROJ_ID && r.CDR_NAME == model.CDR_DB_NAME));
                }
                else
                {
                    var CDRInsertResult = _sdCDRInfoService.Insert(new SD_CDR_INFO()
                    {
                        CDR_NAME   = model.CDR_DB_NAME,
                        PROJECT_ID = model.TC_PROJ_ID
                    });
                    row += CDRInsertResult == null ? 0 : 1;
                }
                return(row == 4 ? Success() : Error("项目或数据库连接内容保存失败!"));
            }
            catch (Exception ex)
            {
                return(Error(ex.Message));
            }
        }