public ClientDetailResource(ClientDetail client, UrlHelper url, IdentityAdminMetadata idmAdminMeta)
        {
            if (client == null) throw new ArgumentNullException("client");
            if (url == null) throw new ArgumentNullException("url");
            if (idmAdminMeta == null) throw new ArgumentNullException("idmAdminMeta");

            Data = new ClientDetailDataResource(client, url, idmAdminMeta);

            var links = new Dictionary<string, string>();
            if (idmAdminMeta.ClientMetaData.SupportsDelete)
            {
                links["Delete"] = url.RelativeLink(Constants.RouteNames.DeleteClient, new {subject = client.Subject});
            }
            Links = links;
        }
        public ScopeDetailResource(ScopeDetail scope, UrlHelper url, IdentityAdminMetadata idmAdminMeta)
        {
            if (scope == null) throw new ArgumentNullException("scope");
            if (url == null) throw new ArgumentNullException("url");
            if (idmAdminMeta == null) throw new ArgumentNullException("idmAdminMeta");

            Data = new ScopeDetailDataResource(scope, url, idmAdminMeta);

            var links = new Dictionary<string, string>();
            if (idmAdminMeta.ClientMetaData.SupportsDelete)
            {
                links["Delete"] = url.RelativeLink(Constants.RouteNames.DeleteScope, new { subject = scope.Subject });
            }
            Links = links;
        }