Repository Service with Notification Support
INotifyRepositoryService<TModel>
in assembly SanteDB.Core.Api version 3.0.1980.0
Summary
A IRepositoryService which can notify other classes of changes to data
Events
Inserting
EventHandler<DataPersistingEventArgs<TModel>>
Data is inserting
Inserted
EventHandler<DataPersistedEventArgs<TModel>>
Fired after data was inserted
Saving
EventHandler<DataPersistingEventArgs<TModel>>
Fired before saving
Saved
EventHandler<DataPersistedEventArgs<TModel>>
Fired after data was saved
Deleting
EventHandler<DataPersistingEventArgs<TModel>>
Fired before obsoleting
Deleted
EventHandler<DataPersistedEventArgs<TModel>>
Fired after data was obsoleted
Retrieving
EventHandler<DataRetrievingEventArgs<TModel>>
Retrieving the data
Retrieved
EventHandler<DataRetrievedEventArgs<TModel>>
Fired after data was retrieved
Querying
EventHandler<QueryRequestEventArgs<TModel>>
Fired after data was queried
Queried
EventHandler<QueryResultEventArgs<TModel>>
Fired after data was queried
Implementations
GenericLocalActRepository<TAct> - (SanteDB.Core.Api)
Represents an act repository service.
GenericLocalClinicalDataRepository<TModel> - (SanteDB.Core.Api)
Represents generic local clinical data repository
GenericLocalConceptRepository<TModel> - (SanteDB.Core.Api)
Generic local concept repository with sufficient permissions
GenericLocalMetadataRepository<TMetadata> - (SanteDB.Core.Api)
Provides generic basis for metadata editing
Local Repository Service - (SanteDB.Core.Api)
Represents a base class for entity repository services
GenericLocalRepositoryEx<TModel> - (SanteDB.Core.Api)
Generic nullifiable local repository
GenericLocalSecurityRepository<TSecurityEntity> - (SanteDB.Core.Api)
Generic local security repository
LocalBatchRepository - (SanteDB.Core.Api)
Local batch repository service
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalBatchRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalCarePathwayDefinitionRepositoryService - (SanteDB.Core.Api)
Local care pathway definition
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalCarePathwayDefinitionRepositoryService, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalConceptRepository - (SanteDB.Core.Api)
Represents a service which is responsible for the maintenance of concepts using local persistence.
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalConceptRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalContainerRepository - (SanteDB.Core.Api)
Place repository that uses local persistence
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalContainerRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalEntityRelationshipRepository - (SanteDB.Core.Api)
Represents a local entity relationship repository
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalEntityRelationshipRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalEntityRepository - (SanteDB.Core.Api)
Local entity repository
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalEntityRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalExtensionTypeRepository - (SanteDB.Core.Api)
Local extension types
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalExtensionTypeRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalIdentityDomainRepository - (SanteDB.Core.Api)
Represents a repository service for managing assigning authorities.
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalIdentityDomainRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalManufacturedMaterialRepository - (SanteDB.Core.Api)
Local material persistence service
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalManufacturedMaterialRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalMaterialRepository - (SanteDB.Core.Api)
Local material persistence service
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalMaterialRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalOrganizationRepository - (SanteDB.Core.Api)
Provides operations for managing organizations.
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalOrganizationRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalPatientRepository - (SanteDB.Core.Api)
Local material persistence service
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalPatientRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalPlaceRepository - (SanteDB.Core.Api)
Place repository that uses local persistence
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalPlaceRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalProtocolRepositoryService - (SanteDB.Core.Api)
Default protocol repository services
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalProtocolRepositoryService, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalProviderRepository - (SanteDB.Core.Api)
Provides operations for managing organizations.
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalProviderRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalSecurityApplicationRepository - (SanteDB.Core.Api)
Local security application repository
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalSecurityApplicationRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalSecurityDeviceRepository - (SanteDB.Core.Api)
Local security device repository
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalSecurityDeviceRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalSecurityPolicyRepository - (SanteDB.Core.Api)
Alter policies
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalSecurityPolicyRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalSecurityRoleRepositoryService - (SanteDB.Core.Api)
Represents a local security role service
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalSecurityRoleRepositoryService, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalSecurityUserRepositoryService - (SanteDB.Core.Api)
Security user repository
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalSecurityUserRepositoryService, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalTemplateDefinitionRepositoryService - (SanteDB.Core.Api)
Represents a local metadata repository service
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalTemplateDefinitionRepositoryService, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
LocalUserEntityRepository - (SanteDB.Core.Api)
Localuser entity repository
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Services.Impl.Repository.LocalUserEntityRepository, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
Example Implementation
/// Example Implementation
using SanteDB.Core.Services;
/// Other usings here
public class MyNotifyRepositoryService<TModel> : SanteDB.Core.Services.INotifyRepositoryService<TModel> {
public String ServiceName => "My own INotifyRepositoryService`1 service";
/// <summary>
/// Data is inserting
/// </summary>
public event EventHandler<DataPersistingEventArgs<TModel>> Inserting;
/// <summary>
/// Fired after data was inserted
/// </summary>
public event EventHandler<DataPersistedEventArgs<TModel>> Inserted;
/// <summary>
/// Fired before saving
/// </summary>
public event EventHandler<DataPersistingEventArgs<TModel>> Saving;
/// <summary>
/// Fired after data was saved
/// </summary>
public event EventHandler<DataPersistedEventArgs<TModel>> Saved;
/// <summary>
/// Fired before obsoleting
/// </summary>
public event EventHandler<DataPersistingEventArgs<TModel>> Deleting;
/// <summary>
/// Fired after data was obsoleted
/// </summary>
public event EventHandler<DataPersistedEventArgs<TModel>> Deleted;
/// <summary>
/// Retrieving the data
/// </summary>
public event EventHandler<DataRetrievingEventArgs<TModel>> Retrieving;
/// <summary>
/// Fired after data was retrieved
/// </summary>
public event EventHandler<DataRetrievedEventArgs<TModel>> Retrieved;
/// <summary>
/// Fired after data was queried
/// </summary>
public event EventHandler<QueryRequestEventArgs<TModel>> Querying;
/// <summary>
/// Fired after data was queried
/// </summary>
public event EventHandler<QueryResultEventArgs<TModel>> Queried;
}
References
Last updated
Was this helpful?