/// <summary> /// 设置属性 /// </summary> /// <param name="dbProvider">数据库连接</param> /// <param name="tableName">目标表名</param> /// <param name="name1">条件字段</param> /// <param name="value1">条件值</param> /// <param name="name2">条件字段</param> /// <param name="value2">条件值</param> /// <param name="targetField">更新字段</param> /// <param name="targetValue">更新值</param> /// <returns>影响行数</returns> public static int SetProperty(IDbProvider dbProvider, string tableName, string name1, object value1, string name2, object value2, string targetField, object targetValue) { SQLBuilder sqlBuilder = new SQLBuilder(dbProvider); sqlBuilder.BeginUpdate(tableName); sqlBuilder.SetValue(targetField, targetValue); // sqlBuilder.SetDBNow(FieldModifiedOn); sqlBuilder.SetWhere(name1, value1); sqlBuilder.SetWhere(name2, value2); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 阅读短信后设置状态值和阅读次数 /// </summary> /// <param name="messageEntity">实体</param> /// <param name="id">短信主键</param> /// <returns>影响的条数</returns> private int OnRead(CiMessageEntity messageEntity, string id) { int returnValue = 0; // 针对“已发送”的情况 if (messageEntity.ReceiverId == UserInfo.Id) { // 针对“删除的信息”的情况 if (messageEntity.IsNew == (int)MessageStateCode.New) { SQLBuilder sqlBuilder = new SQLBuilder(this.DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetValue(CiMessageTable.FieldIsNew, ((int)MessageStateCode.Old).ToString()); sqlBuilder.SetDBNow(CiMessageTable.FieldReadDate); sqlBuilder.SetWhere(CiMessageTable.FieldId, id); sqlBuilder.EndUpdate(); } } // 增加阅读次数 messageEntity.ReadCount++; this.SetProperty(id, CiMessageTable.FieldReadCount, messageEntity.ReadCount.ToString()); returnValue++; return(returnValue); }
/// <summary> /// 更新实体 /// </summary> /// <param name="accreditUserEntity">实体</param> public int UpdateEntity(AccreditUserEntity accreditUserEntity) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, accreditUserEntity); sqlBuilder.SetWhere(AccreditUserTable.FieldAUserId, accreditUserEntity.AUserId); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="auditMessageEntity">实体</param> public int UpdateEntity(AuditMessageEntity auditMessageEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, auditMessageEntity); sqlBuilder.SetWhere(AuditMessageTable.FieldAuditId, auditMessageEntity.AuditId); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="workFlowServiceEntity">实体</param> public int UpdateEntity(WorkFlowServiceEntity workFlowServiceEntity) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, workFlowServiceEntity); sqlBuilder.SetWhere(WorkFlowServiceTable.FieldServiceId, workFlowServiceEntity.ServiceId); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="taskVarEntity">实体</param> public int UpdateEntity(TaskVarEntity taskVarEntity) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, taskVarEntity); sqlBuilder.SetWhere(TaskVarTable.FieldTaskVarId, taskVarEntity.TaskVarId); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新降序序列 /// </summary> /// <param name="fullName">序列名称</param> /// <returns>影响行数</returns> protected int UpdateReduction(string fullName) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(CiSequenceTable.TableName); sqlBuilder.SetFormula(CiSequenceTable.FieldReduction, CiSequenceTable.FieldReduction + " - " + CiSequenceTable.FieldStep); sqlBuilder.SetWhere(CiSequenceTable.FieldFullName, fullName); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="userControlsLinkEntity">实体</param> public int UpdateEntity(UserControlsLinkEntity userControlsLinkEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, userControlsLinkEntity); sqlBuilder.SetWhere(UserControlsLinkTable.FieldId, userControlsLinkEntity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="testdemoEntity">实体</param> public int UpdateEntity(testdemoEntity testdemoEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, testdemoEntity); sqlBuilder.SetWhere(testdemoTable.FieldID, testdemoEntity.ID); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="workTaskCommandsEntity">实体</param> public int UpdateEntity(WorkTaskCommandsEntity workTaskCommandsEntity) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, workTaskCommandsEntity); sqlBuilder.SetWhere(WorkTaskCommandsTable.FieldCommandId, workTaskCommandsEntity.CommandId); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="ciSequenceEntity">实体</param> public int UpdateEntity(CiSequenceEntity ciSequenceEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, ciSequenceEntity); sqlBuilder.SetWhere(CiSequenceTable.FieldId, ciSequenceEntity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="workFlowEventEntity">实体</param> public int UpdateEntity(WorkFlowEventEntity workFlowEventEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, workFlowEventEntity); sqlBuilder.SetWhere(WorkFlowEventTable.FieldGuid, workFlowEventEntity.Guid); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="subWorkFlowEntity">实体</param> public int UpdateEntity(SubWorkFlowEntity subWorkFlowEntity) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, subWorkFlowEntity); sqlBuilder.SetWhere(SubWorkFlowTable.FieldSubId, subWorkFlowEntity.SubId); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="workTaskInsNextOperEntity">实体</param> public int UpdateEntity(WorkTaskInsNextOperEntity workTaskInsNextOperEntity) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, workTaskInsNextOperEntity); sqlBuilder.SetWhere(WorkTaskInsNextOperTable.FieldNextOperId, workTaskInsNextOperEntity.NextOperId); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="operatorEntity">实体</param> public int UpdateEntity(OperatorEntity operatorEntity) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, operatorEntity); sqlBuilder.SetWhere(OperatorTable.FieldOperatorId, operatorEntity.OperatorId); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新升序序列 /// </summary> /// <param name="fullName">序列名称</param> /// <param name="sequenceCount">序列个数</param> /// <returns>影响行数</returns> protected int UpdateSequence(string fullName, int sequenceCount) { // 更新数据库里的值 SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(CiSequenceTable.TableName); sqlBuilder.SetFormula(CiSequenceTable.FieldSequence, CiSequenceTable.FieldSequence + " + " + sequenceCount.ToString() + " * " + CiSequenceTable.FieldStep); sqlBuilder.SetWhere(CiSequenceTable.FieldFullName, fullName); return(sqlBuilder.EndUpdate()); }
private int UpdateReadCount(string id) { // 阅读次数要加一 var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(CiFileTable.TableName); sqlBuilder.SetFormula(CiFileTable.FieldReadCount, CiFileTable.FieldReadCount + " + 1 "); sqlBuilder.SetWhere(CiFileTable.FieldId, id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 设置属性 /// </summary> /// <param name="dbProvider">数据库连接</param> /// <param name="tableName">目标表名</param> /// <param name="names">条件字段</param> /// <param name="values">条件值</param> /// <param name="targetField">更新字段</param> /// <param name="targetValue">更新值</param> /// <returns>影响行数</returns> public static int SetProperty(IDbProvider dbProvider, string tableName, string[] names, Object[] values, string targetField, object targetValue) { SQLBuilder sqlBuilder = new SQLBuilder(dbProvider); sqlBuilder.BeginUpdate(tableName); sqlBuilder.SetValue(targetField, targetValue); // sqlBuilder.SetDBNow(BusinessLogic.FieldModifiedOn); sqlBuilder.SetWhere(names, values); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="piOrganizeEntity">实体</param> public int UpdateEntity(PiOrganizeEntity piOrganizeEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, piOrganizeEntity); sqlBuilder.SetDBNow(PiOrganizeTable.FieldModifiedOn); sqlBuilder.SetWhere(PiOrganizeTable.FieldId, piOrganizeEntity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新记录 /// </summary> /// <param name="dbProvider">数据库连接</param> /// <param name="tableName">目标表名</param> /// <param name="name">主键</param> /// <param name="value">主键值</param> /// <param name="targetField">更新字段</param> /// <param name="targetValue">更新值</param> /// <returns>影响行数</returns> public static int UpdateRecord(IDbProvider dbProvider, string tableName, string name, string value, string targetField, object targetValue) { int returnValue = 0; SQLBuilder sqlBuilder = new SQLBuilder(dbProvider); sqlBuilder.BeginUpdate(tableName); sqlBuilder.SetValue(targetField, targetValue); sqlBuilder.SetWhere(name, value); returnValue = sqlBuilder.EndUpdate(); return(returnValue); }
/// <summary> /// 更新密码 /// </summary> /// <param name="oldPassword">原密码</param> /// <param name="newPassword">新密码</param> /// <param name="statusCode">返回状态码</param> /// <returns>影响行数</returns> public virtual int ChangePassword(string oldPassword, string newPassword, out string statusCode) { int returnValue = 0; // 密码强度检查 if (SystemInfo.EnableCheckPasswordStrength) { if (String.IsNullOrEmpty(newPassword)) { statusCode = StatusCode.PasswordCanNotBeNull.ToString(); return(returnValue); } //最小长度、字母数字组合等强度检查 if (!ValidateUtil.EnableCheckPasswordStrength(newPassword)) { statusCode = StatusCode.PasswordNotStrength.ToString(); return(returnValue); } } // 加密密码 if (SystemInfo.EnableEncryptServerPassword) { oldPassword = this.EncryptUserPassword(oldPassword); newPassword = this.EncryptUserPassword(newPassword); } // 判断输入原始密码是否正确 PiUserLogOnEntity entity = new PiUserLogOnManager(this.DBProvider, this.UserInfo).GetEntity(UserInfo.Id); if (entity.UserPassword == null) { entity.UserPassword = string.Empty; } // 密码错误 if (!entity.UserPassword.Equals(oldPassword)) { statusCode = StatusCode.OldPasswordError.ToString(); return(returnValue); } // 更改密码,同时修改密码的修改日期,这里需要兼容多数据库 var sqlBuilder = new SQLBuilder(this.DBProvider); sqlBuilder.BeginUpdate(PiUserLogOnTable.TableName); sqlBuilder.SetValue(PiUserLogOnTable.FieldUserPassword, newPassword); sqlBuilder.SetDBNow(PiUserLogOnTable.FieldChangePasswordDate); sqlBuilder.SetWhere(PiUserLogOnTable.FieldId, UserInfo.Id); returnValue = sqlBuilder.EndUpdate(); statusCode = returnValue == 1 ? StatusCode.ChangePasswordOK.ToString() : StatusCode.ErrorDeleted.ToString(); return(returnValue); }
/// <summary> /// 用户角色关系是否有模块权限 /// </summary> /// <param name="roleId">角色主键</param> /// <param name="permissionItemCode">权限编号</param> /// <returns>有角色权限</returns> public bool CheckPermissionByRole(string roleId, string permissionItemCode) { var permissionItemManager = new PiPermissionItemManager(DBProvider, UserInfo); var permissionItemId = permissionItemManager.GetProperty(PiPermissionItemTable.FieldCode, permissionItemCode, PiPermissionItemTable.FieldId); // 判断当前判断的权限是否存在,否则很容易出现前台设置了权限,后台没此项权限 // 需要自动的能把前台判断过的权限,都记录到后台来 #if (DEBUG) if (String.IsNullOrEmpty(permissionItemId)) { PiPermissionItemEntity permissionItemEntity = new PiPermissionItemEntity { Code = permissionItemCode, FullName = permissionItemCode, ParentId = "", IsScope = 0, AllowDelete = 1, AllowEdit = 1, DeleteMark = 0, Enabled = 1 }; // 这里是防止主键重复? // permissionEntity.ID = BusinessLogic.NewGuid(); permissionItemManager.AddEntity(permissionItemEntity); } else { // 更新最后一次访问日期,设置为当前服务器日期 SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(PiPermissionItemTable.TableName); sqlBuilder.SetDBNow(PiPermissionItemTable.FieldLastCall); sqlBuilder.SetWhere(PiPermissionItemTable.FieldId, permissionItemId); sqlBuilder.EndUpdate(); } #endif if (string.IsNullOrEmpty(permissionItemId)) { return(false); } var sqlQuery = " SELECT COUNT(*) " + " FROM " + PiPermissionTable.TableName + " WHERE " + "(" + PiPermissionTable.FieldResourceCategory + " = '" + PiRoleTable.TableName + "') " + " AND (" + PiPermissionTable.FieldEnabled + " = 1) " + " AND (" + PiPermissionTable.FieldResourceId + " = '" + roleId + "' ) " + " AND (" + PiPermissionTable.FieldPermissionId + " = '" + permissionItemId + "') "; var rowCount = 0; var returnObject = DBProvider.ExecuteScalar(sqlQuery); if (returnObject != null) { rowCount = int.Parse(returnObject.ToString()); } return(rowCount > 0); }
/// <summary> /// 重置访问情况 /// </summary> /// <param name="id">主键</param> /// <returns>影响行数</returns> private int ResetVisitInfo(string id) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); sqlBuilder.SetNull(PiUserLogOnTable.FieldFirstVisit); sqlBuilder.SetNull(PiUserLogOnTable.FieldPreviousVisit); sqlBuilder.SetNull(PiUserLogOnTable.FieldLastVisit); sqlBuilder.SetValue(PiUserLogOnTable.FieldLogOnCount, 0); sqlBuilder.SetWhere(PiUserLogOnTable.FieldId, id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 离开时的日志记录 /// </summary> /// <param name="userInfo">用户</param> /// <param name="logId">日志主键</param> public void WriteExit(UserInfo userInfo, string logId) { var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, string.Empty); ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider => { var sqlBuilder = new SQLBuilder(dbProvider); sqlBuilder.BeginUpdate(CiLogTable.TableName); sqlBuilder.SetWhere(CiLogTable.FieldId, logId); sqlBuilder.EndUpdate(); }); }
/// <summary> /// Update 更新的主键 /// </summary> /// <param name="folderEntity">文件夹对象</param> /// <returns>影响行数</returns> public int UpdateEntity(CiFolderEntity folderEntity) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(CiFolderTable.TableName); this.SetEntity(sqlBuilder, folderEntity); sqlBuilder.SetValue(CiFolderTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(CiFolderTable.FieldModifiedBy, UserInfo.RealName); sqlBuilder.SetDBNow(CiFolderTable.FieldModifiedOn); sqlBuilder.SetWhere(CiFolderTable.FieldId, folderEntity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 获取一个操作权限的主键 /// 若不存在就自动增加一个 /// </summary> /// <param name="permissionItemCode">操作权限编号</param> /// <param name="permissionItemName">操作权限名称</param> /// <returns>主键</returns> public string GetIdByAdd(string permissionItemCode, string permissionItemName = null) { // 判断当前判断的权限是否存在,否则很容易出现前台设置了权限,后台没此项权限 // 需要自动的能把前台判断过的权限,都记录到后台来 string[] names = { PiPermissionItemTable.FieldDeleteMark, PiPermissionItemTable.FieldEnabled, PiPermissionItemTable.FieldCode }; object[] values = { 0, 1, permissionItemCode }; var permissionItemEntity = new PiPermissionItemEntity(); permissionItemEntity = BaseEntity.Create <PiPermissionItemEntity>(this.GetDT(names, values, PiPermissionItemTable.FieldId)); string permissionItemId = string.Empty; if (permissionItemEntity.Id != null) { permissionItemId = permissionItemEntity.Id; } // 不存在的权限就自动加入。 if (String.IsNullOrEmpty(permissionItemId)) { // 这里需要进行一次加锁,方式并发冲突发生 lock (PermissionItemLock) { permissionItemEntity.Code = permissionItemCode; permissionItemEntity.FullName = string.IsNullOrEmpty(permissionItemName) ? permissionItemCode : permissionItemName; permissionItemEntity.CategoryCode = "Application"; permissionItemEntity.ParentId = null; permissionItemEntity.ModuleId = null; permissionItemEntity.IsScope = 0; permissionItemEntity.IsPublic = 0; permissionItemEntity.AllowDelete = 1; permissionItemEntity.AllowEdit = 1; permissionItemEntity.Enabled = 1; permissionItemEntity.DeleteMark = 0; // 这里是防止主键重复? permissionItemEntity.Id = BusinessLogic.NewGuid(); permissionItemId = this.AddEntity(permissionItemEntity); } } else { // 更新最后一次访问日期,设置为当前服务器日期 var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(PiPermissionItemTable.TableName); sqlBuilder.SetDBNow(PiPermissionItemTable.FieldLastCall); sqlBuilder.SetWhere(PiPermissionItemTable.FieldId, permissionItemId); sqlBuilder.EndUpdate(); } return(permissionItemId); }
/// <summary> /// 设置属性 /// </summary> /// <param name="dbProvider">数据库连接</param> /// <param name="tableName">目标表名</param> /// <param name="name">条件字段</param> /// <param name="value">条件值</param> /// <param name="targetFields">更新字段</param> /// <param name="targetValues">更新值</param> /// <returns>影响行数</returns> public static int SetProperty(IDbProvider dbProvider, string tableName, string name, Object[] value, string[] targetFields, Object[] targetValues) { SQLBuilder sqlBuilder = new SQLBuilder(dbProvider); sqlBuilder.BeginUpdate(tableName); for (int i = 0; i < targetFields.Length; i++) { sqlBuilder.SetValue(targetFields[i], targetValues[i]); } // sqlBuilder.SetDBNow(BusinessLogic.FieldModifiedOn); sqlBuilder.SetWhere(name, value); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 设置属性 /// </summary> /// <param name="dbProvider">数据库连接</param> /// <param name="tableName">目标表名</param> /// <param name="whereParameters">条件字段,条件值</param> /// <param name="parameters">更新字段,更新值</param> /// <returns>影响行数</returns> public static int SetProperty(IDbProvider dbProvider, string tableName, List <KeyValuePair <string, object> > whereParameters, List <KeyValuePair <string, object> > parameters) { SQLBuilder sqlBuilder = new SQLBuilder(dbProvider); 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="cIMESSAGEEntity">实体</param> public int UpdateEntity(CiMessageEntity cIMESSAGEEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, cIMESSAGEEntity); if (UserInfo != null) { sqlBuilder.SetValue(CiMessageTable.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(CiMessageTable.FieldModifiedOn); sqlBuilder.SetWhere(CiMessageTable.FieldId, cIMESSAGEEntity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="staffEntity">实体</param> public int UpdateEntity(PiStaffEntity staffEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(PiStaffTable.TableName); this.SetEntity(sqlBuilder, staffEntity); if (UserInfo != null) { sqlBuilder.SetValue(PiStaffTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(PiStaffTable.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(PiStaffTable.FieldModifiedOn); sqlBuilder.SetWhere(PiStaffTable.FieldId, staffEntity.Id); return sqlBuilder.EndUpdate(); }