/// <summary> /// 添加, 这里可以人工干预,提高程序的性能 /// </summary> /// <param name="entity">实体</param> /// <param name="identity">自增量方式,表主键是否采用自增的策略</param> /// <param name="returnId">返回主键,不返回程序允许速度会快,主要是为了主细表批量插入数据优化用的</param> /// <returns>主键</returns> public string Add(BaseOrganizeScopeEntity entity, bool identity = true, bool returnId = true) { this.Identity = identity; this.ReturnId = returnId; entity.Id = int.Parse(this.AddObject(entity)); return(entity.Id.ToString()); }
public string SetUserOrganizeScope(string systemCode, string userId, PermissionOrganizeScope permissionScope, string permissionCode = "Resource.AccessPermission", bool containChild = false) { string result = string.Empty; string permissionId = BaseModuleManager.GetIdByCodeByCache(systemCode, permissionCode); if (!string.IsNullOrEmpty(permissionId)) { string tableName = BaseOrganizeScopeEntity.TableName; if (!string.IsNullOrEmpty(systemCode)) { tableName = systemCode + "OrganizeScope"; } BaseOrganizeScopeManager organizeScopeManager = new BaseOrganizeScopeManager(this.DbHelper, this.UserInfo, tableName); List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseOrganizeScopeEntity.FieldResourceCategory, BaseUserEntity.TableName)); parameters.Add(new KeyValuePair <string, object>(BaseOrganizeScopeEntity.FieldResourceId, userId)); parameters.Add(new KeyValuePair <string, object>(BaseOrganizeScopeEntity.FieldPermissionId, permissionId)); result = organizeScopeManager.GetId(parameters); BaseOrganizeScopeEntity organizeScopeEntity = null; if (string.IsNullOrEmpty(result)) { organizeScopeEntity = new BaseOrganizeScopeEntity(); } else { organizeScopeEntity = organizeScopeManager.GetObject(result); } organizeScopeEntity.AllData = (permissionScope == PermissionOrganizeScope.AllData ? 1 : 0); organizeScopeEntity.Province = (permissionScope == PermissionOrganizeScope.Province ? 1 : 0); organizeScopeEntity.City = (permissionScope == PermissionOrganizeScope.City ? 1 : 0); organizeScopeEntity.District = (permissionScope == PermissionOrganizeScope.District ? 1 : 0); organizeScopeEntity.UserCompany = (permissionScope == PermissionOrganizeScope.UserCompany ? 1 : 0); organizeScopeEntity.UserSubCompany = (permissionScope == PermissionOrganizeScope.UserSubCompany ? 1 : 0); organizeScopeEntity.UserDepartment = (permissionScope == PermissionOrganizeScope.UserDepartment ? 1 : 0); organizeScopeEntity.UserSubDepartment = (permissionScope == PermissionOrganizeScope.UserSubDepartment ? 1 : 0); organizeScopeEntity.UserWorkgroup = (permissionScope == PermissionOrganizeScope.UserWorkgroup ? 1 : 0); organizeScopeEntity.OnlyOwnData = (permissionScope == PermissionOrganizeScope.OnlyOwnData ? 1 : 0); organizeScopeEntity.ByDetails = (permissionScope == PermissionOrganizeScope.ByDetails ? 1 : 0); organizeScopeEntity.NotAllowed = (permissionScope == PermissionOrganizeScope.NotAllowed ? 1 : 0); organizeScopeEntity.Enabled = 1; organizeScopeEntity.DeletionStateCode = 0; organizeScopeEntity.ContainChild = containChild ? 1 : 0; organizeScopeEntity.PermissionId = int.Parse(permissionId); organizeScopeEntity.ResourceCategory = BaseUserEntity.TableName; organizeScopeEntity.ResourceId = userId; if (string.IsNullOrEmpty(result)) { result = organizeScopeManager.Add(organizeScopeEntity); } else { organizeScopeManager.Update(organizeScopeEntity); } } return(result); }
/// <summary> /// 更新实体 /// </summary> /// <param name="entity">实体</param> public int UpdateObject(BaseOrganizeScopeEntity entity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseOrganizeScopeEntity.FieldModifiedOn); sqlBuilder.SetWhere(this.PrimaryKey, entity.Id); return(sqlBuilder.EndUpdate()); }
/// <summary> /// 设置实体 /// </summary> /// <param name="entity">实体</param> private void SetObject(SQLBuilder sqlBuilder, BaseOrganizeScopeEntity entity) { SetObjectExpand(sqlBuilder, entity); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldResourceCategory, entity.ResourceCategory); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldResourceId, entity.ResourceId); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldPermissionId, entity.PermissionId); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldAllData, entity.AllData); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldProvince, entity.Province); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldCity, entity.City); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldDistrict, entity.District); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldStreet, entity.Street); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldUserCompany, entity.UserCompany); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldUserSubCompany, entity.UserSubCompany); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldUserDepartment, entity.UserDepartment); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldUserSubDepartment, entity.UserSubDepartment); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldUserWorkgroup, entity.UserWorkgroup); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldOnlyOwnData, entity.OnlyOwnData); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldNotAllowed, entity.NotAllowed); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldByDetails, entity.ByDetails); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldContainChild, entity.ContainChild); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldEnabled, entity.Enabled); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldDeletionStateCode, entity.DeletionStateCode); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldDescription, entity.Description); }
/* * public List<BaseOrganizeScopeEntity> GetUserOrganizeScopes(string userId, string permissionCode = "Resource.AccessPermission") * { * List<BaseOrganizeScopeEntity> result = null; * string result = this.GetPermissionIdByCode(permissionCode); * if (!string.IsNullOrEmpty(result)) * { * BaseOrganizeScopeManager organizeScopeManager = new BaseOrganizeScopeManager(this.DbHelper, this.UserInfo); * List<KeyValuePair<string, object>> parameters = new List<KeyValuePair<string, object>>(); * parameters.Add(new KeyValuePair<string, object>(BaseOrganizeScopeEntity.FieldResourceCategory, BaseUserEntity.TableName)); * parameters.Add(new KeyValuePair<string, object>(BaseOrganizeScopeEntity.FieldResourceId, userId)); * parameters.Add(new KeyValuePair<string, object>(BaseOrganizeScopeEntity.FieldPermissionId, result)); * result = organizeScopeManager.GetList<BaseOrganizeScopeEntity>(parameters); * } * return result; * } */ public PermissionOrganizeScope GetUserOrganizeScope(string systemCode, string userId, out bool containChild, string permissionCode = "Resource.AccessPermission") { containChild = false; PermissionOrganizeScope permissionScope = PermissionOrganizeScope.UserCompany; BaseOrganizeScopeEntity organizeScopeEntity = null; string permissionId = BaseModuleManager.GetIdByCodeByCache(systemCode, permissionCode); if (!string.IsNullOrEmpty(permissionId)) { string tableName = BaseOrganizeScopeEntity.TableName; if (!string.IsNullOrEmpty(systemCode)) { tableName = systemCode + "OrganizeScope"; } BaseOrganizeScopeManager organizeScopeManager = new BaseOrganizeScopeManager(this.DbHelper, this.UserInfo, tableName); List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseOrganizeScopeEntity.FieldResourceCategory, BaseUserEntity.TableName)); parameters.Add(new KeyValuePair <string, object>(BaseOrganizeScopeEntity.FieldResourceId, userId)); parameters.Add(new KeyValuePair <string, object>(BaseOrganizeScopeEntity.FieldPermissionId, permissionId)); DataTable dt = organizeScopeManager.GetDataTable(parameters); if (dt != null && dt.Rows.Count > 0) { organizeScopeEntity = BaseOrganizeScopeEntity.Create <BaseOrganizeScopeEntity>(dt); } } if (organizeScopeEntity != null) { if (organizeScopeEntity.ContainChild == 1) { containChild = true; } if (organizeScopeEntity.AllData == 1) { permissionScope = PermissionOrganizeScope.AllData; } if (organizeScopeEntity.Province == 1) { permissionScope = PermissionOrganizeScope.Province; } if (organizeScopeEntity.City == 1) { permissionScope = PermissionOrganizeScope.City; } if (organizeScopeEntity.District == 1) { permissionScope = PermissionOrganizeScope.District; } if (organizeScopeEntity.ByDetails == 1) { permissionScope = PermissionOrganizeScope.ByDetails; } if (organizeScopeEntity.NotAllowed == 1) { permissionScope = PermissionOrganizeScope.NotAllowed; } if (organizeScopeEntity.OnlyOwnData == 1) { permissionScope = PermissionOrganizeScope.OnlyOwnData; } if (organizeScopeEntity.UserCompany == 1) { permissionScope = PermissionOrganizeScope.UserCompany; } if (organizeScopeEntity.UserSubCompany == 1) { permissionScope = PermissionOrganizeScope.UserSubCompany; } if (organizeScopeEntity.UserDepartment == 1) { permissionScope = PermissionOrganizeScope.UserDepartment; } if (organizeScopeEntity.UserSubDepartment == 1) { permissionScope = PermissionOrganizeScope.UserSubDepartment; } if (organizeScopeEntity.UserWorkgroup == 1) { permissionScope = PermissionOrganizeScope.UserWorkgroup; } } return(permissionScope); }
// 这个是声明扩展方法 partial void SetObjectExpand(SQLBuilder sqlBuilder, BaseOrganizeScopeEntity entity);
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseOrganizeScopeEntity entity) { string key = string.Empty; SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, this.PrimaryKey); if (!this.Identity) { // 这里已经是指定了主键了,所以不需要返回主键了 sqlBuilder.ReturnId = false; sqlBuilder.SetValue(this.PrimaryKey, entity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { // 2015-09-25 吉日嘎拉 用一个序列就可以了,不用那么多序列了 sqlBuilder.SetFormula(this.PrimaryKey, "SEQ_" + BaseOrganizeScopeEntity.TableName.ToUpper() + ".NEXTVAL "); // sqlBuilder.SetFormula(this.PrimaryKey, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { // sqlBuilder.SetFormula(this.PrimaryKey, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); sqlBuilder.SetFormula(this.PrimaryKey, "NEXT VALUE FOR SEQ_" + BaseOrganizeScopeEntity.TableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { // BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper); // entity.Id = int.Parse(sequenceManager.Increment(BasePermissionEntity.TableName)); // entity.Id = int.Parse(sequenceManager.Increment(this.CurrentTableName)); // sqlBuilder.SetValue(this.PrimaryKey, entity.Id); sqlBuilder.SetFormula(this.PrimaryKey, "SEQ_" + BaseOrganizeScopeEntity.TableName.ToUpper() + ".NEXTVAL "); } } } this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldCreateBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseOrganizeScopeEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseOrganizeScopeEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseOrganizeScopeEntity.FieldModifiedOn); if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access)) { key = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { return(entity.Id.ToString()); } return(key); }
/// <summary> /// 更新 /// </summary> /// <param name="entity">实体</param> public int Update(BaseOrganizeScopeEntity entity) { return(this.UpdateObject(entity)); }