public static void PopulateOrganisationRoleProperties(OrganisationRole cimOrganisationRole, ResourceDescription rd) { if ((cimOrganisationRole != null) && (rd != null)) { PowerTransformerConverter.PopulateIdentifiedObjectProperties(cimOrganisationRole, rd); } }
/// <summary> /// Gets an organisation role /// </summary> /// <param name="dbCtx"></param> /// <param name="role"></param> /// <returns></returns> public async Task <Role> GetOrgRoleAsync(DbContext dbCtx, OrganisationRole role) { switch (role) { case OrganisationRole.Admin: return(await GetOrgAdminRoleAsync(dbCtx)); case OrganisationRole.Owner: return(await GetOrgOwnerRoleAsync(dbCtx)); case OrganisationRole.Member: default: return(await GetOrgMemberRoleAsync(dbCtx)); } }
/// <summary> /// Adds a member to an organisation /// </summary> /// <param name="dbCtx"></param> /// <param name="user"></param> /// <param name="userAccountService"></param> /// <param name="role"></param> /// <returns></returns> public async Task AddOrganisationUser <TAccount>(DbContext dbCtx, MapHiveUser user, UserAccountService <TAccount> userAccountService, OrganisationRole role = OrganisationRole.Member) where TAccount : RelationalUserAccount { this.AddLink(user); await this.UpdateAsync(dbCtx); //by default assign a member role to a user var memberRole = await this.GetOrgRoleAsync(dbCtx, role); user.AddLink(memberRole); await user.UpdateAsync(dbCtx, userAccountService); }