/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseBillPushEntity entity) { string key = string.Empty; if (entity.Id != 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 = sequenceManager.Increment(this.CurrentTableName); sqlBuilder.SetValue(this.PrimaryKey, entity.Id); } } } this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseBillPushEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseBillPushEntity.FieldCreateOn); 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(BaseOrganizeLogOnEntity entity) { string result = string.Empty; if (string.IsNullOrEmpty(entity.Id)) { BaseSequenceManager manager = new BaseSequenceManager(DbHelper, this.Identity); result = manager.Increment(this.CurrentTableName); entity.Id = result; } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseOrganizeLogOnEntity.FieldId); if (!this.Identity) { sqlBuilder.SetValue(BaseOrganizeLogOnEntity.FieldId, entity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseOrganizeLogOnEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseOrganizeLogOnEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.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(this.CurrentTableName); } entity.Id = result; } sqlBuilder.SetValue(BaseOrganizeLogOnEntity.FieldId, entity.Id); } } } this.SetObject(sqlBuilder, entity); sqlBuilder.SetDBNow(BaseOrganizeLogOnEntity.FieldModifiedOn); if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { result = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); result = entity.Id; } return(result); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseUserIdentityAuditEntity entity) { string key = string.Empty; 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 (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()); } //非主键 关联外部ID if (this.ReturnId) { return(entity.Id.ToString()); } return(key); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(TAB_USERPOPEDOMEntity entity) { string key = string.Empty; if (entity.MENU_GUID != null) { key = entity.MENU_GUID.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.MENU_GUID); } 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.MENU_GUID); // } //} } this.SetObject(sqlBuilder, entity); 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(BaseLoginLogEntity entity) { string result = string.Empty; if (string.IsNullOrEmpty(entity.Id)) { entity.Id = System.Guid.NewGuid().ToString("N"); } result = entity.Id.ToString(); 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); sqlBuilder.SetDBNow(BaseLoginLogEntity.FieldCreateOn); if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access)) { result = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { return(entity.Id.ToString()); } return(result); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddEntity(BaseContactTargetEntity entity) { string sequence = string.Empty; sequence = entity.Id; SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(BaseContactTargetEntity.TableName, BaseContactTargetEntity.FieldId); if (entity.Id is string) { this.Identity = false; } if (!this.Identity) { sqlBuilder.SetValue(BaseContactTargetEntity.FieldId, entity.Id); } else { if (!this.ReturnId && DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseContactTargetEntity.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(BaseContactTargetEntity.FieldId, entity.Id); } } } this.SetEntity(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseContactTargetEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseContactTargetEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseContactTargetEntity.FieldCreateOn); if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 添加 /// </summary> /// <param name="workReportEntity">实体</param> /// <returns>主键</returns> private string AddEntity(BaseWorkReportEntity workReportEntity) { string returnValue = string.Empty; BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper); string sequence = sequenceManager.GetSequence(BaseWorkReportTable.TableName); workReportEntity.SortCode = sequence; //获取职员的部门主键和公司主键 BaseStaffManager staffManager = new BaseStaffManager(DbHelper, UserInfo); string CompanyId = staffManager.GetProperty(workReportEntity.StaffId, BaseStaffTable.FieldCompanyId); string DepartmentId = staffManager.GetProperty(workReportEntity.StaffId, BaseStaffTable.FieldDepartmentId); SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginInsert(BaseWorkReportTable.TableName); sqlBuilder.SetValue(BaseWorkReportTable.FieldId, sequence); sqlBuilder.SetValue(BaseWorkReportTable.FieldCompanyId, CompanyId); sqlBuilder.SetValue(BaseWorkReportTable.FieldDepartmentId, DepartmentId); this.SetEntity(sqlBuilder, workReportEntity); sqlBuilder.SetValue(BaseWorkReportTable.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetDBNow(BaseWorkReportTable.FieldCreateOn); returnValue = sqlBuilder.EndInsert() > 0 ? sequence : string.Empty; return(returnValue); }
/// <summary> /// 添加实体 /// </summary> /// <param name="parameterEntity">实体对象</param> /// <returns>主键</returns> public string AddEntity(BaseParameterEntity parameterEntity) { if (string.IsNullOrEmpty(parameterEntity.Id)) { parameterEntity.Id = Guid.NewGuid().ToString(); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginInsert(this.CurrentTableName); sqlBuilder.SetValue(BaseParameterEntity.FieldId, parameterEntity.Id); sqlBuilder.SetValue(BaseParameterEntity.FieldCategoryId, parameterEntity.CategoryId); sqlBuilder.SetValue(BaseParameterEntity.FieldParameterId, parameterEntity.ParameterId); sqlBuilder.SetValue(BaseParameterEntity.FieldParameterCode, parameterEntity.ParameterCode); sqlBuilder.SetValue(BaseParameterEntity.FieldWorked, parameterEntity.Worked ? 1 : 0); sqlBuilder.SetValue(BaseParameterEntity.FieldParameterContent, parameterEntity.ParameterContent); sqlBuilder.SetValue(BaseParameterEntity.FieldEnabled, parameterEntity.Enabled ? 1 : 0); sqlBuilder.SetValue(BaseParameterEntity.FieldDeletionStateCode, parameterEntity.DeletionStateCode); sqlBuilder.SetValue(BaseParameterEntity.FieldDescription, parameterEntity.Description); if (UserInfo != null) { sqlBuilder.SetValue(BaseParameterEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseParameterEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseParameterEntity.FieldCreateOn); return(sqlBuilder.EndInsert() > 0 ? parameterEntity.Id : string.Empty); }
// // 撤销权限的实现部分 // #region private int Revoke(BasePermissionManager permissionManager, string systemCode, string organizeId, string result) 为了提高撤销的运行速度 /// <summary> /// 为了提高撤销的运行速度 /// </summary> /// <param name="permissionManager">资源权限读写器</param> /// <param name="organizeId">组织机构主键</param> /// <param name="result">权限主键</param> /// <returns>影响行数</returns> private int Revoke(BasePermissionManager permissionManager, string systemCode, string organizeId, string permissionId) { int result = 0; List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceCategory, BaseOrganizeEntity.TableName)); parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceId, organizeId)); parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldPermissionId, permissionId)); result = permissionManager.Delete(parameters); // 2015-09-21 吉日嘎拉 这里增加变更日志 string tableName = systemCode + ".Permission.Organize"; SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper); sqlBuilder.BeginInsert(BaseModifyRecordEntity.TableName); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldTableCode, tableName); sqlBuilder.SetFormula(BaseModifyRecordEntity.FieldId, "SEQ_" + BaseModifyRecordEntity.TableName + ".NEXTVAL"); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldRecordKey, organizeId); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldColumnCode, permissionId); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldColumnDescription, BaseModuleManager.GetNameByCache(systemCode, permissionId)); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldOldValue, "1"); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldNewValue, "撤销授权"); 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); }
/// <summary> /// 添加实体 /// </summary> /// <param name="userInfo">操作员</param> /// <param name="entity">实体</param> /// <returns>主键</returns> public string AddEntity(BaseUserInfo userInfo, BaseContactEntity 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); } if (entity.Id is string) { this.Identity = false; this.ReturnId = false; } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(BaseContactEntity.TableName, BaseContactEntity.FieldId); if (!this.Identity) { sqlBuilder.SetValue(BaseContactEntity.FieldId, entity.Id); } this.SetEntity(sqlBuilder, entity); if (userInfo != null) { sqlBuilder.SetValue(BaseContactEntity.FieldCreateUserId, userInfo.Id); sqlBuilder.SetValue(BaseContactEntity.FieldCreateBy, userInfo.RealName); } sqlBuilder.SetDBNow(BaseContactEntity.FieldCreateOn); if (userInfo != null) { sqlBuilder.SetValue(BaseContactEntity.FieldModifiedUserId, userInfo.Id); sqlBuilder.SetValue(BaseContactEntity.FieldModifiedBy, userInfo.RealName); } sqlBuilder.SetDBNow(BaseContactEntity.FieldModifiedOn); if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 离职处理 /// </summary> /// <param name="id">主键</param> /// <returns>影响行数</returns> public int Leave(BaseUserEntity userEntity, BaseUserLogOnEntity userLogOnEntity, string comment) { int result = 0; if (userEntity != null) { // 更新用户实体 this.UpdateObject(userEntity); } // 更新登录信息 if (userLogOnEntity != null) { BaseUserLogOnManager userLogOnManager = new BaseUserLogOnManager(this.UserInfo); userLogOnManager.UpdateObject(userLogOnEntity); } // 填写评论 if (!string.IsNullOrWhiteSpace(comment)) { SQLBuilder sqlBuilder = new SQLBuilder(BaseSystemInfo.ServerDbType); sqlBuilder.BeginInsert(BaseCommentEntity.TableName); sqlBuilder.SetValue(BaseCommentEntity.FieldId, System.Guid.NewGuid().ToString("N")); sqlBuilder.SetValue(BaseCommentEntity.FieldCategoryCode, BaseUserEntity.TableName); sqlBuilder.SetValue(BaseCommentEntity.FieldObjectId, userEntity.Id); sqlBuilder.SetValue(BaseCommentEntity.FieldContents, comment); sqlBuilder.SetValue(BaseCommentEntity.FieldWorked, 1); sqlBuilder.SetValue(BaseCommentEntity.FieldDepartmentId, userEntity.DepartmentId); sqlBuilder.SetValue(BaseCommentEntity.FieldDepartmentName, userEntity.DepartmentName); sqlBuilder.SetValue(BaseCommentEntity.FieldCreateUserId, this.UserInfo.Id); sqlBuilder.SetValue(BaseCommentEntity.FieldCreateBy, this.UserInfo.RealName); sqlBuilder.SetDBNow(BaseCommentEntity.FieldCreateOn); sqlBuilder.SetValue(BaseCommentEntity.FieldIPAddress, this.UserInfo.IPAddress); sqlBuilder.SetValue(BaseCommentEntity.FieldEnabled, 1); sqlBuilder.SetValue(BaseCommentEntity.FieldDeletionStateCode, 0); sqlBuilder.EndInsert(); } // 2016-03-17 吉日嘎拉 停止吉信的号码 if (userEntity != null && !string.IsNullOrEmpty(userEntity.NickName)) { AfterLeaveStopIM(userEntity); } // 2016-03-17 吉日嘎拉 停止吉信的号码 if (userEntity != null && !string.IsNullOrEmpty(userEntity.Id)) { BaseUserContactEntity userContactEntity = BaseUserContactManager.GetObjectByCache(userEntity.Id); { if (userContactEntity != null && !string.IsNullOrEmpty(userContactEntity.CompanyMail)) { ChangeUserMailStatus(userContactEntity.CompanyMail, true); } } } return(result); }
/// <summary> /// 设置属性 /// </summary> /// <param name="dbHelper">数据库连接</param> /// <param name="tableName">目标表名</param> /// <param name="targetFields">更新字段</param> /// <param name="targetValues">更新值</param> /// <returns>影响行数</returns> public static int Insert(IDbHelper dbHelper, string tableName, string[] targetFields, Object[] targetValues) { SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); sqlBuilder.BeginInsert(tableName); for (int i = 0; i < targetFields.Length; i++) { sqlBuilder.SetValue(targetFields[i], targetValues[i]); } return(sqlBuilder.EndInsert()); }
/// <summary> /// 添加一条记录 /// </summary> /// <param name="noteEntity">实体对象</param> /// <returns>主键</returns> public string AddEntity(BaseNoteEntity noteEntity) { string id = Guid.NewGuid().ToString(); SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginInsert(this.CurrentTableName); sqlBuilder.SetValue(BaseNoteEntity.FieldId, id); this.SetEntity(sqlBuilder, noteEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseNoteEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetDBNow(BaseNoteEntity.FieldCreateOn); } sqlBuilder.SetDBNow(BaseNoteEntity.FieldModifiedOn); return(sqlBuilder.EndInsert() > 0 ? id : string.Empty); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(TAB_EMPLOYEEEntity entity) { string key = string.Empty; 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); } this.SetObject(sqlBuilder, entity); sqlBuilder.EndInsert(); return(key); }
// // 撤销权限的实现部分 // #region public int Revoke(string systemCode, string userId, string permissionId) 为了提高撤销的运行速度 /// <summary> /// 为了提高撤销的运行速度 /// </summary> /// <param name="systemCode">系统编号</param> /// <param name="userId">用户主键</param> /// <param name="permissionId">权限主键</param> /// <returns>影响行数</returns> public int Revoke(string systemCode, string userId, string permissionId) { int result = 0; if (String.IsNullOrEmpty(userId) && String.IsNullOrEmpty(permissionId)) { return(result); } this.CurrentTableName = systemCode + "Permission"; List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceCategory, BaseUserEntity.TableName)); parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceId, userId)); parameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldPermissionId, permissionId)); // 伪删除、数据有冗余,但是有历史记录 // result = permissionManager.SetDeleted(parameters); // 真删除、执行效率高、但是没有历史记录 result = this.Delete(parameters); // 2015-09-21 吉日嘎拉 这里增加变更日志 string tableName = systemCode + ".Permission.User"; SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper); sqlBuilder.BeginInsert(BaseModifyRecordEntity.TableName); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldTableCode, tableName); if (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, "1"); 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); }
/// <summary> /// 添加日志 /// </summary> /// <param name="entity">日志对象</param> /// <returns>主键</returns> public string AddObject(BaseLogEntity entity) { // 2013-10-06 JiRiGala 改进为添加到消息队列里,提高系统的性能 // System.Messaging.MessageQueue messageQueue = new System.Messaging.MessageQueue(".\\Private$\\DotNetLog"); // System.Messaging.StatusMessage message = new System.Messaging.StatusMessage(); // message.Body = entity; // message.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) }); // messageQueue.Send(message); if (!BaseSystemInfo.RecordLog) { return(string.Empty); } if (string.IsNullOrEmpty(entity.Id)) { entity.Id = System.Guid.NewGuid().ToString("N"); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginInsert(this.CurrentTableName, this.Identity); sqlBuilder.SetValue(BaseLogEntity.FieldId, entity.Id); sqlBuilder.SetValue(BaseLogEntity.FieldTaskId, entity.TaskId); sqlBuilder.SetValue(BaseLogEntity.FieldService, entity.Service); sqlBuilder.SetValue(BaseLogEntity.FieldStartTime, entity.StartTime); sqlBuilder.SetValue(BaseLogEntity.FieldUserId, entity.UserId); sqlBuilder.SetValue(BaseLogEntity.FieldUserRealName, entity.UserRealName); sqlBuilder.SetValue(BaseLogEntity.FieldCompanyId, entity.CompanyId); sqlBuilder.SetValue(BaseLogEntity.FieldUrlReferrer, entity.UrlReferrer); sqlBuilder.SetValue(BaseLogEntity.FieldWebUrl, entity.WebUrl); sqlBuilder.SetValue(BaseLogEntity.FieldParameters, entity.Parameters); sqlBuilder.SetValue(BaseLogEntity.FieldClientIP, entity.ClientIP); sqlBuilder.SetValue(BaseLogEntity.FieldServerIP, entity.ServerIP); sqlBuilder.SetValue(BaseLogEntity.FieldElapsedTicks, entity.ElapsedTicks); sqlBuilder.SetValue(BaseLogEntity.FieldDescription, entity.Description); // sqlBuilder.SetDBNow(BaseLogEntity.FieldStartTime); sqlBuilder.EndInsert(); return(entity.Id); }
/// <summary> /// 添加实体 /// 20151008 吉日嘎拉 把排序码去掉,排序码没有意义 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseMessageEntity entity) { string result = string.Empty; // 20151008 吉日嘎拉 消息的主键没必要自增,为了安全性高一些,直接用GUID就可以了,代码页简洁了,思路也简单了 if (string.IsNullOrEmpty(entity.Id)) { entity.Id = Guid.NewGuid().ToString("N"); } result = entity.Id; var sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseMessageEntity.FieldId); sqlBuilder.SetValue(BaseMessageEntity.FieldId, entity.Id); this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseMessageEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseMessageEntity.FieldCreateBy, UserInfo.RealName); sqlBuilder.SetValue(BaseMessageEntity.FieldCreateDepartmentId, UserInfo.DepartmentId); sqlBuilder.SetValue(BaseMessageEntity.FieldCreateDepartmentName, UserInfo.DepartmentName); sqlBuilder.SetValue(BaseMessageEntity.FieldCreateCompanyId, entity.CreateCompanyId); sqlBuilder.SetValue(BaseMessageEntity.FieldCreateCompanyName, entity.CreateCompanyName); } else if (!string.IsNullOrEmpty(entity.CreateBy)) { sqlBuilder.SetValue(BaseMessageEntity.FieldCreateBy, entity.CreateBy); } sqlBuilder.SetDBNow(BaseMessageEntity.FieldCreateOn); sqlBuilder.EndInsert(); return(result); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseUserContactEntity entity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseUserContactEntity.FieldId); sqlBuilder.SetValue(BaseUserContactEntity.FieldId, entity.Id); this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseUserEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseUserEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseUserEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseUserEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseUserEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseUserEntity.FieldModifiedOn); sqlBuilder.EndInsert(); return(entity.Id); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseExportDataEntity entity) { string result = string.Empty; if (string.IsNullOrEmpty(entity.Id)) { entity.Id = Guid.NewGuid().ToString("N"); } result = entity.Id; SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, this.PrimaryKey); if (!this.Identity) { // 这里已经是指定了主键了,所以不需要返回主键了 sqlBuilder.SetValue(this.PrimaryKey, entity.Id); } this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseExportDataEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseExportDataEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseExportDataEntity.FieldCreateOn); // 若是远程调用接口? if (this.RemoteInterface) { sqlBuilder.PrepareCommand(); DbHelperUtilities.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, CommandType.Text.ToString(), sqlBuilder.DbParameters); } else { sqlBuilder.EndInsert(); } return(result); }
/// <summary> /// 记录异常情况 /// </summary> /// <param name="Exception">异常类</param> /// <returns>主键</returns> public string AddObject(Exception ex) { // string result = BaseSequenceManager.Instance.Increment(DbHelper, BaseExceptionEntity.TableName); string sequence = Guid.NewGuid().ToString("N"); SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginInsert(this.CurrentTableName); sqlBuilder.SetValue(BaseExceptionEntity.FieldId, sequence); // sqlBuilder.SetValue(BaseExceptionEntity.FieldTitle, UserInfo.ProcessName); // sqlBuilder.SetValue(BaseExceptionEntity.FieldProcessId, UserInfo.ProcessId); // sqlBuilder.SetValue(BaseExceptionEntity.FieldProcessName, UserInfo.ProcessName); sqlBuilder.SetValue(BaseExceptionEntity.FieldMessage, ex.Message); sqlBuilder.SetValue(BaseExceptionEntity.FieldThreadName, ex.Source); sqlBuilder.SetValue(BaseExceptionEntity.FieldFormattedMessage, ex.StackTrace); if (UserInfo != null) { sqlBuilder.SetValue(BaseExceptionEntity.FieldIPAddress, UserInfo.IPAddress); sqlBuilder.SetValue(BaseExceptionEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseExceptionEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseExceptionEntity.FieldCreateOn); return(sqlBuilder.EndInsert() > 0 ? sequence : string.Empty); }
/// <summary> /// 添加实体 /// 全局的角色不重复、多子系统之间的角色不重复,就厉害了,以后可以合并到一起也没关系了 /// 通用基础子系统里的角色,可能在各子系统里也有权限需要设置的情况 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseRoleEntity entity) { string result = string.Empty; if (entity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); result = sequenceManager.Increment(BaseRoleEntity.TableName); entity.SortCode = int.Parse(result); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseRoleEntity.FieldId); // 若是非空主键,表明已经指定了主键了 if (!string.IsNullOrEmpty(entity.Id)) { // 这里已经是指定了主键了,所以不需要返回主键了 sqlBuilder.SetValue(BaseRoleEntity.FieldId, entity.Id); result = entity.Id; } else { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { // 2015-12-23 吉日嘎拉 这里需要兼容一下以前的老的数据结构 sqlBuilder.SetFormula(this.PrimaryKey, "SEQ_" + BaseRoleEntity.TableName.ToUpper() + ".NEXTVAL "); } else { entity.Id = Guid.NewGuid().ToString("N"); result = entity.Id; sqlBuilder.SetValue(BaseRoleEntity.FieldId, entity.Id); } } this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseRoleEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseRoleEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseRoleEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseRoleEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseRoleEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseRoleEntity.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(BaseUserEntity entity) { string result = string.Empty; if (entity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); result = sequenceManager.Increment(this.CurrentTableName); entity.SortCode = int.Parse(result); } // 2015-12-11 吉日嘎拉 全部小写,提高Oracle的效率 entity.QuickQuery = StringUtil.GetPinyin(entity.RealName).ToLower(); entity.SimpleSpelling = StringUtil.GetSimpleSpelling(entity.RealName).ToLower(); SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseUserEntity.FieldId); if (DbHelper.CurrentDbType == CurrentDbType.MySql && string.IsNullOrEmpty(entity.Id)) { entity.Id = Guid.NewGuid().ToString("N"); result = entity.Id; } if (!this.Identity || !string.IsNullOrEmpty(entity.Id)) { sqlBuilder.SetValue(BaseUserEntity.FieldId, entity.Id); result = entity.Id; } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseUserEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseUserEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.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(this.CurrentTableName); } entity.Id = result; } sqlBuilder.SetValue(BaseUserEntity.FieldId, entity.Id); } } } this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseUserEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseUserEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseUserEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseUserEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseUserEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseUserEntity.FieldModifiedOn); // 2015-12-16 吉日嘎拉 优化返回值问题、提高自增Id导入的问题的效率,关联数据产生问题 if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.MySql)) { result = sqlBuilder.EndInsert().ToString(); entity.Id = result; } else { sqlBuilder.EndInsert(); } return(result); }
/// <summary> /// 添加日志 /// </summary> /// <param name="logEntity">日志对象</param> /// <returns>主键</returns> public int AddEntity(BaseLogEntity logEntity) { int returnValue = 0; // if (!BaseSystemInfo.RecordLog) // { // return string.Empty; // } // 由于并发控制,没有能获得有效ID的错误处理,测试一下错误发生的数量。 // if (Log.ID.Length == 0) // { // return returnValue; // } // string sequence = BaseSequenceManager.Instance.GetSequence(DbHelper, BaseLogEntity.TableName); // string sequence = BaseSequenceManager.Instance.NewGuid(); string sequence = string.Empty; SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); if (DbHelper.CurrentDbType == CurrentDbType.Access) // sqlBuilder.BeginInsert(this.CurrentTableName, "LogId", this.Identity); { // 写入日志 04-24 dbHelper.Open(BaseSystemInfo.UserCenterDbConnection); // 用户已经不存在的需要整理干净,防止数据不完整。 string sqlQuery = " INSERT INTO [BaseLog]([ProcessId],[ProcessName],[MethodId] " + " ,[MethodName],[Parameters],[UserId],[UserRealName],[IPAddress],[UrlReferrer],[WebUrl],[Description],[CreateOn],[ModifiedOn]) VALUES " + "( '" + logEntity.ProcessId + "','" + logEntity.ProcessName + "','" + logEntity.MethodId.ToString() + "','" + logEntity.MethodName + "','" + logEntity.Parameters + "','" + logEntity.UserId + "','" + logEntity.UserRealName + "','" + logEntity.IPAddress + "','" + logEntity.UrlReferrer + "','" + logEntity.WebUrl + " ','" + logEntity.Description + "'," + DbHelper.GetDBNow() + "," + DbHelper.GetDBNow() + ")"; return(dbHelper.ExecuteNonQuery(sqlQuery));; } else { sqlBuilder.BeginInsert(this.CurrentTableName, this.Identity); } if (!this.Identity) { sqlBuilder.SetValue(BaseLogEntity.FieldId, logEntity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseLogEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseLogEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (string.IsNullOrEmpty(logEntity.Id)) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } logEntity.Id = sequence; } sqlBuilder.SetValue(BaseLogEntity.FieldId, logEntity.Id); } } } if (String.IsNullOrEmpty(logEntity.UserId)) { logEntity.UserId = logEntity.IPAddress; } sqlBuilder.SetValue(BaseLogEntity.FieldUserId, logEntity.UserId); sqlBuilder.SetValue(BaseLogEntity.FieldUserRealName, logEntity.UserRealName); sqlBuilder.SetValue(BaseLogEntity.FieldProcessId, logEntity.ProcessId); sqlBuilder.SetValue(BaseLogEntity.FieldProcessName, logEntity.ProcessName); sqlBuilder.SetValue(BaseLogEntity.FieldMethodId, logEntity.MethodId); sqlBuilder.SetValue(BaseLogEntity.FieldMethodName, logEntity.MethodName); sqlBuilder.SetValue(BaseLogEntity.FieldParameters, logEntity.Parameters); sqlBuilder.SetValue(BaseLogEntity.FieldUrlReferrer, logEntity.UrlReferrer); sqlBuilder.SetValue(BaseLogEntity.FieldWebUrl, logEntity.WebUrl); sqlBuilder.SetValue(BaseLogEntity.FieldIPAddress, logEntity.IPAddress); sqlBuilder.SetValue(BaseLogEntity.FieldDescription, logEntity.Description); //if (logEntity.CreateUserId.Length == 0) //{ // logEntity.CreateUserId = logEntity.IPAddress; //} //sqlBuilder.SetValue(BaseLogEntity.FieldCreateUserId, logEntity.CreateUserId); sqlBuilder.SetDBNow(BaseLogEntity.FieldCreateOn); // return sqlBuilder.EndInsert() > 0 ? sequence : string.Empty; if (DbHelper.CurrentDbType == CurrentDbType.SqlServer) { returnValue = sqlBuilder.EndInsert(); } else { sqlBuilder.EndInsert(); if (this.ReturnId)//如果需要反回值 { returnValue = int.Parse(logEntity.Id); } else { returnValue = 0; } } return(returnValue); }
/// <summary> /// 添加实体 /// </summary> /// <param name="userEntity">实体</param> public string AddEntity(BaseUserEntity userEntity) { string sequence = string.Empty; if (userEntity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); userEntity.SortCode = int.Parse(sequence); } userEntity.QuickQuery = StringUtil.GetPinyin(userEntity.RealName); SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseUserEntity.FieldId); if (!this.Identity) { sqlBuilder.SetValue(BaseUserEntity.FieldId, userEntity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseUserEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseUserEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (userEntity.Id == null) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } userEntity.Id = sequence; } sqlBuilder.SetValue(BaseUserEntity.FieldId, userEntity.Id); } } } this.SetEntity(sqlBuilder, userEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseUserEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseUserEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseUserEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseUserEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseUserEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseUserEntity.FieldModifiedOn); if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
/// <summary> /// 添加实体 /// </summary> /// <param name="baseWorkFlowBillTemplateEntity">实体</param> public string AddEntity(BaseWorkFlowBillTemplateEntity baseWorkFlowBillTemplateEntity) { string sequence = string.Empty; this.Identity = false; if (baseWorkFlowBillTemplateEntity.SortCode == null || baseWorkFlowBillTemplateEntity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); baseWorkFlowBillTemplateEntity.SortCode = int.Parse(sequence); } if (baseWorkFlowBillTemplateEntity.Id != null) { sequence = baseWorkFlowBillTemplateEntity.Id.ToString(); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseWorkFlowBillTemplateEntity.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(baseWorkFlowBillTemplateEntity.Id)) { sequence = BaseBusinessLogic.NewGuid(); baseWorkFlowBillTemplateEntity.Id = sequence; } sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldId, baseWorkFlowBillTemplateEntity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseWorkFlowBillTemplateEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseWorkFlowBillTemplateEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (string.IsNullOrEmpty(baseWorkFlowBillTemplateEntity.Id)) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } baseWorkFlowBillTemplateEntity.Id = sequence; } sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldId, baseWorkFlowBillTemplateEntity.Id); } } } this.SetEntity(sqlBuilder, baseWorkFlowBillTemplateEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseWorkFlowBillTemplateEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseWorkFlowBillTemplateEntity.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="entity">实体</param> public string AddObject(BaseOrganizeEntity entity) { string result = string.Empty; if (!entity.SortCode.HasValue) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); result = sequenceManager.Increment(this.CurrentTableName); entity.SortCode = int.Parse(result); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseOrganizeEntity.FieldId); if (string.IsNullOrEmpty(entity.Id) && DbHelper.CurrentDbType == CurrentDbType.MySql) { entity.Id = Guid.NewGuid().ToString("N"); } if (!string.IsNullOrEmpty(entity.Id) || !this.Identity) { sqlBuilder.SetValue(BaseOrganizeEntity.FieldId, entity.Id); } else { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseOrganizeEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseOrganizeEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } this.SetObject(sqlBuilder, entity); // 创建人信息 if (!string.IsNullOrEmpty(entity.CreateUserId)) { sqlBuilder.SetValue(BaseOrganizeEntity.FieldCreateUserId, entity.CreateUserId); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseOrganizeEntity.FieldCreateUserId, UserInfo.Id); } } if (!string.IsNullOrEmpty(entity.CreateBy)) { sqlBuilder.SetValue(BaseOrganizeEntity.FieldCreateBy, entity.CreateBy); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseOrganizeEntity.FieldCreateBy, UserInfo.RealName); } } if (entity.CreateOn.HasValue) { sqlBuilder.SetValue(BaseOrganizeEntity.FieldCreateOn, entity.CreateOn); } else { sqlBuilder.SetDBNow(BaseOrganizeEntity.FieldCreateOn); } // 修改人信息 if (!string.IsNullOrEmpty(entity.ModifiedUserId)) { sqlBuilder.SetValue(BaseOrganizeEntity.FieldModifiedUserId, entity.ModifiedUserId); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseOrganizeEntity.FieldModifiedUserId, UserInfo.Id); } } if (!string.IsNullOrEmpty(entity.ModifiedBy)) { sqlBuilder.SetValue(BaseOrganizeEntity.FieldModifiedBy, entity.ModifiedBy); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseOrganizeEntity.FieldModifiedBy, UserInfo.RealName); } } if (entity.ModifiedOn.HasValue) { sqlBuilder.SetValue(BaseOrganizeEntity.FieldModifiedOn, entity.ModifiedOn); } else { sqlBuilder.SetDBNow(BaseOrganizeEntity.FieldModifiedOn); } if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.MySql)) { result = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(result); }
/// <summary> /// 设置按省路由大头笔 /// </summary> /// <param name="userInfo">用户</param> /// <param name="dtAreaRouteMark">路由设置</param> /// <returns>影响行数</returns> public int SetAreaRouteMark(string areaId, DataTable dtAreaRouteMark) { int result = 0; string areaName = string.Empty; BaseAreaEntity areaEntity = BaseAreaManager.GetObjectByCache(areaId); if (areaEntity != null) { areaName = areaEntity.FullName; } if (string.IsNullOrEmpty(areaName)) { return(result); } IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType, BaseSystemInfo.UserCenterDbConnection); foreach (DataRow dr in dtAreaRouteMark.Rows) { // BaseAreaProvinceMarkEntity entity = null; if (string.IsNullOrWhiteSpace(dr["Id"].ToString())) { /* * entity = new BaseAreaProvinceMarkEntity(); * BaseEntity.Create<BaseAreaProvinceMarkEntity>(dr); * entity.Province = dr["AREANAME"].ToString(); * entity.ProvinceId = dr["AREAID"].ToString(); * entity.Mark = dr["MARK"].ToString(); * entity.Description = dr["DESCRIPTION"].ToString(); * entity.CreateBy = this.UserInfo.RealName; * entity.CreateUserId = this.UserInfo.Id; * entity.CreateOn = DateTime.Now; * this.AddObject(entity); */ SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); sqlBuilder.BeginInsert("BASEAREA_PROVINCEMARK"); sqlBuilder.SetFormula("Id", "SEQ_BASEAREA_PROVINCEMARK.NEXTVAL"); sqlBuilder.SetValue("MARK", dr["MARK"].ToString()); sqlBuilder.SetValue("DESCRIPTION", dr["DESCRIPTION"].ToString()); sqlBuilder.SetValue("AREAID", areaId); sqlBuilder.SetValue("AREA", areaName); sqlBuilder.SetValue("ProvinceID", dr["AREAID"].ToString()); sqlBuilder.SetValue("Province", dr["AREANAME"].ToString()); sqlBuilder.SetValue("CreateUserId", this.UserInfo.Id); sqlBuilder.SetValue("CreateBy", this.UserInfo.RealName); sqlBuilder.SetDBNow("CreateOn"); sqlBuilder.SetValue("Enabled", 1); sqlBuilder.EndInsert(); // sqlBuilder.PrepareCommand(); // dotNetService.AreaService.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, sqlBuilder.DbParameters, CommandType.Text.ToString()); } else { /* * if (string.IsNullOrWhiteSpace(dr["MARK"].ToString()) && string.IsNullOrWhiteSpace(dr["DESCRIPTION"].ToString())) * { * this.Delete(dr["Id"].ToString()); * } * else * { * entity = this.GetObject(dr["Id"].ToString()); * // entity = BaseEntity.Create<BaseAreaProvinceMarkEntity>(dr); * entity.Mark = dr["MARK"].ToString(); * entity.Description = dr["DESCRIPTION"].ToString(); * entity.ModifiedBy = this.UserInfo.RealName; * entity.ModifiedUserId = this.UserInfo.Id; * entity.ModifiedOn = DateTime.Now; * this.Update(entity); * } */ SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); if (string.IsNullOrWhiteSpace(dr["MARK"].ToString()) && string.IsNullOrWhiteSpace(dr["DESCRIPTION"].ToString())) { sqlBuilder.BeginDelete("BASEAREA_PROVINCEMARK"); sqlBuilder.SetWhere("Id", dr["Id"].ToString()); sqlBuilder.EndDelete(); // sqlBuilder.PrepareCommand(); // dotNetService.AreaService.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, sqlBuilder.DbParameters, CommandType.Text.ToString()); } else { sqlBuilder.BeginUpdate("BASEAREA_PROVINCEMARK"); sqlBuilder.SetValue("MARK", dr["MARK"].ToString()); sqlBuilder.SetValue("DESCRIPTION", dr["DESCRIPTION"].ToString()); sqlBuilder.SetValue("ModifiedUserId", this.UserInfo.Id); sqlBuilder.SetValue("ModifiedBy", this.UserInfo.RealName); sqlBuilder.SetDBNow("ModifiedOn"); sqlBuilder.SetWhere("ID", dr["Id"].ToString()); sqlBuilder.EndUpdate(); // sqlBuilder.PrepareCommand(); // dotNetService.AreaService.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, sqlBuilder.DbParameters, CommandType.Text.ToString()); } } } return(result); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseItemDetailsEntity 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, BaseItemDetailsEntity.FieldId); if (!this.Identity || (entity.Id.HasValue && entity.Id != 0)) { sqlBuilder.SetValue(BaseItemDetailsEntity.FieldId, entity.Id); sequence = entity.Id.ToString(); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseItemDetailsEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseItemDetailsEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.Increment(this.CurrentTableName); } entity.Id = int.Parse(sequence); sqlBuilder.SetValue(BaseItemDetailsEntity.FieldId, entity.Id); } } } this.SetObject(sqlBuilder, entity); // 创建人信息 if (!string.IsNullOrEmpty(entity.CreateUserId)) { sqlBuilder.SetValue(BaseItemDetailsEntity.FieldCreateUserId, entity.CreateUserId); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseItemDetailsEntity.FieldCreateUserId, UserInfo.Id); } } if (!string.IsNullOrEmpty(entity.CreateBy)) { sqlBuilder.SetValue(BaseItemDetailsEntity.FieldCreateBy, entity.CreateBy); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseItemDetailsEntity.FieldCreateBy, UserInfo.RealName); } } if (entity.CreateOn.HasValue) { sqlBuilder.SetValue(BaseItemDetailsEntity.FieldCreateOn, entity.CreateOn); } else { sqlBuilder.SetDBNow(BaseItemDetailsEntity.FieldCreateOn); } // 修改人信息 if (!string.IsNullOrEmpty(entity.ModifiedUserId)) { sqlBuilder.SetValue(BaseItemDetailsEntity.FieldModifiedUserId, entity.ModifiedUserId); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseItemDetailsEntity.FieldModifiedUserId, UserInfo.Id); } } if (!string.IsNullOrEmpty(entity.ModifiedBy)) { sqlBuilder.SetValue(BaseItemDetailsEntity.FieldModifiedBy, entity.ModifiedBy); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseItemDetailsEntity.FieldModifiedBy, UserInfo.RealName); } } if (entity.ModifiedOn.HasValue) { sqlBuilder.SetValue(BaseItemDetailsEntity.FieldModifiedOn, entity.ModifiedOn); } else { sqlBuilder.SetDBNow(BaseItemDetailsEntity.FieldModifiedOn); } if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
// // 授予权限的实现部分 // #region public string Grant(string systemCode, string roleId, string permissionId, bool chekExists = true) 为了提高授权的运行速度 /// <summary> /// 为了提高授权的运行速度 /// </summary> /// <param name="systemCode">系统编号</param> /// <param name="roleId">角色主键</param> /// <param name="permissionId">权限主键</param> /// <returns>主键</returns> public string Grant(string systemCode, string roleId, string permissionId, bool chekExists = true) { string result = string.Empty; string currentId = string.Empty; this.CurrentTableName = systemCode + "Permission"; string tableName = systemCode + "Role"; // 判断是否已经存在这个权限,若已经存在就不重复增加了 if (chekExists) { List <KeyValuePair <string, object> > whereParameters = new List <KeyValuePair <string, object> >(); whereParameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceCategory, tableName)); whereParameters.Add(new KeyValuePair <string, object>(BasePermissionEntity.FieldResourceId, roleId)); 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); } } if (string.IsNullOrEmpty(currentId)) { BasePermissionEntity permissionEntity = new BasePermissionEntity(); permissionEntity.ResourceCategory = tableName; permissionEntity.ResourceId = roleId; permissionEntity.PermissionId = permissionId; // 防止不允许为NULL的错误发生 permissionEntity.Enabled = 1; permissionEntity.DeletionStateCode = 0; BasePermissionManager permissionManager = new BasePermissionManager(DbHelper, UserInfo, this.CurrentTableName); result = permissionManager.Add(permissionEntity); } // 2015-09-21 吉日嘎拉 这里增加变更日志 tableName = systemCode + ".Permission.Role"; SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper); sqlBuilder.BeginInsert(BaseModifyRecordEntity.TableName); sqlBuilder.SetValue(BaseModifyRecordEntity.FieldTableCode, tableName); if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseModifyRecordEntity.FieldId, "SEQ_" + BaseModifyRecordEntity.TableName + ".NEXTVAL"); } sqlBuilder.SetValue(BaseModifyRecordEntity.FieldRecordKey, roleId); 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); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseCommentEntity 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, BaseCommentEntity.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(entity.Id)) { sequence = Guid.NewGuid().ToString("N"); entity.Id = sequence; } sqlBuilder.SetValue(BaseCommentEntity.FieldId, entity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseCommentEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseCommentEntity.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(BaseCommentEntity.FieldId, entity.Id); } } } this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseCommentEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseCommentEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseCommentEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseCommentEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseCommentEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseCommentEntity.FieldModifiedOn); if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }