/// <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)); } }