/// <summary> /// 添加 /// </summary> /// <param name="queryEngineEntity">实体</param> /// <param name="statusCode">返回代码</param> /// <returns>主键</returns> public string Add(QueryEngineEntity queryEngineEntity, out string statusCode) { string returnValue = this.AddEntity(queryEngineEntity); statusCode = !string.IsNullOrEmpty(returnValue) ? StatusCode.OKAdd.ToString() : StatusCode.Error.ToString(); return(returnValue); }
/// <summary> /// 得到查询引擎主表实体 /// </summary> /// <param name="userInfo">用户</param> /// <param name="id">主鍵</param> /// <returns>实体</returns> public QueryEngineEntity GetQueryEngineEntity(UserInfo userInfo, string id) { QueryEngineEntity entity = null; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.QueryEnginService_GetEntity); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { entity = new QueryEngineManager(dbProvider, userInfo).GetEntity(id); }); return(entity); }
/// <summary> /// 设置实体 /// </summary> /// <param name="sqlBuilder">sql语句生成器</param> /// <param name="queryEngineEntity">实体</param> private void SetEntity(SQLBuilder sqlBuilder, QueryEngineEntity queryEngineEntity) { sqlBuilder.SetValue(QueryEngineTable.FieldParentId, queryEngineEntity.ParentId); sqlBuilder.SetValue(QueryEngineTable.FieldCode, queryEngineEntity.Code); sqlBuilder.SetValue(QueryEngineTable.FieldFullName, queryEngineEntity.FullName); sqlBuilder.SetValue(QueryEngineTable.FieldAllowEdit, queryEngineEntity.AllowEdit); sqlBuilder.SetValue(QueryEngineTable.FieldAllowDelete, queryEngineEntity.AllowDelete); sqlBuilder.SetValue(QueryEngineTable.FieldDeleteMark, queryEngineEntity.DeleteMark); sqlBuilder.SetValue(QueryEngineTable.FieldDescription, queryEngineEntity.Description); sqlBuilder.SetValue(QueryEngineTable.FieldEnabled, queryEngineEntity.Enabled); sqlBuilder.SetValue(QueryEngineTable.FieldSortCode, queryEngineEntity.SortCode); }
/// <summary> /// 更新查询引擎主表 /// </summary> /// <param name="userInfo">用户</param> /// <param name="entity">查询引擎主表实体</param> /// <param name="statusCode">返回状态码</param> /// <param name="statusMessage">返回状态信息</param> /// <returns>影响行数</returns> public int UpdateQueryEngine(UserInfo userInfo, QueryEngineEntity entity, out string statusCode, out string statusMessage) { int returnValue = 0; string returnCode = string.Empty; string returnMessage = string.Empty; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.QueryEnginService_Update); ServiceUtil.ProcessRDIWriteDb(userInfo, parameter, dbProvider => { var manager = new QueryEngineManager(dbProvider, userInfo); returnValue = manager.UpdateEntity(entity, out returnCode); returnMessage = manager.GetStateMessage(returnCode); }); statusCode = returnCode; statusMessage = returnMessage; return(returnValue); }
/// <summary> /// 更新实体 /// </summary> /// <param name="queryEngineEntity">实体</param> /// <param name="statusCode">返回代码</param> /// <returns>受影响的行数</returns> public int UpdateEntity(QueryEngineEntity queryEngineEntity, out string statusCode) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, queryEngineEntity); if (UserInfo != null) { sqlBuilder.SetValue(QueryEngineTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(QueryEngineTable.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(QueryEngineTable.FieldModifiedOn); sqlBuilder.SetWhere(QueryEngineTable.FieldId, queryEngineEntity.Id); int returnValue = sqlBuilder.EndUpdate(); statusCode = returnValue == 1 ? StatusCode.OKUpdate.ToString() : StatusCode.ErrorDeleted.ToString(); return(returnValue); }
/// <summary> /// 添加实体 /// </summary> /// <param name="queryEngineEntity">实体</param> public string AddEntity(QueryEngineEntity queryEngineEntity) { string sequence = string.Empty; this.Identity = false; if (queryEngineEntity.SortCode == null || queryEngineEntity.SortCode == 0) { CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); queryEngineEntity.SortCode = int.Parse(sequence); } if (queryEngineEntity.Id != null) { sequence = queryEngineEntity.Id.ToString(); } SQLBuilder sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, QueryEngineTable.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(queryEngineEntity.Id)) { sequence = BusinessLogic.NewGuid(); queryEngineEntity.Id = sequence; } sqlBuilder.SetValue(QueryEngineTable.FieldId, queryEngineEntity.Id); } else { if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(QueryEngineTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DBProvider.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(QueryEngineTable.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (string.IsNullOrEmpty(queryEngineEntity.Id)) { if (string.IsNullOrEmpty(sequence)) { CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } queryEngineEntity.Id = sequence; } sqlBuilder.SetValue(QueryEngineTable.FieldId, queryEngineEntity.Id); } } } this.SetEntity(sqlBuilder, queryEngineEntity); if (UserInfo != null) { sqlBuilder.SetValue(QueryEngineTable.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(QueryEngineTable.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(QueryEngineTable.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(QueryEngineTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(QueryEngineTable.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(QueryEngineTable.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="id">主键</param> public QueryEngineEntity GetEntity(string id) { QueryEngineEntity queryEngineEntity = BaseEntity.Create <QueryEngineEntity>(this.GetDT(new KeyValuePair <string, object>(QueryEngineTable.FieldId, id))); return(queryEngineEntity); }
/// <summary> /// 更新 /// </summary> /// <param name="queryEngineEntity">实体</param> public int Update(QueryEngineEntity queryEngineEntity) { return(this.UpdateEntity(queryEngineEntity)); }
/// <summary> /// 添加 /// </summary> /// <param name="queryEngineEntity">实体</param> /// <param name="identity">自增量方式</param> /// <param name="returnId">返回主键</param> /// <returns>主键</returns> public string Add(QueryEngineEntity queryEngineEntity, bool identity, bool returnId) { this.Identity = identity; this.ReturnId = returnId; return(this.AddEntity(queryEngineEntity)); }