/// <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="DepartmentId">部门主键</param> /// <param name="userName">用户名</param> /// <param name="code">编号</param> /// <param name="fullName">名称</param> /// <param name="canVisit">允许登录</param> /// <param name="isVirtual">虚拟用户</param> /// <param name="isDimission">离职</param> /// <param name="enabled">有效</param> /// <param name="description">描述</param> /// <returns>主键</returns> public string Add(string departmentId, string userName, string code, string fullName, bool isVirtual, bool isDimission, bool enabled, string description) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper); string sequence = sequenceManager.GetSequence(this.CurrentTableName); sqlBuilder.BeginInsert(this.CurrentTableName); sqlBuilder.SetValue(BaseStaffEntity.FieldId, sequence); sqlBuilder.SetValue(BaseStaffEntity.FieldCode, code); sqlBuilder.SetValue(BaseStaffEntity.FieldUserName, userName); sqlBuilder.SetValue(BaseStaffEntity.FieldRealName, fullName); sqlBuilder.SetValue(BaseStaffEntity.FieldDepartmentId, departmentId); sqlBuilder.SetValue(BaseStaffEntity.FieldSortCode, sequence); sqlBuilder.SetValue(BaseStaffEntity.FieldEnabled, enabled ? 1 : 0); if (UserInfo != null) { sqlBuilder.SetValue(BaseStaffEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseStaffEntity.FieldCreateOn, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseStaffEntity.FieldCreateOn); string returnValue = sqlBuilder.EndInsert() > 0 ? sequence : string.Empty; return returnValue; }
/// <summary> /// 更新实体 /// </summary> /// <param name="workReportEntity">实体</param> /// <returns>影响行数</returns> public int UpdateEntity(BaseWorkReportEntity workReportEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(BaseWorkReportTable.TableName); this.SetEntity(sqlBuilder, workReportEntity); sqlBuilder.SetValue(BaseWorkReportTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetDBNow(BaseWorkReportTable.FieldModifiedOn); sqlBuilder.SetWhere(BaseWorkReportTable.FieldId, workReportEntity.Id); return sqlBuilder.EndUpdate(); }
/// <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="workFlowCurrentEntity">当前审批流</param> /// <returns>成功失败</returns> public virtual bool OnAutoAuditPass(BaseWorkFlowCurrentEntity workFlowCurrentEntity) { if (!string.IsNullOrEmpty(workFlowCurrentEntity.ObjectId)) { SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetValue(BaseBusinessLogic.FieldAuditStatus, AuditStatus.AuditPass.ToString()); sqlBuilder.SetDBNow(BaseBusinessLogic.FieldModifiedOn); sqlBuilder.SetValue(BaseBusinessLogic.FieldModifiedUserId, this.UserInfo.Id); sqlBuilder.SetValue(BaseBusinessLogic.FieldModifiedBy, this.UserInfo.RealName); sqlBuilder.SetWhere(BaseBusinessLogic.FieldId, workFlowCurrentEntity.ObjectId); sqlBuilder.EndUpdate(); } return true; }
public int UpdateFile(string id, string fileName, byte[] file) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetValue(BaseFileEntity.FieldFileName, fileName); if (file != null) { sqlBuilder.SetValue(BaseFileEntity.FieldContents, file); sqlBuilder.SetValue(BaseFileEntity.FieldFileSize, file.Length); } sqlBuilder.SetValue(BaseFileEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseFileEntity.FieldModifiedBy, UserInfo.RealName); sqlBuilder.SetDBNow(BaseFileEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseFileEntity.FieldId, id); return sqlBuilder.EndUpdate(); }
/// <summary> /// 更新实体 /// </summary> /// <param name="BaseWorkFlowStepEntity">实体</param> public int UpdateEntity(BaseWorkFlowStepEntity BaseWorkFlowStepEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, BaseWorkFlowStepEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseWorkFlowStepEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseWorkFlowStepEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseWorkFlowStepEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseWorkFlowStepEntity.FieldId, BaseWorkFlowStepEntity.Id); return sqlBuilder.EndUpdate(); }
/// <summary> /// 更新 /// </summary> /// <param name="parameterEntity">实体</param> /// <returns>影响行数</returns> protected int UpdateEntity(BaseParameterEntity parameterEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetValue(BaseParameterEntity.FieldCategoryId, parameterEntity.CategoryId); sqlBuilder.SetValue(BaseParameterEntity.FieldParameterCode, parameterEntity.ParameterCode); sqlBuilder.SetValue(BaseParameterEntity.FieldParameterId, parameterEntity.ParameterId); sqlBuilder.SetValue(BaseParameterEntity.FieldParameterContent, parameterEntity.ParameterContent); sqlBuilder.SetValue(BaseParameterEntity.FieldWorked, parameterEntity.Worked ? 1 : 0); sqlBuilder.SetValue(BaseParameterEntity.FieldEnabled, parameterEntity.Enabled ? 1 : 0); sqlBuilder.SetValue(BaseParameterEntity.FieldDeletionStateCode, parameterEntity.DeletionStateCode); sqlBuilder.SetValue(BaseParameterEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseParameterEntity.FieldModifiedBy, UserInfo.RealName); sqlBuilder.SetDBNow(BaseParameterEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseParameterEntity.FieldId, parameterEntity.Id); return sqlBuilder.EndUpdate(); }
/// <summary> /// 记录异常情况 /// </summary> /// <param name="Exception">异常类</param> /// <returns>主键</returns> public string AddEntity(Exception ex) { // string sequence = BaseSequenceManager.Instance.GetSequence(DbHelper, BaseExceptionEntity.TableName); string sequence = BaseBusinessLogic.NewGuid(); 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="workFlowCurrentEntity">当前审批流程</param> /// <returns>成功失败</returns> public override bool OnAuditComplete(BaseWorkFlowCurrentEntity workFlowCurrentEntity) { // 审核通过后,需要把有效状态修改过来 BaseWorkFlowCurrentManager workFlowCurrentManager = new BaseWorkFlowCurrentManager(this.UserInfo); //string objectId = workFlowCurrentManager.GetEntity(workFlowCurrentEntity.Id).ObjectId; string objectId = workFlowCurrentEntity.ObjectId; if (!string.IsNullOrEmpty(objectId)) { // 这里写自己的方法(审核 过程中的回调),完成审核时 IDbHelper dbHelper = new SqlHelper(BaseSystemInfo.BusinessDbConnection); dbHelper.Open(); SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); switch (workFlowCurrentEntity.CategoryCode) { case "PuTongCaiGouDan": case "GuoNeiCaiGouHeTong": case "PutongCaiGouDanDGM": case "PutongCaiGouDanManager": sqlBuilder.BeginUpdate("WL物品申购"); sqlBuilder.SetValue("AuditStatus", AuditStatus.AuditComplete.ToString()); sqlBuilder.SetValue("审核", 1); sqlBuilder.SetDBNow("审核日期"); sqlBuilder.SetValue("审核员", BaseSystemInfo.UserInfo.Code); sqlBuilder.SetWhere("申请单号", objectId); sqlBuilder.EndUpdate(); break; case "YuanFuCaiLiaoShenQingDan": sqlBuilder.BeginUpdate("WL部门物品申购"); sqlBuilder.SetValue("AuditStatus", AuditStatus.AuditComplete.ToString()); sqlBuilder.SetValue("审核", 1); sqlBuilder.SetValue("总审核", 1); sqlBuilder.SetDBNow("审核日期"); sqlBuilder.SetDBNow("总审核日期"); sqlBuilder.SetValue("审核员", BaseSystemInfo.UserInfo.Code); sqlBuilder.SetWhere("申购单号", objectId); sqlBuilder.EndUpdate(); break; case "MoJuCaiGouHeTongP": case "MoJuCaiGouHeTongGM": sqlBuilder.BeginUpdate("GCMJ模具申请"); sqlBuilder.SetValue("AuditStatus", AuditStatus.AuditComplete.ToString()); sqlBuilder.SetValue("审核", 1); sqlBuilder.SetWhere("申请单号", objectId); sqlBuilder.EndUpdate(); break; } dbHelper.Close(); } // 若还需要有其他处理,就这后面继续处理 return true; }
/// <summary> /// 离开时的日志记录 /// </summary> /// <param name="userInfo">用户</param> /// <param name="logId">日志主键</param> public void WriteExit(BaseUserInfo userInfo, string logId) { // 写入调试信息 #if (DEBUG) int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod()); #endif // 加强安全验证防止未授权匿名调用 #if (!DEBUG) LogOnService.UserIsLogOn(userInfo); #endif if (!string.IsNullOrEmpty(logId)) { using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType)) { try { dbHelper.Open(UserCenterDbConnection); SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); sqlBuilder.BeginUpdate(BaseLogEntity.TableName); sqlBuilder.SetDBNow(BaseLogEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseLogEntity.FieldId, logId); sqlBuilder.EndUpdate(); } catch (Exception ex) { BaseExceptionManager.LogException(dbHelper, userInfo, ex); throw ex; } finally { dbHelper.Close(); } } } // 写入调试信息 #if (DEBUG) BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart); #endif }
/// <summary> /// 添加实体 /// </summary> /// <param name="baseSequenceEntity">实体</param> public string AddEntity(BaseSequenceEntity baseSequenceEntity) { string sequence = string.Empty; this.Identity = false; if (baseSequenceEntity.Id != null) { sequence = baseSequenceEntity.Id.ToString(); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseSequenceEntity.FieldId); if (!this.Identity) { if (string.IsNullOrEmpty(baseSequenceEntity.Id)) { sequence = BaseBusinessLogic.NewGuid(); baseSequenceEntity.Id = sequence; } sqlBuilder.SetValue(BaseSequenceEntity.FieldId, baseSequenceEntity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (DbHelper.CurrentDbType == DbTypes.Oracle) { sqlBuilder.SetFormula(BaseSequenceEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == DbTypes.DB2) { sqlBuilder.SetFormula(BaseSequenceEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (string.IsNullOrEmpty(baseSequenceEntity.Id)) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } baseSequenceEntity.Id = sequence; } sqlBuilder.SetValue(BaseSequenceEntity.FieldId, baseSequenceEntity.Id); } } } this.SetEntity(sqlBuilder, baseSequenceEntity); 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 == DbTypes.SqlServer || DbHelper.CurrentDbType == DbTypes.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
public int UpdateFile(string id, string fileName, string contents) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetValue(BaseNewsEntity.FieldTitle, fileName); sqlBuilder.SetValue(BaseNewsEntity.FieldContents, contents); sqlBuilder.SetValue(BaseNewsEntity.FieldFileSize, contents.Length); sqlBuilder.SetValue(BaseNewsEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseNewsEntity.FieldModifiedBy, UserInfo.RealName); sqlBuilder.SetDBNow(BaseNewsEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseNewsEntity.FieldId, id); return sqlBuilder.EndUpdate(); }
/// <summary> /// 添加实体 /// </summary> /// <param name="baseContactEntity">实体</param> public string AddEntity(BaseContactEntity baseContactEntity) { string sequence = string.Empty; sequence = baseContactEntity.Id; if (baseContactEntity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); baseContactEntity.SortCode = int.Parse(sequence); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(BaseContactEntity.TableName, BaseContactEntity.FieldId); if (baseContactEntity.Id is string) { this.Identity = false; } if (!this.Identity) { sqlBuilder.SetValue(BaseContactEntity.FieldId, baseContactEntity.Id); } else { if (!this.ReturnId && DbHelper.CurrentDbType == DbTypes.Oracle) { sqlBuilder.SetFormula(BaseContactEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } else { if (this.Identity && DbHelper.CurrentDbType == DbTypes.Oracle) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } baseContactEntity.Id = sequence; sqlBuilder.SetValue(BaseContactEntity.FieldId, baseContactEntity.Id); } } } this.SetEntity(sqlBuilder, baseContactEntity); 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 == DbTypes.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return sequence; }
/// <summary> /// 更新实体 /// </summary> /// <param name="baseContactDetailsEntity">实体</param> public int UpdateEntity(BaseContactDetailsEntity baseContactDetailsEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(BaseContactDetailsEntity.TableName); this.SetEntity(sqlBuilder, baseContactDetailsEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseContactDetailsEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseContactDetailsEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseContactDetailsEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseContactDetailsEntity.FieldId, baseContactDetailsEntity.Id); return sqlBuilder.EndUpdate(); }
/// <summary> /// 阅读短信后设置状态值和阅读次数 /// </summary> /// <param name="messageEntity">实体</param> /// <param name="id">短信主键</param> /// <returns>影响的条数</returns> private int OnRead(BaseMessageEntity messageEntity, string id) { int returnValue = 0; // 针对“已发送”的情况 if (messageEntity.ReceiverId == UserInfo.Id) { // 针对“删除的信息”的情况 if (messageEntity.IsNew == (int)MessageStateCode.New) { SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetValue(BaseMessageEntity.FieldIsNew, ((int)MessageStateCode.Old).ToString()); sqlBuilder.SetDBNow(BaseMessageEntity.FieldReadDate); sqlBuilder.SetWhere(BaseMessageEntity.FieldId, id); sqlBuilder.EndUpdate(); } } // 增加阅读次数 messageEntity.ReadCount++; this.SetProperty(id, new KeyValuePair<string, object>(BaseMessageEntity.FieldReadCount, messageEntity.ReadCount.ToString())); returnValue++; return returnValue; }
/// <summary> /// 重置单据 /// (单据发生错误时)紧急情况下实用 /// </summary> /// <param name="currentId">审批流当前主键</param> /// <param name="categoryCode">单据分类</param> /// <param name="auditIdea">批示</param> /// <returns>影响行数</returns> public virtual bool OnReset(BaseWorkFlowCurrentEntity workFlowCurrentEntity) { // 审核通过后,需要把有效状态修改过来 if (!string.IsNullOrEmpty(workFlowCurrentEntity.ObjectId)) { SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetValue(BaseBusinessLogic.FieldAuditStatus, AuditStatus.Draft.ToString()); sqlBuilder.SetValue(BaseBusinessLogic.FieldEnabled, 1); sqlBuilder.SetDBNow(BaseBusinessLogic.FieldModifiedOn); sqlBuilder.SetValue(BaseBusinessLogic.FieldModifiedUserId, this.UserInfo.Id); sqlBuilder.SetValue(BaseBusinessLogic.FieldModifiedBy, this.UserInfo.RealName); sqlBuilder.SetWhere(BaseBusinessLogic.FieldId, workFlowCurrentEntity.ObjectId); sqlBuilder.EndUpdate(); } // 若还需要有其他处理,就这后面继续处理 return true; }
/// <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 == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (DbHelper.CurrentDbType == DbTypes.Oracle) { sqlBuilder.SetFormula(BaseMessageEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == DbTypes.DB2) { sqlBuilder.SetFormula(BaseMessageEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.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 == DbTypes.SqlServer || DbHelper.CurrentDbType == DbTypes.Access)) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return sequence; }
/// <summary> /// 更新实体 /// </summary> /// <param name="noteEntity">实体对象</param> /// <returns>影响行数</returns> public int UpdateEntity(BaseNoteEntity noteEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, noteEntity); sqlBuilder.SetValue(BaseNoteEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetDBNow(BaseNoteEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseNoteEntity.FieldId, noteEntity.Id); return sqlBuilder.EndUpdate(); }
/// <summary> /// (点通过时)当审核通过时 /// </summary> /// <param name="workFlowCurrentEntity">当前审批流</param> /// <returns>成功失败</returns> public override bool OnAutoAuditPass(BaseWorkFlowCurrentEntity workFlowCurrentEntity) { string objectId = workFlowCurrentEntity.ObjectId; if (!string.IsNullOrEmpty(objectId)) { // 这里写自己的方法(审核 过程中的回调),通过审核时 IDbHelper dbHelper = new SqlHelper(BaseSystemInfo.BusinessDbConnection); dbHelper.Open(); SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); sqlBuilder.BeginUpdate("WL物品申购"); sqlBuilder.SetDBNow("审核日期"); sqlBuilder.SetValue("审核员", BaseSystemInfo.UserInfo.Code); sqlBuilder.SetValue("AuditStatus", AuditStatus.AuditPass.ToString()); sqlBuilder.SetWhere("申请单号", objectId); sqlBuilder.EndUpdate(); dbHelper.Close(); } return true; }
/// <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 == DbTypes.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 == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (DbHelper.CurrentDbType == DbTypes.Oracle) { sqlBuilder.SetFormula(BaseLogEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == DbTypes.DB2) { sqlBuilder.SetFormula(BaseLogEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.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 == DbTypes.SqlServer) { returnValue = sqlBuilder.EndInsert(); } else { sqlBuilder.EndInsert(); if (this.ReturnId)//如果需要反回值 { returnValue = int.Parse(logEntity.Id); } else { returnValue = 0; } } return returnValue; }
/// <summary> /// 添加实体 /// </summary> /// <param name="workFlowActivityEntity">实体</param> public string AddEntity(BaseWorkFlowStepEntity 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, BaseWorkFlowStepEntity.FieldId); if (!this.Identity) { sqlBuilder.SetValue(BaseWorkFlowStepEntity.FieldId, workFlowActivityEntity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (DbHelper.CurrentDbType == DbTypes.Oracle) { sqlBuilder.SetFormula(BaseWorkFlowStepEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == DbTypes.DB2) { sqlBuilder.SetFormula(BaseWorkFlowStepEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.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(BaseWorkFlowStepEntity.FieldId, workFlowActivityEntity.Id); } } } this.SetEntity(sqlBuilder, workFlowActivityEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseWorkFlowStepEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseWorkFlowStepEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseWorkFlowStepEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseWorkFlowStepEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseWorkFlowStepEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseWorkFlowStepEntity.FieldModifiedOn); if (DbHelper.CurrentDbType == DbTypes.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return sequence; }
/// <summary> /// 获取一个操作权限的主键 /// 若不存在就自动增加一个 /// </summary> /// <param name="permissionItemCode">操作权限编号</param> /// <param name="permissionItemName">操作权限名称</param> /// <returns>主键</returns> public string GetIdByAdd(string permissionItemCode, string permissionItemName = null) { // 判断当前判断的权限是否存在,否则很容易出现前台设置了权限,后台没此项权限 // 需要自动的能把前台判断过的权限,都记录到后台来 List<KeyValuePair<string, object>> parameters = new List<KeyValuePair<string, object>>(); parameters.Add(new KeyValuePair<string, object>(BasePermissionItemEntity.FieldCode, permissionItemCode)); parameters.Add(new KeyValuePair<string, object>(BasePermissionItemEntity.FieldEnabled, 1)); parameters.Add(new KeyValuePair<string, object>(BasePermissionItemEntity.FieldDeletionStateCode, 0)); BasePermissionItemEntity permissionItemEntity = new BasePermissionItemEntity(); permissionItemEntity = new BasePermissionItemEntity(this.GetDataTable(parameters, BasePermissionItemEntity.FieldId)); string permissionItemId = string.Empty; if (permissionItemEntity != null) { permissionItemId = permissionItemEntity.Id.ToString(); } // 若是在调试阶段、有没在的权限被判断了,那就自动加入这个权限,不用人工加入权限了,工作效率会提高很多, // 哪些权限是否有被调用什么的,还可以进行一些诊断 #if (DEBUG) if (String.IsNullOrEmpty(permissionItemId)) { // 这里需要进行一次加锁,方式并发冲突发生 lock (PermissionItemLock) { permissionItemEntity.Code = permissionItemCode; if (string.IsNullOrEmpty(permissionItemName)) { permissionItemEntity.FullName = permissionItemCode; } else { permissionItemEntity.FullName = permissionItemName; } permissionItemEntity.ParentId = null; permissionItemEntity.IsScope = 0; permissionItemEntity.AllowDelete = 1; permissionItemEntity.AllowEdit = 1; permissionItemEntity.Enabled = 1; // 这里是防止主键重复? // permissionEntity.ID = BaseBusinessLogic.NewGuid(); permissionItemId = this.AddEntity(permissionItemEntity); } } else { // 更新最后一次访问日期,设置为当前服务器日期 SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetDBNow(BasePermissionItemEntity.FieldLastCall); sqlBuilder.SetWhere(BasePermissionItemEntity.FieldId, permissionItemId); sqlBuilder.EndUpdate(); } #endif return permissionItemId; }
/// <summary> /// 用户角色关系是否有模块权限 /// </summary> /// <param name="roleId">角色主键</param> /// <param name="permissionItemCode">权限编号</param> /// <returns>有角色权限</returns> public bool CheckPermissionByRole(string roleId, string permissionItemCode) { BasePermissionItemManager permissionItemManager = new BasePermissionItemManager(DbHelper, UserInfo); string permissionItemId = permissionItemManager.GetProperty(new KeyValuePair<string, object>(BasePermissionItemEntity.FieldCode, permissionItemCode), BasePermissionItemEntity.FieldId); // 判断当前判断的权限是否存在,否则很容易出现前台设置了权限,后台没此项权限 // 需要自动的能把前台判断过的权限,都记录到后台来 #if (DEBUG) if (String.IsNullOrEmpty(permissionItemId)) { BasePermissionItemEntity permissionItemEntity = new BasePermissionItemEntity(); permissionItemEntity.Code = permissionItemCode; permissionItemEntity.FullName = permissionItemCode; permissionItemEntity.ParentId = string.Empty; permissionItemEntity.IsScope = 0; permissionItemEntity.AllowDelete = 1; permissionItemEntity.AllowEdit = 1; permissionItemEntity.DeletionStateCode = 0; permissionItemEntity.Enabled = 1; // 这里是防止主键重复? // permissionEntity.ID = BaseBusinessLogic.NewGuid(); permissionItemManager.AddEntity(permissionItemEntity); } else { // 更新最后一次访问日期,设置为当前服务器日期 SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetDBNow(BasePermissionItemEntity.FieldLastCall); sqlBuilder.SetWhere(BasePermissionItemEntity.FieldId, permissionItemId); sqlBuilder.EndUpdate(); } #endif if (string.IsNullOrEmpty(permissionItemId)) { return false; } string sqlQuery = " SELECT COUNT(*) " + " FROM " + this.CurrentTableName + " WHERE " + "(" + BasePermissionEntity.FieldResourceCategory + " = '" + BaseRoleEntity.TableName + "') " + " AND (" + BasePermissionEntity.FieldEnabled + " = 1) " + " AND (" + BasePermissionEntity.FieldResourceId + " = '" + roleId + "' ) " + " AND (" + BasePermissionEntity.FieldPermissionItemId + " = '" + permissionItemId + "') "; int rowCount = 0; object returnObject = DbHelper.ExecuteScalar(sqlQuery); if (returnObject != null) { rowCount = int.Parse(returnObject.ToString()); } return rowCount > 0; }
public int Update(string id, string folderId, string fileName, string description, bool enabled, out string statusCode) { statusCode = string.Empty; SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetValue(BaseFileEntity.FieldFolderId, folderId); sqlBuilder.SetValue(BaseFileEntity.FieldFileName, fileName); sqlBuilder.SetValue(BaseFileEntity.FieldEnabled, enabled); sqlBuilder.SetValue(BaseFileEntity.FieldDescription, description); sqlBuilder.SetValue(BaseFileEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseFileEntity.FieldModifiedBy, UserInfo.RealName); sqlBuilder.SetDBNow(BaseFileEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseFileEntity.FieldId, id); int returnValue = sqlBuilder.EndUpdate(); if (returnValue > 0) { statusCode = StatusCode.OKUpdate.ToString(); } else { statusCode = StatusCode.ErrorDeleted.ToString(); } 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; }
/// <summary> /// 更新实体 /// </summary> /// <param name="userEntity">实体</param> public int UpdateEntity(BaseUserEntity userEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); userEntity.QuickQuery = StringUtil.GetPinyin(userEntity.RealName); this.SetEntity(sqlBuilder, userEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseUserEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseUserEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseUserEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseUserEntity.FieldId, userEntity.Id); return sqlBuilder.EndUpdate(); }