internal OrganizationMembership(IJsonOrganizationMembership json, string ownerId, TrelloAuthorization auth) { Id = json.Id; _context = new OrganizationMembershipContext(Id, ownerId, auth); _context.Synchronized += Synchronized; _member = new Field <Member>(_context, nameof(Member)); _memberType = new Field <OrganizationMembershipType?>(_context, nameof(MemberType)); _memberType.AddRule(NullableHasValueRule <OrganizationMembershipType> .Instance); _memberType.AddRule(EnumerationRule <OrganizationMembershipType?> .Instance); _isDeactivated = new Field <bool?>(_context, nameof(IsDeactivated)); TrelloConfiguration.Cache.Add(this); _context.Merge(json); }