/// <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="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="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> /// <returns>影响行数</returns> public int ResetVisitInfo() { int returnValue = 0; 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); returnValue = sqlBuilder.EndUpdate(); return(returnValue); }
/// <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(); }
/// <summary> /// 更新实体 /// </summary> /// <param name="itemsEntity">实体</param> public int UpdateEntity(CiItemsEntity itemsEntity) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, itemsEntity); if (UserInfo != null) { sqlBuilder.SetValue(CiItemsTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(CiItemsTable.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(CiItemsTable.FieldModifiedOn); sqlBuilder.SetWhere(CiItemsTable.FieldId, itemsEntity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="piPlatFormAddInEntity">实体</param> public int UpdateEntity(PiPlatFormAddInEntity piPlatFormAddInEntity) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, piPlatFormAddInEntity); if (UserInfo != null) { sqlBuilder.SetValue(PiPlatFormAddInTable.FieldModifiedBy, UserInfo.RealName); sqlBuilder.SetValue(PiPlatFormAddInTable.FieldModifiedUserId, piPlatFormAddInEntity.ModifiedUserId); } sqlBuilder.SetDBNow(PiPlatFormAddInTable.FieldModifiedOn); sqlBuilder.SetWhere(PiPlatFormAddInTable.FieldId, piPlatFormAddInEntity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="workFlowTemplateEntity">实体</param> public int UpdateEntity(WorkFlowTemplateEntity workFlowTemplateEntity) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, workFlowTemplateEntity); if (UserInfo != null) { sqlBuilder.SetValue(WorkFlowTemplateTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(WorkFlowTemplateTable.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(WorkFlowTemplateTable.FieldModifiedOn); sqlBuilder.SetWhere(WorkFlowTemplateTable.FieldWorkFlowId, workFlowTemplateEntity.WorkFlowId); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 更新实体 /// </summary> /// <param name="entity">实体</param> public int UpdateEntity(PiPermissionEntity entity) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(PiPermissionTable.TableName); this.SetEntity(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(PiPermissionTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(PiPermissionTable.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(PiPermissionTable.FieldModifiedOn); sqlBuilder.SetWhere(PiPermissionTable.FieldId, entity.Id); return(sqlBuilder.EndUpdate()); }
public int UpdateFile(string id, string fileName, byte[] file) { var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(CiFileTable.TableName); sqlBuilder.SetValue(CiFileTable.FieldFileName, fileName); if (file != null) { sqlBuilder.SetValue(CiFileTable.FieldFileContent, file); sqlBuilder.SetValue(CiFileTable.FieldFileSize, file.Length); } sqlBuilder.SetValue(CiFileTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(CiFileTable.FieldModifiedBy, UserInfo.RealName); sqlBuilder.SetDBNow(CiFileTable.FieldModifiedOn); sqlBuilder.SetWhere(CiFileTable.FieldId, id); return(sqlBuilder.EndUpdate()); }
// // 重置序列(暂不考虑并发问题) // #region public int Reset(string[] ids) 批量重置 /// <summary> /// 批量重置 /// </summary> /// <param name="ids">主键数组</param> /// <returns>影响行数</returns> public int Reset(string[] ids) { int returnValue = 0; SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); for (int i = 0; i < ids.Length; i++) { if (ids[i].Length > 0) { sqlBuilder.BeginUpdate(CiSequenceTable.TableName); sqlBuilder.SetValue(CiSequenceTable.FieldSequence, this.DefaultSequence); sqlBuilder.SetValue(CiSequenceTable.FieldReduction, this.DefaultReduction); sqlBuilder.SetWhere(CiSequenceTable.FieldId, ids[i]); returnValue += sqlBuilder.EndUpdate(); } } return(returnValue); }
/// <summary> /// 更新实体 /// </summary> /// <param name="queryEngineDefineEntity">实体</param> /// <param name="statusCode">返回状态码</param> /// <returns>影响行数</returns> public int UpdateEntity(QueryEngineDefineEntity queryEngineDefineEntity, out string statusCode) { SQLBuilder sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetEntity(sqlBuilder, queryEngineDefineEntity); if (UserInfo != null) { sqlBuilder.SetValue(QueryEngineDefineTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(QueryEngineDefineTable.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(QueryEngineDefineTable.FieldModifiedOn); sqlBuilder.SetWhere(QueryEngineDefineTable.FieldId, queryEngineDefineEntity.Id); int returnValue = sqlBuilder.EndUpdate(); statusCode = returnValue == 1 ? StatusCode.OKUpdate.ToString() : StatusCode.ErrorDeleted.ToString(); return(returnValue); }
public int Update(string id, string folderId, string fileName, string description, bool enabled, out string statusCode) { statusCode = string.Empty; var sqlBuilder = new SQLBuilder(DBProvider); sqlBuilder.BeginUpdate(CiFileTable.TableName); sqlBuilder.SetValue(CiFileTable.FieldFolderId, folderId); sqlBuilder.SetValue(CiFileTable.FieldFileName, fileName); sqlBuilder.SetValue(CiFileTable.FieldEnabled, enabled); sqlBuilder.SetValue(CiFileTable.FieldDescription, description); sqlBuilder.SetValue(CiFileTable.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(CiFileTable.FieldModifiedBy, UserInfo.RealName); sqlBuilder.SetDBNow(CiFileTable.FieldModifiedOn); sqlBuilder.SetWhere(CiFileTable.FieldId, id); var returnValue = sqlBuilder.EndUpdate(); statusCode = returnValue > 0 ? StatusCode.OKUpdate.ToString() : StatusCode.ErrorDeleted.ToString(); return(returnValue); }