示例#1
0
 public static void PopulateOrganisationRoleProperties(OrganisationRole cimOrganisationRole, ResourceDescription rd)
 {
     if ((cimOrganisationRole != null) && (rd != null))
     {
         PowerTransformerConverter.PopulateIdentifiedObjectProperties(cimOrganisationRole, rd);
     }
 }
示例#2
0
        /// <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));
            }
        }
示例#3
0
        /// <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);
        }