/// <summary> /// 通过连接名称得到数据库连接定义 /// </summary> /// <param name="userInfo">用户</param> /// <param name="linkName">数据库连接定义名称</param> /// <returns>数据库连接定义实体</returns> public CiDbLinkDefineEntity GetEntityByLinkName(UserInfo userInfo, string linkName) { CiDbLinkDefineEntity entity = null; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, string.Empty); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var manager = new CiDbLinkDefineManager(dbProvider, userInfo); var names = new string[3]; var values = new object[3]; names[0] = CiDbLinkDefineTable.FieldLinkName; names[1] = CiDbLinkDefineTable.FieldEnabled; names[2] = CiDbLinkDefineTable.FieldDeleteMark; values[0] = linkName; values[1] = 1; values[2] = 0; var dtTemp = manager.GetDT(names, values); if (dtTemp != null && dtTemp.Rows.Count > 0) { entity = BaseEntity.Create <CiDbLinkDefineEntity>(dtTemp); } }); return(entity); }
/// <summary> /// 批量刪除数据 /// </summary> /// <param name="userInfo">用户</param> /// <param name="ids">主键陣列</param> /// <returns>影响行数</returns> public int BatchDelete(UserInfo userInfo, string[] ids) { var returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, string.Empty); ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider => { var manager = new CiDbLinkDefineManager(dbProvider, userInfo); returnValue = manager.Delete(ids); }); return(returnValue); }
/// <summary> /// 根据主键值取得数据库连接定义 /// </summary> /// <param name="userInfo">用户</param> /// <param name="ids">主键</param> /// <returns>数据表</returns> public DataTable GetDTByIds(UserInfo userInfo, string[] ids) { var dataTable = new DataTable(CiDbLinkDefineTable.TableName); var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, string.Empty); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var manager = new CiDbLinkDefineManager(dbProvider, userInfo); dataTable = manager.GetDT(CiDbLinkDefineTable.FieldId, ids, CiDbLinkDefineTable.FieldSortCode); dataTable.TableName = CiDbLinkDefineTable.TableName; }); return(dataTable); }
/// <summary> /// 取得实体 /// </summary> /// <param name="userInfo">用户</param> /// <param name="id">主键</param> /// <returns>实体</returns> public CiDbLinkDefineEntity GetEntity(UserInfo userInfo, string id) { CiDbLinkDefineEntity entity = null; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, string.Empty); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var manager = new CiDbLinkDefineManager(dbProvider, userInfo); entity = manager.GetEntity(id); }); return(entity); }
/// <summary> /// 取得列表 /// </summary> /// <param name="userInfo">用户</param> /// <returns>数据表</returns> public List <CiDbLinkDefineEntity> GetList(UserInfo userInfo) { var parameter = ParameterUtil.CreateWithOutMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName); var list = new List <CiDbLinkDefineEntity>(); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var manager = new CiDbLinkDefineManager(dbProvider, userInfo); List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>(CiDbLinkDefineTable.FieldDeleteMark, 0) }; list = manager.GetList <CiDbLinkDefineEntity>(parameters, CiDbLinkDefineTable.FieldSortCode); }); return(list); }
/// <summary> /// 新增数据库连接 /// </summary> /// <param name="userInfo">用户</param> /// <param name="entity">实体</param> /// <param name="statusCode">返回状态码</param> /// <param name="statusMessage">返回状态信息</param> /// <returns>主键</returns> public string Add(UserInfo userInfo, CiDbLinkDefineEntity entity, out string statusCode, out string statusMessage) { string returnValue = string.Empty; string returnCode = string.Empty; string returnMessage = string.Empty; var parameter = ParameterUtil.CreateWithLog(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var manager = new CiDbLinkDefineManager(dbProvider, userInfo); returnValue = manager.Add(entity, out returnCode); returnMessage = manager.GetStateMessage(returnCode); }); statusCode = returnCode; statusMessage = returnMessage; return(returnValue); }
/// <summary> /// 分页获取查询引擎定义列表 /// </summary> /// <param name="userInfo">用户</param> /// <param name="searchValue">查询关键字</param> /// <param name="recordCount">记录数</param> /// <param name="pageIndex">当前页</param> /// <param name="pageSize">每页显示记录条数</param> /// <param name="sortExpression">排序字段</param> /// <returns>数据表</returns> public DataTable GetQueryEngineDefineDTByPage(UserInfo userInfo, string searchValue, out int recordCount, int pageIndex = 1, int pageSize = 20, string sortExpression = null) { var dataTable = new DataTable(QueryEngineDefineTable.TableName); var returnRecordCount = 0; var parameter = ParameterUtil.CreateWithOutMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var manager = new QueryEngineDefineManager(dbProvider, userInfo); if (string.IsNullOrEmpty(searchValue)) { searchValue = QueryEngineDefineTable.FieldDeleteMark + " = 0 "; } else { searchValue += " AND " + QueryEngineDefineTable.FieldDeleteMark + " = 0 "; } dataTable = manager.GetDTByPage(out returnRecordCount, pageIndex, pageSize, searchValue, sortExpression); dataTable.TableName = QueryEngineDefineTable.TableName; // 这里是获数据库连接名称中文显示 CiDbLinkDefineManager dbLinkManager = new CiDbLinkDefineManager(dbProvider, userInfo); if (!dataTable.Columns.Contains("LINKNAME_CHS")) { dataTable.Columns.Add("LINKNAME_CHS"); } foreach (DataRow dr in dataTable.Rows) { string dbLinkId = BusinessLogic.ConvertToString(dr[QueryEngineDefineTable.FieldDataBaseLinkName]); if (!string.IsNullOrEmpty(dbLinkId)) { dr["LINKNAME_CHS"] = dbLinkManager.GetEntity(dbLinkId).LinkName; } } dataTable.AcceptChanges(); }); recordCount = returnRecordCount; return(dataTable); }