/// <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="sqlBuilder">SQL语句生成器</param> /// <param name="ciDbLinkDefineEntity">实体</param> private void SetEntity(SQLBuilder sqlBuilder, CiDbLinkDefineEntity ciDbLinkDefineEntity) { sqlBuilder.SetValue(CiDbLinkDefineTable.FieldLinkName, ciDbLinkDefineEntity.LinkName); sqlBuilder.SetValue(CiDbLinkDefineTable.FieldLinkType, ciDbLinkDefineEntity.LinkType); sqlBuilder.SetValue(CiDbLinkDefineTable.FieldLinkData, ciDbLinkDefineEntity.LinkData); sqlBuilder.SetValue(CiDbLinkDefineTable.FieldEnabled, ciDbLinkDefineEntity.Enabled); sqlBuilder.SetValue(CiDbLinkDefineTable.FieldSortCode, ciDbLinkDefineEntity.SortCode); sqlBuilder.SetValue(CiDbLinkDefineTable.FieldDescription, ciDbLinkDefineEntity.Description); }
/// <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="ciDbLinkDefineEntity">实体</param> public int UpdateEntity(CiDbLinkDefineEntity ciDbLinkDefineEntity) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, ciDbLinkDefineEntity); if (UserInfo != null) { sqlBuilder.SetValue(CiDbLinkDefineTable.FieldModifiedBy, UserInfo.RealName); sqlBuilder.SetValue(CiDbLinkDefineTable.FieldModifiedUserId, UserInfo.Id); } sqlBuilder.SetDBNow(CiDbLinkDefineTable.FieldModifiedOn); sqlBuilder.SetWhere(CiDbLinkDefineTable.FieldId, ciDbLinkDefineEntity.Id); return(sqlBuilder.EndUpdate()); }
/// <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="ciDbLinkDefineEntity">实体</param> /// <param name="statusCode">返回状态码</param> /// <returns>主键</returns> public string Add(CiDbLinkDefineEntity ciDbLinkDefineEntity, out string statusCode) { var returnValue = string.Empty; // 检查名称是否重复 if (this.Exists(CiDbLinkDefineTable.FieldLinkName, ciDbLinkDefineEntity.LinkName)) { // 名称已重复 statusCode = StatusCode.ErrorNameExist.ToString(); } else { returnValue = this.AddEntity(ciDbLinkDefineEntity); // 运行成功 statusCode = StatusCode.OKAdd.ToString(); } return(returnValue); }
/// <summary> /// 更新 /// </summary> /// <param name="ciDbLinkDefineEntity">实体</param> /// <param name="statusCode">返回状态码</param> /// <returns>影响行数</returns> public int Update(CiDbLinkDefineEntity ciDbLinkDefineEntity, out string statusCode) { var returnValue = 0; // 检查名称是否重复 if (this.Exists(CiDbLinkDefineTable.FieldLinkName, ciDbLinkDefineEntity.LinkName, ciDbLinkDefineEntity.Id)) { // 名称已重复 statusCode = StatusCode.ErrorNameExist.ToString(); } else { returnValue = this.UpdateEntity(ciDbLinkDefineEntity); statusCode = returnValue == 1 ? StatusCode.OKUpdate.ToString() : StatusCode.ErrorDeleted.ToString(); } //} return(returnValue); }
/// <summary> /// 添加 /// </summary> /// <param name="ciDbLinkDefineEntity">实体</param> /// <returns>主键</returns> public string Add(CiDbLinkDefineEntity ciDbLinkDefineEntity) { return(this.AddEntity(ciDbLinkDefineEntity)); }
/// <summary> /// 添加实体 /// </summary> /// <param name="ciDbLinkDefineEntity">实体</param> public string AddEntity(CiDbLinkDefineEntity ciDbLinkDefineEntity) { var sequence = string.Empty; if (ciDbLinkDefineEntity.SortCode == null || ciDbLinkDefineEntity.SortCode == 0) { var sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); ciDbLinkDefineEntity.SortCode = int.Parse(sequence); } this.Identity = false; var sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, CiDbLinkDefineTable.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(ciDbLinkDefineEntity.Id)) { sequence = BusinessLogic.NewGuid(); ciDbLinkDefineEntity.Id = sequence; } sqlBuilder.SetValue(CiDbLinkDefineTable.FieldId, ciDbLinkDefineEntity.Id); } else { if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(CiDbLinkDefineTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DBProvider.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(CiDbLinkDefineTable.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (ciDbLinkDefineEntity.Id == null) { if (string.IsNullOrEmpty(sequence)) { var sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } ciDbLinkDefineEntity.Id = sequence; } sqlBuilder.SetValue(CiDbLinkDefineTable.FieldId, ciDbLinkDefineEntity.Id); } } } this.SetEntity(sqlBuilder, ciDbLinkDefineEntity); if (UserInfo != null) { sqlBuilder.SetValue(CiDbLinkDefineTable.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(CiDbLinkDefineTable.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(CiDbLinkDefineTable.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(CiDbLinkDefineTable.FieldModifiedBy, UserInfo.RealName); sqlBuilder.SetValue(CiDbLinkDefineTable.FieldModifiedUserId, UserInfo.Id); } sqlBuilder.SetDBNow(CiDbLinkDefineTable.FieldModifiedOn); if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 更新 /// </summary> /// <param name="ciDbLinkDefineEntity">实体</param> public int Update(CiDbLinkDefineEntity ciDbLinkDefineEntity) { return(this.UpdateEntity(ciDbLinkDefineEntity)); }
/// <summary> /// 添加 /// </summary> /// <param name="ciDbLinkDefineEntity">实体</param> /// <param name="identity">自增量方式</param> /// <param name="returnId">返回主键</param> /// <returns>主键</returns> public string Add(CiDbLinkDefineEntity ciDbLinkDefineEntity, bool identity, bool returnId) { this.Identity = identity; this.ReturnId = returnId; return(this.AddEntity(ciDbLinkDefineEntity)); }