/// <summary> /// 更新实体 /// </summary> /// <param name="entity">实体对象</param> /// <returns>影响行数</returns> public int UpdateObject(BaseNoteEntity entity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetObject(sqlBuilder, entity); sqlBuilder.SetValue(BaseNoteEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetDBNow(BaseNoteEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseNoteEntity.FieldId, entity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 重置访问情况 /// </summary> /// <param name="id">主键</param> /// <returns>影响行数</returns> private int ResetVisitInfo(string id) { SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetNull(BaseUserLogOnEntity.FieldFirstVisit); sqlBuilder.SetNull(BaseUserLogOnEntity.FieldPreviousVisit); sqlBuilder.SetNull(BaseUserLogOnEntity.FieldLastVisit); sqlBuilder.SetValue(BaseUserLogOnEntity.FieldLogOnCount, 0); sqlBuilder.SetWhere(BaseUserLogOnEntity.FieldId, id); return(sqlBuilder.EndUpdate()); }
public int Read(string id) { int result = 0; SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); // 增加阅读次数 sqlBuilder.SetFormula(BaseNewsEntity.FieldReadCount, BaseNewsEntity.FieldReadCount + " + 1"); sqlBuilder.SetWhere(BaseNewsEntity.FieldId, id); result = sqlBuilder.EndUpdate(); return(result); }
/// <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); }
/// <summary> /// 重置访问情况 /// </summary> /// <returns>影响行数</returns> public int ResetVisitInfo() { int result = 0; SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetNull(BaseUserLogOnEntity.FieldFirstVisit); sqlBuilder.SetNull(BaseUserLogOnEntity.FieldPreviousVisit); sqlBuilder.SetNull(BaseUserLogOnEntity.FieldLastVisit); sqlBuilder.SetValue(BaseUserLogOnEntity.FieldLogOnCount, 0); result = sqlBuilder.EndUpdate(); return(result); }
// // 设置属性部分 // #region public static int SetProperty(IDbHelper dbHelper, string tableName, List<KeyValuePair<string, object>> whereParameters, List<KeyValuePair<string, object>> parameters) 设置属性 /// <summary> /// 设置属性 /// </summary> /// <param name="dbHelper">数据库连接</param> /// <param name="tableName">目标表名</param> /// <param name="whereParameters">条件字段,条件值</param> /// <param name="parameters">更新字段,更新值</param> /// <returns>影响行数</returns> public static int SetProperty(IDbHelper dbHelper, string tableName, List <KeyValuePair <string, object> > whereParameters, List <KeyValuePair <string, object> > parameters) { SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); sqlBuilder.BeginUpdate(tableName); foreach (var parameter in parameters) { sqlBuilder.SetValue(parameter.Key, parameter.Value); } sqlBuilder.SetWhere(whereParameters); // sqlBuilder.SetDBNow(FieldModifiedOn); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 离开时的日志记录 /// </summary> /// <param name="userInfo">用户</param> /// <param name="logId">日志主键</param> public void WriteExit(BaseUserInfo userInfo, string logId) { var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterWriteDb(userInfo, parameter, (dbHelper) => { SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); sqlBuilder.BeginUpdate(BaseLogEntity.TableName); // sqlBuilder.SetDBNow(BaseLogEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseLogEntity.FieldId, logId); sqlBuilder.EndUpdate(); }); }
/// <summary> /// 替换当前步骤中的人员 /// </summary> /// <param name="oldUserId">原来的工号</param> /// <param name="newUserId">新的工号</param> /// <returns>影响行数</returns> public int ReplaceUser(string oldUserId, string newUserId) { BaseUserManager userManager = new BaseUserManager(this.UserInfo); BaseUserEntity newUserEntity = userManager.GetObject(newUserId); SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetValue(BaseWorkFlowCurrentEntity.FieldToUserId, newUserEntity.Id); sqlBuilder.SetValue(BaseWorkFlowCurrentEntity.FieldToUserRealName, newUserEntity.RealName); sqlBuilder.SetValue(BaseWorkFlowCurrentEntity.FieldToDepartmentId, newUserEntity.DepartmentId); sqlBuilder.SetValue(BaseWorkFlowCurrentEntity.FieldToDepartmentName, newUserEntity.DepartmentName); sqlBuilder.SetWhere(BaseWorkFlowCurrentEntity.FieldToUserId, oldUserId, "OldUserId"); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="entity">实体</param> public int UpdateObject(BaseMessageEntity entity) { int result = 0; var sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetObject(sqlBuilder, entity); sqlBuilder.SetWhere(BaseMessageEntity.FieldId, entity.Id); result = sqlBuilder.EndUpdate(); return(result); }
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="userInfo">操作员</param> /// <param name="entity">实体</param> /// <returns>影响行数</returns> public int UpdateEntity(BaseUserInfo userInfo, BaseContactEntity entity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(BaseContactEntity.TableName); this.SetEntity(sqlBuilder, entity); if (userInfo != null) { sqlBuilder.SetValue(BaseContactEntity.FieldModifiedUserId, userInfo.Id); sqlBuilder.SetValue(BaseContactEntity.FieldModifiedBy, userInfo.RealName); } sqlBuilder.SetDBNow(BaseContactEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseContactEntity.FieldId, entity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="entity">实体</param> public int UpdateObject(BaseContactDetailsEntity entity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(BaseContactDetailsEntity.TableName); this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseContactDetailsEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseContactDetailsEntity.FieldModifiedBy, UserInfo.Realname); } sqlBuilder.SetDBNow(BaseContactDetailsEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseContactDetailsEntity.FieldId, entity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="baseWorkFlowBillTemplateEntity">实体</param> public int UpdateEntity(BaseWorkFlowBillTemplateEntity baseWorkFlowBillTemplateEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, baseWorkFlowBillTemplateEntity); if (UserInfo != null) { sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseWorkFlowBillTemplateEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseWorkFlowBillTemplateEntity.FieldModifiedOn); sqlBuilder.SetWhere(BaseWorkFlowBillTemplateEntity.FieldId, baseWorkFlowBillTemplateEntity.Id); return(sqlBuilder.EndUpdate()); }
/// <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); }
/// <summary> /// 更新实体 /// </summary> /// <param name="entity">实体</param> public int UpdateObject(UserByGUIDEntity entity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(UserByGUIDEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(UserByGUIDEntity.FieldModifiedBy, UserInfo.Realname); } sqlBuilder.SetDBNow(UserByGUIDEntity.FieldModifiedOn); sqlBuilder.SetWhere(this.PrimaryKey, entity.UserId); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 当自由工作流开始启动之后需要处理的工作,可以写在这里 /// </summary> /// <param name="id">主键</param> /// <returns>影响行数</returns> public virtual bool AfterAutoStatr(BaseWorkFlowAuditInfo workFlowAuditInfo) { if (!string.IsNullOrEmpty(workFlowAuditInfo.ObjectId) && !string.IsNullOrEmpty(this.CurrentTableName)) { // 这里是回写表的功能实现 SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetValue(BaseBusinessLogic.FieldAuditStatus, AuditStatus.StartAudit.ToString()); sqlBuilder.SetDBNow(BaseBusinessLogic.FieldModifiedOn); sqlBuilder.SetValue(BaseBusinessLogic.FieldModifiedUserId, this.UserInfo.Id); sqlBuilder.SetValue(BaseBusinessLogic.FieldModifiedBy, this.UserInfo.RealName); sqlBuilder.SetWhere(BaseBusinessLogic.FieldId, workFlowAuditInfo.ObjectId); sqlBuilder.EndUpdate(); } return(true); }
/// <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()); }
/// <summary> /// 添加 /// </summary> /// <param name="entity">实体</param> /// <returns>主键</returns> public string Add(BaseUserScoreEntity entity) { string result = string.Empty; // 添加子表,用户积分表 result = this.AddObject(entity); // 更新用户积分 SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper); sqlBuilder.BeginUpdate(BaseUserEntity.TableName); sqlBuilder.SetFormula(BaseUserEntity.FieldScore, BaseUserEntity.FieldScore + " + " + entity.Score); sqlBuilder.SetWhere(BaseUserEntity.FieldId, entity.UserId); sqlBuilder.EndUpdate(); // 发送手机短信提醒 return(result); }
/// <summary> /// 用户角色关系是否有模块权限 /// 2015-12-15 吉日嘎拉 优化参数化 /// </summary> /// <param name="systemCode">系统编号</param> /// <param name="roleId">角色主键</param> /// <param name="permissionCode">权限编号</param> /// <returns>有角色权限</returns> public bool CheckPermissionByRole(string systemCode, string roleId, string permissionCode) { // 判断当前判断的权限是否存在,否则很容易出现前台设置了权限,后台没此项权限 // 需要自动的能把前台判断过的权限,都记录到后台来 string permissionId = string.Empty; #if (DEBUG) if (String.IsNullOrEmpty(permissionId)) { BaseModuleEntity permissionEntity = new BaseModuleEntity(); permissionEntity.Code = permissionCode; permissionEntity.FullName = permissionCode; permissionEntity.IsScope = 0; permissionEntity.IsPublic = 0; permissionEntity.IsMenu = 0; permissionEntity.IsVisible = 1; permissionEntity.AllowDelete = 1; permissionEntity.AllowEdit = 1; permissionEntity.DeletionStateCode = 0; permissionEntity.Enabled = 1; // 这里是防止主键重复? // permissionEntity.ID = BaseBusinessLogic.NewGuid(); BaseModuleManager moduleManager = new Business.BaseModuleManager(); moduleManager.AddObject(permissionEntity); } else { // 更新最后一次访问日期,设置为当前服务器日期 SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetDBNow(BaseModuleEntity.FieldLastCall); sqlBuilder.SetWhere(BaseModuleEntity.FieldId, permissionId); sqlBuilder.EndUpdate(); } #endif permissionId = BaseModuleManager.GetIdByCodeByCache(systemCode, permissionCode); // 没有找到相应的权限 if (String.IsNullOrEmpty(permissionId)) { return(false); } string resourceCategory = systemCode + "Role"; return(CheckResourcePermission(systemCode, resourceCategory, roleId, permissionId)); }
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="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="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="workFlowCurrentEntity">当前审批流</param> /// <returns>成功失败</returns> public virtual bool OnAutoAuditPass(BaseWorkFlowCurrentEntity workFlowCurrentEntity) { if (!string.IsNullOrEmpty(workFlowCurrentEntity.ObjectId)) { // 这里是回写表的功能实现 SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); // 审核流程主键,走哪个审核流程的 // workFlowCurrentEntity.ProcessId; // 分类编号 // workFlowCurrentEntity.CategoryCode; // 分类名称 // workFlowCurrentEntity.CategoryFullName; // 单据主键 // workFlowCurrentEntity.ObjectId; // 单据名称 // workFlowCurrentEntity.ObjectFullName; // 当前审核步骤主键 // workFlowCurrentEntity.ActivityId; // 当前流程编号 // workFlowCurrentEntity.ActivityCode; // 当前审核步骤名称 // workFlowCurrentEntity.ActivityFullName; // 当前审核人主键 // workFlowCurrentEntity.AuditUserId; // 当前审核人姓名 // workFlowCurrentEntity.AuditUserRealName; // 审核意见 // workFlowCurrentEntity.AuditIdea; // 送给谁审核主键 // workFlowCurrentEntity.ToUserId; // 送给谁审核的姓名 // workFlowCurrentEntity.ToUserRealName; 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); }
/// <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="workFlowCurrentEntity">当前审批流</param> /// <returns>成功失败</returns> public override bool OnAutoAuditPass(BaseWorkFlowCurrentEntity workFlowCurrentEntity) { string objectId = workFlowCurrentEntity.ObjectId; if (!string.IsNullOrEmpty(objectId)) { // 这里写自己的方法(审核 过程中的回调),通过审核时 IDbHelper dbHelper = new DotNet.Utilities.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="entity">实体</param> public int UpdateObject(BaseAreaProvinceMarkEntity entity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseAreaProvinceMarkEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseAreaProvinceMarkEntity.FieldModifiedBy, UserInfo.RealName); } // 若有修改时间标示,那就按修改时间来,不是按最新的时间来 if (entity.ModifiedOn.HasValue) { sqlBuilder.SetValue(BaseAreaProvinceMarkEntity.FieldModifiedOn, entity.ModifiedOn.Value); } else { sqlBuilder.SetDBNow(BaseAreaProvinceMarkEntity.FieldModifiedOn); } sqlBuilder.SetWhere(BaseAreaProvinceMarkEntity.FieldId, entity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="entity">实体</param> public int UpdateObject(BaseUserEntity entity) { if (string.IsNullOrEmpty(entity.QuickQuery)) { // 2015-12-11 吉日嘎拉 全部小写,提高Oracle的效率 entity.QuickQuery = StringUtil.GetPinyin(entity.RealName).ToLower(); } if (string.IsNullOrEmpty(entity.SimpleSpelling)) { // 2015-12-11 吉日嘎拉 全部小写,提高Oracle的效率 entity.SimpleSpelling = StringUtil.GetSimpleSpelling(entity.RealName).ToLower(); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); // 2015-12-11 吉日嘎拉 全部小写,提高Oracle的效率 entity.QuickQuery = StringUtil.GetPinyin(entity.RealName).ToLower(); this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseUserEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseUserEntity.FieldModifiedBy, UserInfo.RealName); } // 若有修改时间标示,那就按修改时间来,不是按最新的时间来 if (entity.ModifiedOn.HasValue) { sqlBuilder.SetValue(BaseUserEntity.FieldModifiedOn, entity.ModifiedOn.Value); } else { sqlBuilder.SetDBNow(BaseUserEntity.FieldModifiedOn); } sqlBuilder.SetWhere(BaseUserEntity.FieldId, entity.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="userId">用户主键、方便外部系统调用,若能传递参数过来</param> /// <param name="oldPassword">原密码</param> /// <param name="newPassword">新密码</param> /// <returns>影响行数</returns> public virtual BaseUserInfo ChangePassword(string userId, string oldPassword, string newPassword) { #if (DEBUG) int milliStart = Environment.TickCount; #endif string encryptOldPassword = oldPassword; string encryptNewPassword = newPassword; BaseUserInfo userInfo = null; // 密码强度检查 if (BaseSystemInfo.CheckPasswordStrength) { if (String.IsNullOrEmpty(newPassword)) { this.StatusCode = Status.PasswordCanNotBeNull.ToString(); return(userInfo); } } // 判断输入原始密码是否正确 BaseUserLogOnEntity entity = new BaseUserLogOnManager(this.DbHelper, this.UserInfo).GetObject(UserInfo.Id); if (entity.UserPassword == null) { entity.UserPassword = string.Empty; } // 加密密码 if (BaseSystemInfo.ServerEncryptPassword) { encryptOldPassword = this.EncryptUserPassword(oldPassword, entity.Salt); } // 密码错误 if (!entity.UserPassword.Equals(encryptOldPassword, StringComparison.CurrentCultureIgnoreCase)) { this.StatusCode = Status.OldPasswordError.ToString(); return(userInfo); } // 对比是否最近2次用过这个密码 if (BaseSystemInfo.CheckPasswordStrength) { /* * int i = 0; * BaseParameterManager manager = new BaseParameterManager(this.DbHelper, this.UserInfo); * var dt = manager.GetDataTableParameterCode("User", this.UserInfo.Id, "Password"); * foreach (DataRow dr in dt.Rows) * { * string parameter = dr[BaseParameterEntity.FieldParameterContent].ToString(); * if (parameter.Equals(newPassword)) * { * this.StatusCode = Status.PasswordCanNotBeRepeat.ToString(); * return userInfo; * } * i++; * { * // 判断连续2个密码就是可以了 * if (i > 2) * { * break; * } * } * } */ } // 更改密码,同时修改密码的修改日期,这里需要兼容多数据库 string salt = string.Empty; if (BaseSystemInfo.ServerEncryptPassword) { salt = BaseRandom.GetRandomString(20); encryptNewPassword = this.EncryptUserPassword(newPassword, salt); } SQLBuilder sqlBuilder = new SQLBuilder(this.DbHelper); sqlBuilder.BeginUpdate(BaseUserLogOnEntity.TableName); if (BaseSystemInfo.ServerEncryptPassword) { sqlBuilder.SetValue(BaseUserLogOnEntity.FieldSalt, salt); } // 宋彪:此处增加更新密码强度级别 sqlBuilder.SetValue(BaseUserLogOnEntity.FieldPasswordStrength, SecretUtil.GetUserPassWordRate(newPassword)); sqlBuilder.SetValue(BaseUserLogOnEntity.FieldUserPassword, encryptNewPassword); // 2015-08-04 吉日嘎拉 修改了密码后,把需要修改密码字段设置为 0 sqlBuilder.SetValue(BaseUserLogOnEntity.FieldNeedModifyPassword, 0); sqlBuilder.SetDBNow(BaseUserLogOnEntity.FieldChangePasswordDate); sqlBuilder.SetWhere(BaseUserLogOnEntity.FieldId, userId); int result = sqlBuilder.EndUpdate(); if (result == 1) { // 2015-12-09 吉日嘎拉 确认已经记录了修改密码日志 // BaseLoginLogManager.AddLog(this.UserInfo, Status.ChangePassword.ToDescription()); // 2015-12-09 吉日嘎拉 增加日志功能、谁什么时候设置了谁的密码? var record = new BaseModifyRecordEntity(); record.TableCode = BaseUserLogOnEntity.TableName.ToUpper(); record.TableDescription = "用户登录信息表"; record.ColumnCode = BaseUserLogOnEntity.FieldUserPassword; record.ColumnDescription = "用户密码"; record.RecordKey = userId; record.NewValue = "修改密码"; // record.OldValue = ""; if (this.UserInfo != null) { record.IPAddress = this.UserInfo.IPAddress; record.CreateUserId = this.UserInfo.Id; record.CreateOn = DateTime.Now; } BaseModifyRecordManager modifyRecordManager = new Business.BaseModifyRecordManager(this.UserInfo, BaseUserEntity.TableName + "_Log"); modifyRecordManager.Add(record, true, false); /* * // 若是强类型密码检查,那就保存密码修改历史,防止最近2-3次的密码相同的功能实现。 * if (BaseSystemInfo.CheckPasswordStrength) * { * BaseParameterManager parameterManager = new BaseParameterManager(this.DbHelper, this.UserInfo); * BaseParameterEntity parameterEntity = new BaseParameterEntity(); * parameterEntity.CategoryCode = "User"; * parameterEntity.ParameterId = this.UserInfo.Id; * parameterEntity.ParameterCode = "Password"; * parameterEntity.ParameterContent = newPassword; * parameterEntity.DeletionStateCode = 0; * parameterEntity.Enabled = true; * parameterEntity.Worked = true; * parameterManager.AddObject(parameterEntity); * } */ userInfo = this.LogOnByOpenId(this.UserInfo.OpenId, this.UserInfo.SystemCode).UserInfo; // 同步处理其他系统的密码修改动作 if (BaseSystemInfo.ServerEncryptPassword) { // AfterChangePassword(this.UserInfo.Id, salt, oldPassword, newPassword); } // 修改密码成功,写入状态 this.StatusCode = Status.ChangePasswordOK.ToString(); } else { // 数据可能被删除 this.StatusCode = Status.ErrorDeleted.ToString(); } return(userInfo); }
/// <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); }