/// <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>
        /// <param name="projectId"></param>
        /// <returns></returns>
        private int UpdateDbConf(PDP_DB_CONF model, int projectId)
        {
            var row = 0;

            //保存或修改并更新到数据库
            if (_dbConfService.Exists(r => r.TC_PROJ_ID == projectId && r.DB_CONF_TYPE == model.DB_CONF_TYPE))
            {
                row = _dbConfService.Update(model);
            }
            else
            {
                var entity = _dbConfService.Insert(model);
                row = entity == null ? 0 : 1;
            }
            return(row);
        }
        /// <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));
            }
        }