public void RegisterAllFactTypes(Community community, IDictionary <Type, IFieldSerializer> fieldSerializerByType) { community.AddType( Individual._correspondenceFactType, new Individual.CorrespondenceFactFactory(fieldSerializerByType), new FactMetadata(new List <CorrespondenceFactType> { Individual._correspondenceFactType })); community.AddQuery( Individual._correspondenceFactType, Individual.GetQueryMessageBoards().QueryDefinition); community.AddQuery( Individual._correspondenceFactType, Individual.GetQueryShares().QueryDefinition); community.AddQuery( Individual._correspondenceFactType, Individual.GetQueryIsToastNotificationEnabled().QueryDefinition); community.AddType( Share._correspondenceFactType, new Share.CorrespondenceFactFactory(fieldSerializerByType), new FactMetadata(new List <CorrespondenceFactType> { Share._correspondenceFactType })); community.AddQuery( Share._correspondenceFactType, Share.GetQueryIsDeleted().QueryDefinition); community.AddUnpublisher( Share.GetRoleIndividual(), Condition.WhereIsEmpty(Share.GetQueryIsDeleted()) ); community.AddType( ShareDelete._correspondenceFactType, new ShareDelete.CorrespondenceFactFactory(fieldSerializerByType), new FactMetadata(new List <CorrespondenceFactType> { ShareDelete._correspondenceFactType })); community.AddType( MessageBoard._correspondenceFactType, new MessageBoard.CorrespondenceFactFactory(fieldSerializerByType), new FactMetadata(new List <CorrespondenceFactType> { MessageBoard._correspondenceFactType })); community.AddQuery( MessageBoard._correspondenceFactType, MessageBoard.GetQueryMessages().QueryDefinition); community.AddType( Domain._correspondenceFactType, new Domain.CorrespondenceFactFactory(fieldSerializerByType), new FactMetadata(new List <CorrespondenceFactType> { Domain._correspondenceFactType })); community.AddType( Message._correspondenceFactType, new Message.CorrespondenceFactFactory(fieldSerializerByType), new FactMetadata(new List <CorrespondenceFactType> { Message._correspondenceFactType })); community.AddType( EnableToastNotification._correspondenceFactType, new EnableToastNotification.CorrespondenceFactFactory(fieldSerializerByType), new FactMetadata(new List <CorrespondenceFactType> { EnableToastNotification._correspondenceFactType })); community.AddQuery( EnableToastNotification._correspondenceFactType, EnableToastNotification.GetQueryIsDisabled().QueryDefinition); community.AddType( DisableToastNotification._correspondenceFactType, new DisableToastNotification.CorrespondenceFactFactory(fieldSerializerByType), new FactMetadata(new List <CorrespondenceFactType> { DisableToastNotification._correspondenceFactType })); }