/// <summary> /// 查询指定角色名的角色 /// </summary> /// <param name="Public"></param> /// <param name="RoleName"></param> /// <returns></returns> public static TeamRole[] GetRoleByName(this Public Public, string RoleName) { TeamRole factor = new TeamRole(string.Empty, RoleName); EntityQueryRequest<TeamRole> query = new EntityQueryRequest<TeamRole>(); query.AppendConditionMap(factor.Name, () => factor.Name); return Actor.Public.BuildEntityProcessor("SecurityApp").QueryEntity(query); }
/// <summary> /// 角色实体数据映射 /// </summary> /// <param name="reader"></param> /// <returns></returns> public static TeamRole Role_Map(DataReader reader) { TeamRole role = new TeamRole(reader.GetString("RoleID"), reader.GetStringNullable("RoleName")) { RoleDescription = reader.GetString("Description") }; return role; }
static RoleRepository() { TeamRole entity = new TeamRole(Guid.NewGuid().ToString(), string.Empty); Type type = entity.GetType(); AppendDataMap(type, "RoleID", () => entity.ID); AppendDataMap(type, "RoleName", () => entity.Name); AppendDataMap(type, "Description", () => entity.RoleDescription); ResultMapDelegate<TeamRole> queryMap = Role_Map; QueryMapContainer[entity.GetType()] = queryMap; }
/// <summary> /// 创建新角色,不允许角色名重复 /// </summary> /// <param name="Public"></param> /// <param name="RoleName"></param> /// <param name="RoleDescription"></param> /// <returns></returns> public static TeamRole CreateRole(this Public Public, string RoleName, string RoleDescription) { if (Actor.Public.GetRoleByName(RoleName).IsNotNullAndEmpty()) { return default(TeamRole); } TeamRole factor = new TeamRole(Actor.Public .AsUserManager ().GenerateRoleID(), RoleName) { RoleDescription = RoleDescription }; EntityPostRequest createquest = new EntityPostRequest(EntityPostRequest.EntityPostMethod.Create) { Entity = factor }; createquest.AppendFieldMap(factor.ID, () => factor.ID); createquest.AppendFieldMap(factor.Name, () => factor.Name); createquest.AppendFieldMap(factor.RoleDescription, () => factor.RoleDescription); Actor.Public.BuildEntityProcessor("SecurityApp").UpdateEntity(createquest); return factor; }
public static TeamRole GetRole(this Public Public, string RoleID) { TeamRole factor = new TeamRole(RoleID, string.Empty); EntityQueryRequest<TeamRole> query = new EntityQueryRequest<TeamRole>(); query.AppendConditionMap(factor.ID, () => factor.ID); return Actor.Public.BuildEntityProcessor("SecurityApp").QueryEntity(query).FirstOrDefault(); }
static EntityPostRequest BuilddeleteRoleRequest(string roleid) { TeamRole role = new TeamRole(roleid, string.Empty); EntityPostRequest request = new EntityPostRequest(EntityPostRequest.EntityPostMethod.Delete) { Entity = role }; request.AppendConditionMap(role.ID, () => role.ID); return request; }