/// <summary> /// 添加实体 /// </summary> /// <param name="ciSequenceEntity">实体</param> public string AddEntity(CiSequenceEntity ciSequenceEntity) { string sequence = string.Empty; this.Identity = false; SQLBuilder sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, CiSequenceTable.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(ciSequenceEntity.Id)) { sequence = BusinessLogic.NewGuid(); ciSequenceEntity.Id = sequence; } sqlBuilder.SetValue(CiSequenceTable.FieldId, ciSequenceEntity.Id); } else { if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(CiSequenceTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DBProvider.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(CiSequenceTable.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (string.IsNullOrEmpty(ciSequenceEntity.Id.ToString())) { if (string.IsNullOrEmpty(sequence)) { CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } ciSequenceEntity.Id = sequence; } sqlBuilder.SetValue(CiSequenceTable.FieldId, ciSequenceEntity.Id); } } } this.SetEntity(sqlBuilder, ciSequenceEntity); sqlBuilder.SetDBNow(CiSequenceTable.FieldCreateOn); if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 逻辑删除序列 /// </summary> /// <param name="userInfo">用户</param> /// <param name="id">主键</param> /// <returns>影响行数</returns> public int SetDeleted(UserInfo userInfo, string id) { int returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.SequenceService_Delete); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { returnValue = new CiSequenceManager(dbProvider).SetDeleted(id); }); return(returnValue); }
/// <summary> /// 获取新序列号 /// </summary> /// <param name="userInfo">用户</param> /// <param name="fullName">序列名称</param> /// <param name="defaultSequence">默认序列</param> /// <param name="sequenceLength">序列长度</param> /// <param name="fillZeroPrefix">是否填充补零</param> /// <returns>序列号</returns> public string GetNewSequence(UserInfo userInfo, string fullName, int defaultSequence, int sequenceLength, bool fillZeroPrefix) { string returnValue = string.Empty; var parameter = ParameterUtil.CreateWithLog(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessRDIWriteDbWithLock(userInfo, parameter, Lock, dbProvider => { returnValue = new CiSequenceManager(dbProvider).GetSequence(fullName, defaultSequence, sequenceLength, fillZeroPrefix); }); return(returnValue); }
/// <summary> /// 获取实体 /// </summary> /// <param name="userInfo">用户</param> /// <param name="id">主键</param> /// <returns>实体</returns> public CiSequenceEntity GetEntity(UserInfo userInfo, string id) { CiSequenceEntity sequenceEntity = null; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.SequenceService_GetEntity); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { sequenceEntity = new CiSequenceManager(dbProvider, userInfo).GetEntity(id); }); return(sequenceEntity); }
/// <summary> /// 添加实体 /// </summary> /// <param name="testdemoEntity">实体</param> public string AddEntity(testdemoEntity testdemoEntity) { string sequence = string.Empty; SQLBuilder sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, testdemoTable.FieldID); if (!this.Identity) { sqlBuilder.SetValue(testdemoTable.FieldID, testdemoEntity.ID); } else { if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(testdemoTable.FieldID, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DBProvider.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(testdemoTable.FieldID, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (testdemoEntity.ID == null) { if (string.IsNullOrEmpty(sequence)) { CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } testdemoEntity.ID = int.Parse(sequence); } sqlBuilder.SetValue(testdemoTable.FieldID, testdemoEntity.ID); } } } this.SetEntity(sqlBuilder, testdemoEntity); if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 获取序列号列表 /// </summary> /// <param name="userInfo">用户</param> /// <returns>数据表</returns> public DataTable GetDT(UserInfo userInfo) { var dataTable = new DataTable(CiSequenceTable.TableName); var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.SequenceService_GetDT); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var sequenceManager = new CiSequenceManager(dbProvider); dataTable = sequenceManager.GetDT(); dataTable.TableName = CiSequenceTable.TableName; }); return(dataTable); }
public int Grant(string[] userIds, string permissionItemId) { int returnValue = 0; CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider); string[] sequenceIds = sequenceManager.GetBatchSequence(PiPermissionTable.TableName, userIds.Length); PiPermissionManager permissionManager = new PiPermissionManager(DBProvider, UserInfo); for (int i = 0; i < userIds.Length; i++) { this.Grant(permissionManager, sequenceIds[i], userIds[i], permissionItemId); returnValue++; } return(returnValue); }
/// <summary> /// 重置排序码 /// </summary> public override int ResetSortCode() { int returnValue = 0; DataTable dataTable = this.GetDT(); string id = string.Empty; string sortCode = string.Empty; foreach (DataRow dataRow in dataTable.Rows) { id = dataRow[PiStaffTable.FieldId].ToString(); CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider); sortCode = sequenceManager.GetSequence(PiStaffTable.TableName); returnValue += this.SetProperty(id, PiStaffTable.FieldSortCode, sortCode); } return(returnValue); }
/// <summary> /// 添加序列 /// </summary> /// <param name="userInfo">用户</param> /// <param name="sequenceEntity">序列实体</param> /// <param name="statusCode">状态码</param> /// <param name="statusMessage">状态信息</param> /// <returns>主键</returns> public string Add(UserInfo userInfo, CiSequenceEntity sequenceEntity, out string statusCode, out string statusMessage) { string returnValue = string.Empty; string returnCode = string.Empty; string returnMessage = string.Empty; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.SequenceService_Add); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var sequenceManager = new CiSequenceManager(dbProvider, userInfo); returnValue = sequenceManager.Add(sequenceEntity, out returnCode); returnMessage = sequenceManager.GetStateMessage(returnCode); }); statusCode = returnCode; statusMessage = returnMessage; return(returnValue); }
/// <summary> /// 重置排序码 /// </summary> /// <param name="parentId">父节点主键</param> public int ResetSortCode(string parentId) { int returnValue = 0; DataTable dataTable = this.GetDTByParent(parentId); string id = string.Empty; CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider); string[] sortCode = sequenceManager.GetBatchSequence(PiModuleTable.TableName, dataTable.Rows.Count); int i = 0; foreach (DataRow dataRow in dataTable.Rows) { id = dataRow[PiModuleTable.FieldId].ToString(); returnValue += this.SetProperty(id, PiModuleTable.FieldSortCode, sortCode[i]); i++; } return(returnValue); }
/// <summary> /// 重置排序码 /// </summary> /// <param name="organizeId">组织机构主键</param> /// <returns>大于0成功</returns> public int ResetSortCode(string organizeId) { int result = 0; var dt = this.GetDT(); string id = string.Empty; var sequenceManager = new CiSequenceManager(DBProvider); string[] sortCode = sequenceManager.GetBatchSequence(PiRoleTable.TableName, dt.Rows.Count); int i = 0; foreach (DataRow dr in dt.Rows) { id = dr[PiRoleTable.FieldId].ToString(); result += this.SetProperty(id, PiRoleTable.FieldSortCode, sortCode[i]); i++; } return(result); }
/// <summary> /// Add 添加的主键 /// </summary> /// <param name="folderEntity">文件夹对象</param> /// <returns>主键</returns> public string AddEntity(CiFolderEntity folderEntity) { var sequence = string.Empty; if (folderEntity.SortCode == null || folderEntity.SortCode == 0) { var sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName, sequenceManager.DefaultSequence); folderEntity.SortCode = BusinessLogic.ConvertToNullableInt32(sequence); } this.Identity = false; var sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(CiFolderTable.TableName, CiFolderTable.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(folderEntity.Id)) { sequence = BusinessLogic.NewGuid(); folderEntity.Id = sequence; } sqlBuilder.SetValue(CiFolderTable.FieldId, folderEntity.Id); } this.SetEntity(sqlBuilder, folderEntity); sqlBuilder.SetValue(CiFolderTable.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(CiFolderTable.FieldCreateBy, UserInfo.RealName); sqlBuilder.SetDBNow(CiFolderTable.FieldCreateOn); sqlBuilder.SetValue(CiFolderTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(CiFolderTable.FieldModifiedBy, UserInfo.RealName); sqlBuilder.SetDBNow(CiFolderTable.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="userInfo">用户</param> /// <param name="recordCount">所有角色数</param> /// <param name="pageIndex">当前页</param> /// <param name="pageSize">分页大小(默认20条)</param> /// <param name="whereConditional">条件表达式</param> /// <param name="order">排序字段</param> /// <returns>数据表</returns> public DataTable GetDTByPage(UserInfo userInfo, out int recordCount, int pageIndex = 1, int pageSize = 20, string whereConditional = "", string order = "") { var dataTable = new DataTable(CiSequenceTable.TableName); var returnRecordCount = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.SequenceService_GetDT); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var manager = new CiSequenceManager(dbProvider, userInfo); if (string.IsNullOrEmpty(whereConditional)) { whereConditional = CiSequenceTable.FieldDeleteMark + " = 0 "; } else { whereConditional += " AND " + CiSequenceTable.FieldDeleteMark + " = 0 "; } dataTable = manager.GetDTByPage(out returnRecordCount, pageIndex, pageSize, whereConditional, order); dataTable.TableName = CiSequenceTable.TableName; }); recordCount = returnRecordCount; return(dataTable); }
/// <summary> /// 添加实体 /// </summary> /// <param name="workFlowEventEntity">实体</param> public string AddEntity(WorkFlowEventEntity workFlowEventEntity) { string sequence = string.Empty; this.Identity = false; if (!string.IsNullOrEmpty(workFlowEventEntity.Guid)) { sequence = workFlowEventEntity.Guid.ToString(CultureInfo.InvariantCulture); } SQLBuilder sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, WorkFlowEventTable.FieldGuid); if (!this.Identity) { if (string.IsNullOrEmpty(workFlowEventEntity.Guid)) { sequence = BusinessLogic.NewGuid(); workFlowEventEntity.Guid = sequence; } sqlBuilder.SetValue(WorkFlowEventTable.FieldGuid, workFlowEventEntity.Guid); } else { if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(WorkFlowEventTable.FieldGuid, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DBProvider.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(WorkFlowEventTable.FieldGuid, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (string.IsNullOrEmpty(workFlowEventEntity.Guid)) { if (string.IsNullOrEmpty(sequence)) { CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } workFlowEventEntity.Guid = sequence; } sqlBuilder.SetValue(WorkFlowEventTable.FieldGuid, workFlowEventEntity.Guid); } } } this.SetEntity(sqlBuilder, workFlowEventEntity); if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access)) { sequence = sqlBuilder.EndInsert().ToString(CultureInfo.InvariantCulture); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddEntity(CiItemsEntity entity) { var sequence = string.Empty; if (string.IsNullOrEmpty(entity.SortCode.ToString()) || entity.SortCode == 0) { var sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); entity.SortCode = int.Parse(sequence); } this.Identity = false; var sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, CiItemsTable.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(entity.Id)) { sequence = BusinessLogic.NewGuid(); entity.Id = sequence; } sqlBuilder.SetValue(CiItemsTable.FieldId, entity.Id); } else { if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(CiItemsTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DBProvider.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(CiItemsTable.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (string.IsNullOrEmpty(sequence)) { var sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } entity.Id = sequence; sqlBuilder.SetValue(CiItemsTable.FieldId, entity.Id); } } } this.SetEntity(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(CiItemsTable.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(CiItemsTable.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(CiItemsTable.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(CiItemsTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(CiItemsTable.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(CiItemsTable.FieldModifiedOn); if (DBProvider.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 添加实体 /// </summary> /// <param name="piPlatFormAddInEntity">实体</param> public string AddEntity(PiPlatFormAddInEntity piPlatFormAddInEntity) { string sequence = string.Empty; this.Identity = false; SQLBuilder sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, PiPlatFormAddInTable.FieldId); if (!this.Identity) { if (String.IsNullOrEmpty(piPlatFormAddInEntity.Id)) { sequence = BusinessLogic.NewGuid(); piPlatFormAddInEntity.Id = sequence; } sqlBuilder.SetValue(PiPlatFormAddInTable.FieldId, piPlatFormAddInEntity.Id); } else { if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(PiPlatFormAddInTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DBProvider.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(PiPlatFormAddInTable.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (piPlatFormAddInEntity.Id == null) { if (string.IsNullOrEmpty(sequence)) { CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } piPlatFormAddInEntity.Id = sequence; } sqlBuilder.SetValue(PiPlatFormAddInTable.FieldId, piPlatFormAddInEntity.Id); } } } this.SetEntity(sqlBuilder, piPlatFormAddInEntity); if (UserInfo != null) { sqlBuilder.SetValue(PiPlatFormAddInTable.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(PiPlatFormAddInTable.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(PiPlatFormAddInTable.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(PiPlatFormAddInTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(PiPlatFormAddInTable.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(PiPlatFormAddInTable.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="dbProvider">数据库连接</param> /// <param name="userInfo">用户</param> /// <param name="fullName">序列名称</param> /// <param name="count">个数</param> /// <returns>序列号</returns> public string[] GetBatchSequence(IDbProvider dbProvider, UserInfo userInfo, string fullName, int count) { var sequenceManager = new CiSequenceManager(dbProvider); return(sequenceManager.GetBatchSequence(fullName, count)); }
/// <summary> /// 获取倒序序列号 /// </summary> /// <param name="dbProvider">数据库连接</param> /// <param name="userInfo">用户</param> /// <param name="fullName">序列名称</param> /// <returns>序列号</returns> public string GetReduction(IDbProvider dbProvider, UserInfo userInfo, string fullName) { var sequenceManager = new CiSequenceManager(dbProvider); return(sequenceManager.GetReduction(fullName)); }
/// <summary> /// 添加实体 /// </summary> /// <param name="subWorkFlowEntity">实体</param> public string AddEntity(SubWorkFlowEntity subWorkFlowEntity) { var sequence = string.Empty; this.Identity = false; if (subWorkFlowEntity.SubId != null) { sequence = subWorkFlowEntity.SubId.ToString(); } var sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, SubWorkFlowTable.FieldSubId); if (!this.Identity) { if (string.IsNullOrEmpty(subWorkFlowEntity.SubId)) { sequence = BusinessLogic.NewGuid(); subWorkFlowEntity.SubId = sequence; } sqlBuilder.SetValue(SubWorkFlowTable.FieldSubId, subWorkFlowEntity.SubId); } else { if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(SubWorkFlowTable.FieldSubId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DBProvider.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(SubWorkFlowTable.FieldSubId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (string.IsNullOrEmpty(subWorkFlowEntity.SubId)) { if (string.IsNullOrEmpty(sequence)) { var sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } subWorkFlowEntity.SubId = sequence; } sqlBuilder.SetValue(SubWorkFlowTable.FieldSubId, subWorkFlowEntity.SubId); } } } this.SetEntity(sqlBuilder, subWorkFlowEntity); if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 添加实体 /// </summary> /// <param name="workTaskInsNextOperEntity">实体</param> public string AddEntity(WorkTaskInsNextOperEntity workTaskInsNextOperEntity) { var sequence = string.Empty; this.Identity = false; if (!string.IsNullOrEmpty(workTaskInsNextOperEntity.NextOperId)) { sequence = workTaskInsNextOperEntity.NextOperId.ToString(); } var sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, WorkTaskInsNextOperTable.FieldNextOperId); if (!this.Identity) { if (string.IsNullOrEmpty(workTaskInsNextOperEntity.NextOperId)) { sequence = BusinessLogic.NewGuid(); workTaskInsNextOperEntity.NextOperId = sequence; } sqlBuilder.SetValue(WorkTaskInsNextOperTable.FieldNextOperId, workTaskInsNextOperEntity.NextOperId); } else { if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(WorkTaskInsNextOperTable.FieldNextOperId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DBProvider.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(WorkTaskInsNextOperTable.FieldNextOperId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (string.IsNullOrEmpty(workTaskInsNextOperEntity.NextOperId)) { if (string.IsNullOrEmpty(sequence)) { var sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } workTaskInsNextOperEntity.NextOperId = sequence; } sqlBuilder.SetValue(WorkTaskInsNextOperTable.FieldNextOperId, workTaskInsNextOperEntity.NextOperId); } } } this.SetEntity(sqlBuilder, workTaskInsNextOperEntity); if (UserInfo != null) { sqlBuilder.SetValue(WorkTaskInsNextOperTable.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(WorkTaskInsNextOperTable.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(WorkTaskInsNextOperTable.FieldCreateOn); if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 添加实体 /// </summary> /// <param name="piOrganizeEntity">实体</param> public string AddEntity(PiOrganizeEntity piOrganizeEntity, out string statusCode) { string sequence = string.Empty; statusCode = string.Empty; string[] names = new string[] { PiOrganizeTable.FieldParentId, PiOrganizeTable.FieldFullName, PiOrganizeTable.FieldDeleteMark }; object[] values = new object[] { piOrganizeEntity.ParentId, piOrganizeEntity.FullName, piOrganizeEntity.DeleteMark }; if (this.Exists(names, values)) { // 名称已重复 statusCode = StatusCode.ErrorNameExist.ToString(); } else { if (piOrganizeEntity.SortCode == null || piOrganizeEntity.SortCode == 0) { CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName, sequenceManager.DefaultSequence); piOrganizeEntity.SortCode = int.Parse(sequence); } this.Identity = false; SQLBuilder sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, PiOrganizeTable.FieldId); if (!this.Identity) { if (String.IsNullOrEmpty(piOrganizeEntity.Id)) { sequence = BusinessLogic.NewGuid(); piOrganizeEntity.Id = sequence; } sqlBuilder.SetValue(PiOrganizeTable.FieldId, piOrganizeEntity.Id); } else { if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(PiOrganizeTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DBProvider.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(PiOrganizeTable.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (piOrganizeEntity.Id == null) { if (string.IsNullOrEmpty(sequence)) { CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } piOrganizeEntity.Id = sequence; } sqlBuilder.SetValue(PiOrganizeTable.FieldId, piOrganizeEntity.Id); } } } this.SetEntity(sqlBuilder, piOrganizeEntity); //if (UserInfo != null) //{ // sqlBuilder.SetValue(PiOrganizeTable.FieldCreateUserId, UserInfo.Id); // sqlBuilder.SetValue(PiOrganizeTable.FieldCreateBy, UserInfo.RealName); //} sqlBuilder.SetDBNow(PiOrganizeTable.FieldCreateOn); sqlBuilder.SetDBNow(PiOrganizeTable.FieldModifiedOn); if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.SqlServer || DBProvider.CurrentDbType == CurrentDbType.Access)) { sequence = sqlBuilder.EndInsert().ToString(); // 运行成功 statusCode = StatusCode.OKAdd.ToString(); } else { sqlBuilder.EndInsert(); // 运行成功 statusCode = StatusCode.OKAdd.ToString(); } } return(sequence); }
/// <summary> /// 添加实体 /// </summary> /// <param name="userEntity">实体</param> public string AddEntity(PiUserEntity userEntity) { string sequence = string.Empty; if (userEntity.SortCode == 0 || userEntity.SortCode == null) { CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName, sequenceManager.DefaultSequence); userEntity.SortCode = int.Parse(sequence); } userEntity.QuickQuery = StringHelper.ToChineseSpell(userEntity.RealName); this.Identity = false; SQLBuilder sqlBuilder = new SQLBuilder(DBProvider, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, PiUserTable.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(userEntity.Id)) { sequence = BusinessLogic.NewGuid(); userEntity.Id = sequence; } sqlBuilder.SetValue(PiUserTable.FieldId, userEntity.Id); } else { if (!this.ReturnId && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(PiUserTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DBProvider.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(PiUserTable.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DBProvider.CurrentDbType == CurrentDbType.Oracle || DBProvider.CurrentDbType == CurrentDbType.DB2)) { if (userEntity.Id == null) { if (string.IsNullOrEmpty(sequence)) { CiSequenceManager sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } userEntity.Id = sequence; } sqlBuilder.SetValue(PiUserTable.FieldId, userEntity.Id); } } } this.SetEntity(sqlBuilder, userEntity); if (UserInfo != null) { sqlBuilder.SetValue(PiUserTable.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(PiUserTable.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(PiUserTable.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(PiUserTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(PiUserTable.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(PiUserTable.FieldModifiedOn); if (DBProvider.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 添加实体 /// </summary> /// <param name="fileEntity">实体</param> public string AddEntity(CiFileEntity fileEntity) { var sequence = string.Empty; if (fileEntity.SortCode == null || fileEntity.SortCode == 0) { var sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName, sequenceManager.DefaultSequence); fileEntity.SortCode = BusinessLogic.ConvertToNullableInt32(sequence); } this.Identity = false; var sqlBuilder = new SQLBuilder(DBProvider, this.Identity, false); sqlBuilder.BeginInsert(this.CurrentTableName, CiFileTable.FieldId); if (!this.Identity) { if (String.IsNullOrEmpty(fileEntity.Id)) { sequence = BusinessLogic.NewGuid(); fileEntity.Id = sequence; } sqlBuilder.SetValue(CiFileTable.FieldId, fileEntity.Id); } else { if (!this.ReturnId && DBProvider.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(CiFileTable.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } else { if (this.Identity && DBProvider.CurrentDbType == CurrentDbType.Oracle) { if (string.IsNullOrEmpty(fileEntity.Id)) { if (string.IsNullOrEmpty(sequence)) { var sequenceManager = new CiSequenceManager(DBProvider, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } fileEntity.Id = sequence; } sqlBuilder.SetValue(CiFileTable.FieldId, fileEntity.Id); } } } this.SetEntity(sqlBuilder, fileEntity); if (UserInfo != null) { sqlBuilder.SetValue(CiFileTable.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(CiFileTable.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(CiFileTable.FieldCreateOn); /* * if (UserInfo != null) * { * sqlBuilder.SetValue(CiFileTable.FieldModifiedUserId, UserInfo.Id); * sqlBuilder.SetValue(CiFileTable.FieldModifiedBy, UserInfo.RealName); * } * sqlBuilder.SetDBNow(CiFileTable.FieldModifiedOn); */ if (DBProvider.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }