public JsonValue ToJson(JsonSerializer serializer) { var json = new JsonObject(); Id.Serialize(json, serializer, "id"); Name.Serialize(json, serializer, "name"); DisplayName.Serialize(json, serializer, "displayName"); Desc.Serialize(json, serializer, "desc"); Website.Serialize(json, serializer, "website"); if (Prefs != null) { Prefs.PermissionLevel.Serialize(json, serializer, "prefs/permissionLevel"); Prefs.OrgInviteRestrict.Serialize(json, serializer, "prefs/orgInviteRestrict"); if (string.IsNullOrWhiteSpace(Prefs.AssociatedDomain)) { json.Add("prefs/associatedDomain", JsonValue.Null); } else { Prefs.AssociatedDomain.Serialize(json, serializer, "prefs/associatedDomain"); } if (Prefs.BoardVisibilityRestrict != null) { Prefs.BoardVisibilityRestrict.Private.Serialize(json, serializer, "prefs/boardVisibilityRestrict/private"); Prefs.BoardVisibilityRestrict.Org.Serialize(json, serializer, "prefs/boardVisibilityRestrict/org"); Prefs.BoardVisibilityRestrict.Public.Serialize(json, serializer, "prefs/boardVisibilityRestrict/public"); } } return(json); }