/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseDepartmentEntity entity) { string sequence = string.Empty; if (!entity.SortCode.HasValue) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.Increment(this.CurrentTableName); entity.SortCode = int.Parse(sequence); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseDepartmentEntity.FieldId); if (entity.Id.HasValue || !this.Identity) { sqlBuilder.SetValue(BaseDepartmentEntity.FieldId, entity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseDepartmentEntity.FieldId, "SEQ_" + BaseDepartmentEntity.TableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseDepartmentEntity.FieldId, "NEXT VALUE FOR SEQ_" + BaseDepartmentEntity.TableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (entity.Id == null) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.Increment(BaseDepartmentEntity.TableName); } entity.Id = int.Parse(sequence); } sqlBuilder.SetValue(BaseDepartmentEntity.FieldId, entity.Id); } } } this.SetObject(sqlBuilder, entity); // 创建人信息 if (!string.IsNullOrEmpty(entity.CreateUserId)) { sqlBuilder.SetValue(BaseDepartmentEntity.FieldCreateUserId, entity.CreateUserId); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseDepartmentEntity.FieldCreateUserId, UserInfo.Id); } } if (!string.IsNullOrEmpty(entity.CreateBy)) { sqlBuilder.SetValue(BaseDepartmentEntity.FieldCreateBy, entity.CreateBy); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseDepartmentEntity.FieldCreateBy, UserInfo.RealName); } } if (entity.CreateOn.HasValue) { sqlBuilder.SetValue(BaseDepartmentEntity.FieldCreateOn, entity.CreateOn); } else { sqlBuilder.SetDBNow(BaseDepartmentEntity.FieldCreateOn); } // 修改人信息 if (!string.IsNullOrEmpty(entity.ModifiedUserId)) { sqlBuilder.SetValue(BaseDepartmentEntity.FieldModifiedUserId, entity.ModifiedUserId); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseDepartmentEntity.FieldModifiedUserId, UserInfo.Id); } } if (!string.IsNullOrEmpty(entity.ModifiedBy)) { sqlBuilder.SetValue(BaseDepartmentEntity.FieldModifiedBy, entity.ModifiedBy); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseDepartmentEntity.FieldModifiedBy, UserInfo.RealName); } } if (entity.ModifiedOn.HasValue) { sqlBuilder.SetValue(BaseDepartmentEntity.FieldModifiedOn, entity.ModifiedOn); } else { sqlBuilder.SetDBNow(BaseDepartmentEntity.FieldModifiedOn); } if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 添加实体 /// </summary> /// <param name="baseMessageEntity">实体</param> public string AddEntity(BaseMessageEntity baseMessageEntity) { string sequence = string.Empty; this.Identity = false; if (baseMessageEntity.SortCode == null || baseMessageEntity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); baseMessageEntity.SortCode = int.Parse(sequence); } if (baseMessageEntity.Id != null) { sequence = baseMessageEntity.Id.ToString(); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseMessageEntity.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(baseMessageEntity.Id)) { sequence = BaseBusinessLogic.NewGuid(); baseMessageEntity.Id = sequence; } sqlBuilder.SetValue(BaseMessageEntity.FieldId, baseMessageEntity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseMessageEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseMessageEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (string.IsNullOrEmpty(baseMessageEntity.Id)) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } baseMessageEntity.Id = sequence; } sqlBuilder.SetValue(BaseMessageEntity.FieldId, baseMessageEntity.Id); } } } this.SetEntity(sqlBuilder, baseMessageEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseMessageEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseMessageEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseMessageEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseMessageEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseMessageEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseMessageEntity.FieldModifiedOn); if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 添加实体 /// </summary> /// <param name="workFlowActivityEntity">实体</param> public string AddEntity(BaseWorkFlowActivityEntity workFlowActivityEntity) { string sequence = string.Empty; if (workFlowActivityEntity.SortCode == null || workFlowActivityEntity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); workFlowActivityEntity.SortCode = int.Parse(sequence); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseWorkFlowActivityEntity.FieldId); if (!this.Identity) { sqlBuilder.SetValue(BaseWorkFlowActivityEntity.FieldId, workFlowActivityEntity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseWorkFlowActivityEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseWorkFlowActivityEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (workFlowActivityEntity.Id == null) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } workFlowActivityEntity.Id = int.Parse(sequence); } sqlBuilder.SetValue(BaseWorkFlowActivityEntity.FieldId, workFlowActivityEntity.Id); } } } this.SetEntity(sqlBuilder, workFlowActivityEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseWorkFlowActivityEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseWorkFlowActivityEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseWorkFlowActivityEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseWorkFlowActivityEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseWorkFlowActivityEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseWorkFlowActivityEntity.FieldModifiedOn); if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseContactDetailsEntity entity) { string sequence = string.Empty; sequence = entity.Id; if (entity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.Increment(this.CurrentTableName); entity.SortCode = int.Parse(sequence); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(BaseContactDetailsEntity.TableName, BaseContactDetailsEntity.FieldId); if (entity.Id is string) { this.Identity = false; } if (!this.Identity) { sqlBuilder.SetValue(BaseContactDetailsEntity.FieldId, entity.Id); } else { if (!this.ReturnId && DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseContactDetailsEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } else { if (this.Identity && DbHelper.CurrentDbType == CurrentDbType.Oracle) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.Increment(this.CurrentTableName); } entity.Id = sequence; sqlBuilder.SetValue(BaseContactDetailsEntity.FieldId, entity.Id); } } } this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseContactDetailsEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseContactDetailsEntity.FieldCreateBy, UserInfo.Realname); } sqlBuilder.SetDBNow(BaseContactDetailsEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseContactDetailsEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseContactDetailsEntity.FieldModifiedBy, UserInfo.Realname); } sqlBuilder.SetDBNow(BaseContactDetailsEntity.FieldModifiedOn); if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseRoleOrganizeEntity entity) { string result = string.Empty; SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseRoleOrganizeEntity.FieldId); if (!this.Identity) { sqlBuilder.SetValue(BaseRoleOrganizeEntity.FieldId, entity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseRoleOrganizeEntity.FieldId, "SEQ_" + BaseRoleEntity.TableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseRoleOrganizeEntity.FieldId, "NEXT VALUE FOR SEQ_" + BaseRoleEntity.TableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (entity.Id == null) { if (string.IsNullOrEmpty(result)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); result = sequenceManager.Increment(BaseRoleEntity.TableName); } entity.Id = int.Parse(result); } sqlBuilder.SetValue(BaseRoleOrganizeEntity.FieldId, entity.Id); } } } this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseRoleOrganizeEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseRoleOrganizeEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseRoleOrganizeEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseRoleOrganizeEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseRoleOrganizeEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseRoleOrganizeEntity.FieldModifiedOn); if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { result = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(result); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseUserExpressEntity entity) { string key = string.Empty; if (entity != null) { key = entity.Id.ToString(); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, this.PrimaryKey); if (!this.Identity) { // 这里已经是指定了主键了,所以不需要返回主键了 sqlBuilder.ReturnId = false; sqlBuilder.SetValue(this.PrimaryKey, entity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(this.PrimaryKey, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(this.PrimaryKey, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper); entity.Id = int.Parse(sequenceManager.Increment(this.CurrentTableName)); sqlBuilder.SetValue(this.PrimaryKey, entity.Id); } } } this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseUserExpressEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseUserExpressEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseUserExpressEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseUserExpressEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseUserExpressEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseUserExpressEntity.FieldModifiedOn); if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access)) { key = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { return(entity.Id.ToString()); } return(key); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(HRCheckInEntity entity) { string key = string.Empty; if (string.IsNullOrEmpty(entity.Id)) { entity.Id = System.Guid.NewGuid().ToString("N"); } key = entity.Id; SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, this.PrimaryKey); if (!string.IsNullOrEmpty(entity.Id)) { // 这里已经是指定了主键了,所以不需要返回主键了 sqlBuilder.ReturnId = false; sqlBuilder.SetValue(this.PrimaryKey, entity.Id); } else { if ((DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(this.PrimaryKey, "SEQ_BASE_LOGINLOG.NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(this.PrimaryKey, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { entity.Id = System.Guid.NewGuid().ToString("N"); sqlBuilder.SetValue(this.PrimaryKey, entity.Id); } } this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(HRCheckInEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(HRCheckInEntity.FieldCreateBy, UserInfo.RealName); sqlBuilder.SetValue(HRCheckInEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(HRCheckInEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(HRCheckInEntity.FieldCreateOn); sqlBuilder.SetDBNow(HRCheckInEntity.FieldModifiedOn); if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access)) { key = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { return(entity.Id.ToString()); } return(key); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseModuleEntity entity) { string result = string.Empty; if (entity.SortCode == null || entity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); result = sequenceManager.Increment(BaseModuleEntity.TableName); entity.SortCode = int.Parse(result); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseModuleEntity.FieldId); // 若是非空主键,表明已经指定了主键了 if (!string.IsNullOrEmpty(entity.Id)) { // 这里已经是指定了主键了,所以不需要返回主键了 sqlBuilder.SetValue(BaseModuleEntity.FieldId, entity.Id); result = entity.Id; } else { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { // 2015-12-23 吉日嘎拉 这里需要兼容一下以前的老的数据结构 sqlBuilder.SetFormula(this.PrimaryKey, "SEQ_" + BaseModuleEntity.TableName.ToUpper() + ".NEXTVAL "); } else { entity.Id = Guid.NewGuid().ToString("N"); result = entity.Id; sqlBuilder.SetValue(BaseModuleEntity.FieldId, entity.Id); } } this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseModuleEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseModuleEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseModuleEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseModuleEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseModuleEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseModuleEntity.FieldModifiedOn); if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access)) { result = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(result); }
/// <summary> /// 添加实体 /// </summary> /// <param name="fileEntity">实体</param> public string AddEntity(BaseFileEntity fileEntity) { string sequence = string.Empty; sequence = fileEntity.Id; if (fileEntity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); fileEntity.SortCode = int.Parse(sequence); } if (fileEntity.Id is string) { this.Identity = false; } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseFileEntity.FieldId); if (!this.Identity) { sqlBuilder.SetValue(BaseFileEntity.FieldId, fileEntity.Id); } else { if (!this.ReturnId && DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseFileEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } else { if (this.Identity && DbHelper.CurrentDbType == CurrentDbType.Oracle) { if (string.IsNullOrEmpty(fileEntity.Id)) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } fileEntity.Id = sequence; } sqlBuilder.SetValue(BaseFileEntity.FieldId, fileEntity.Id); } } } this.SetEntity(sqlBuilder, fileEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseFileEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseFileEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseFileEntity.FieldCreateOn); // 这里主要是为了列表里的数据库更好看 sqlBuilder.SetValue(BaseFileEntity.FieldModifiedUserId, fileEntity.ModifiedUserId); sqlBuilder.SetValue(BaseFileEntity.FieldModifiedBy, fileEntity.ModifiedBy); sqlBuilder.SetValue(BaseFileEntity.FieldModifiedOn, fileEntity.ModifiedOn); if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseSequenceEntity entity) { string sequence = string.Empty; this.Identity = false; if (entity.Id != null) { sequence = entity.Id.ToString(); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseSequenceEntity.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(entity.Id)) { sequence = Guid.NewGuid().ToString("N"); entity.Id = sequence; } sqlBuilder.SetValue(BaseSequenceEntity.FieldId, entity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseSequenceEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseSequenceEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (string.IsNullOrEmpty(entity.Id)) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.Increment(this.CurrentTableName); } entity.Id = sequence; } sqlBuilder.SetValue(BaseSequenceEntity.FieldId, entity.Id); } } } this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseSequenceEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseSequenceEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseSequenceEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseSequenceEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseSequenceEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseSequenceEntity.FieldModifiedOn); if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
// // 授予权限的实现部分 // #region public string Grant(string systemCode, string userId, string permissionId, bool chekExists = true) 为了提高授权的运行速度 /// <summary> /// 为了提高授权的运行速度 /// </summary> /// <param name="systemCode">系统编号</param> /// <param name="userId">用户主键</param> /// <param name="result">权限主键</param> /// <param name="chekExists">判断是否存在</param> /// <returns>主键</returns> public string Grant(string systemCode, string userId, string permissionId, bool chekExists = true) { string result = string.Empty; if (String.IsNullOrEmpty(userId) && String.IsNullOrEmpty(permissionId)) { return(result); } this.CurrentTableName = systemCode + "Permission"; string currentId = string.Empty; // 判断是否已经存在这个权限,若已经存在就不重复增加了 if (chekExists) { List <KeyValuePair <string, object> > whereParameters = new List <KeyValuePair <string, object> >(); whereParameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceCategory, BaseUserEntity.TableName)); whereParameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceId, userId)); whereParameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldPermissionId, permissionId)); currentId = this.GetId(whereParameters); if (!string.IsNullOrEmpty(currentId)) { List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldEnabled, 1)); parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldDeletionStateCode, 0)); parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldModifiedUserId, this.UserInfo.Id)); parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldModifiedBy, this.UserInfo.RealName)); parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldModifiedOn, DateTime.Now)); // 更新状态,设置为有效、并取消删除标志,权限也不是天天变动的,所以可以更新一下 this.SetProperty(currentId, parameters); result = currentId; } } if (string.IsNullOrEmpty(currentId)) { BasePermissionEntity permissionEntity = new BasePermissionEntity(); permissionEntity.ResourceCategory = BaseUserEntity.TableName; permissionEntity.ResourceId = userId; permissionEntity.PermissionId = permissionId; permissionEntity.Enabled = 1; // 2015-07-03 吉日嘎拉 若是没有公司相关的信息,就把公司区分出来,每个公司可以看每个公司的数据 if (string.IsNullOrEmpty(permissionEntity.CompanyId)) { BaseUserEntity entity = BaseUserManager.GetObjectByCache(userId); if (entity != null) { permissionEntity.CompanyId = entity.CompanyId; permissionEntity.CompanyName = entity.CompanyName; } } BasePermissionManager permissionManager = new BasePermissionManager(DbHelper, UserInfo, this.CurrentTableName); result = permissionManager.Add(permissionEntity); } // 2015-09-21 吉日嘎拉 这里增加变更日志 string tableName = systemCode + ".Permission.User"; SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper); sqlBuilder.BeginInsert(BaseModifyRecordEntity.TableName); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldTableCode, tableName); if (this.DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseModifyRecordEntity.FieldId, "SEQ_" + BaseModifyRecordEntity.TableName + ".NEXTVAL"); } sqlBuilder.SetValue(BaseModifyRecordEntity.FieldRecordKey, userId); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldColumnCode, "授权"); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldColumnDescription, BaseModuleManager.GetNameByCache(systemCode, permissionId)); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldOldValue, null); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldNewValue, permissionId); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldCreateUserId, this.UserInfo.Id); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldCreateBy, this.UserInfo.RealName); sqlBuilder.SetDBNow(BaseModifyRecordEntity.FieldCreateOn); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldIPAddress, this.UserInfo.IPAddress); sqlBuilder.EndInsert(); return(result); }