Class OrganisationStore<TOrganisation, TContext>
Represents a new instance of a persistence store for the specified organisation type.
Inherited Members
Namespace: IRM.AspNetCore.Identity.EntityFrameworkCore
Assembly: IRM.AspNetCore.Identity.EntityFrameworkCore.dll
Syntax
public class OrganisationStore<TOrganisation, TContext> : IOrganisationStore<TOrganisation>, IDisposable, IUseExecutionStrategy where TOrganisation : class, IOrganisation, new()
where TContext : DbContext
Type Parameters
TOrganisation
The type representing an organisation. |
TContext
The type of the data context class used to access the store. |
Constructors
OrganisationStore(TContext, ILogger<OrganisationStore<TOrganisation, TContext>>, IAsyncEventSourceRepository, IdentityErrorDescriber)
Creates a new instance of OrganisationStore<TOrganisation, TContext>.
Declaration
public OrganisationStore(TContext context, ILogger<OrganisationStore<TOrganisation, TContext>> logger, IAsyncEventSourceRepository eventSourceRepository = null, IdentityErrorDescriber describer = null)
Parameters
TContext
context
The context used to access the store. |
Microsoft.Extensions.Logging.ILogger<OrganisationStore<TOrganisation, TContext>>
logger
The logger used to log messages, warnings and errors. |
IAsyncEventSourceRepository
eventSourceRepository
The IAsyncEventSourceRepository used to handle events. |
Microsoft.AspNetCore.Identity.IdentityErrorDescriber
describer
The Microsoft.AspNetCore.Identity.IdentityErrorDescriber used to describe store errors. |
Properties
Context
Gets the database context for this store.
Declaration
public TContext Context { get; }
Property Value
TContext
|
EventSourceRepository
Gets the IAsyncEventSourceRepository used to handle events.
Declaration
protected IAsyncEventSourceRepository EventSourceRepository { get; }
Property Value
IAsyncEventSourceRepository
|
Logger
Gets the logger used to log messages, warnings and errors.
Declaration
protected ILogger Logger { get; }
Property Value
Microsoft.Extensions.Logging.ILogger
|
Methods
AddSearchTerms(IQueryable<TOrganisation>, OrganisationSearchQuery)
Adds all search terms when searching for organisations.
Declaration
protected IQueryable<TOrganisation> AddSearchTerms(IQueryable<TOrganisation> linqQuery, OrganisationSearchQuery query)
Parameters
System.Linq.IQueryable<TOrganisation>
linqQuery
The LINQ query constructed so far. |
OrganisationSearchQuery
query
The query describing filtering and sorting for the organisations. |
Returns
System.Linq.IQueryable<TOrganisation>
The LINQ query with the search terms added. |
CreateAsync(TOrganisation, CancellationToken)
Creates the specified organisation
in the organisation store.
Declaration
public async Task<IdentityResult> CreateAsync(TOrganisation organisation, CancellationToken cancellationToken = default(CancellationToken))
Parameters
TOrganisation
organisation
The organisation to create. |
System.Threading.CancellationToken
cancellationToken
The System.Threading.CancellationToken used to propagate notifications that the operation should be canceled. |
Returns
System.Threading.Tasks.Task<IdentityResult>
The System.Threading.Tasks.Task that represents the asynchronous operation, containing the IdentityResult of the creation operation. |
Implements
DeleteAsync(TOrganisation, CancellationToken)
Deletes an organisation from the store as an asynchronous operation.
Declaration
public async Task<IdentityResult> DeleteAsync(TOrganisation organisation, CancellationToken cancellationToken = default(CancellationToken))
Parameters
TOrganisation
organisation
The organisation to delete from the store. |
System.Threading.CancellationToken
cancellationToken
The System.Threading.CancellationToken used to propagate notifications that the operation should be canceled. |
Returns
System.Threading.Tasks.Task<IdentityResult>
A System.Threading.Tasks.Task<TResult> that represents the IdentityResult of the asynchronous query. |
Implements
Dispose()
Releases all resources used by the store.
Declaration
public void Dispose()
Implements
Dispose(Boolean)
Releases the unmanaged resources used by the organisation manager and optionally releases the managed resources.
Declaration
protected virtual void Dispose(bool disposing)
Parameters
Boolean
disposing
true to release both managed and unmanaged resources; false to release only unmanaged resources. |
FindByIdsAsync(Guid[], CancellationToken)
Finds and returns a list of organisations, if any, who has any of the specified organisationIds
.
Declaration
public virtual async Task<List<TOrganisation>> FindByIdsAsync(Guid[] organisationIds, CancellationToken cancellationToken = default(CancellationToken))
Parameters
System.Guid[]
organisationIds
The organisation ID to search for. |
System.Threading.CancellationToken
cancellationToken
The System.Threading.CancellationToken used to propagate notifications that the operation should be canceled. |
Returns
System.Threading.Tasks.Task<List<TOrganisation>>
The System.Threading.Tasks.Task that represents the asynchronous operation, containing the tenants matching the specified |
Implements
FindByNameAsync(String, Nullable<Guid>, CancellationToken)
Gets the organisation, if any, associated with the specified name.
Declaration
public virtual Task<TOrganisation> FindByNameAsync(string organisationName, Guid? groupMotherId = null, CancellationToken cancellationToken = default(CancellationToken))
Parameters
String
organisationName
The organisation name to search for. |
System.Nullable<System.Guid>
groupMotherId
Specifies optional organisation to search within |
System.Threading.CancellationToken
cancellationToken
The System.Threading.CancellationToken used to propagate notifications that the operation should be canceled. |
Returns
System.Threading.Tasks.Task<TOrganisation>
The task object containing the results of the asynchronous lookup operation, the organisation if any associated with the specified organisation name. |
Implements
FindByTrustedDomainAsync(String, CancellationToken)
Gets the organisation keys, if any, associated with the specified domain name.
Declaration
public virtual Task<OrganisationKeys> FindByTrustedDomainAsync(string normalizedDomainName, CancellationToken cancellationToken = default(CancellationToken))
Parameters
String
normalizedDomainName
The organisation name to search for. |
System.Threading.CancellationToken
cancellationToken
The System.Threading.CancellationToken used to propagate notifications that the operation should be canceled. |
Returns
System.Threading.Tasks.Task<OrganisationKeys>
The task object containing the results of the asynchronous lookup operation, the organisation keys if any associated with the specified organisation name. |
Implements
GetAllAsync(OrganisationSearchQuery, CancellationToken)
Gets all organisations matching the query
.
Declaration
public virtual Task<QueryResult<TOrganisation>> GetAllAsync(OrganisationSearchQuery query, CancellationToken cancellationToken = default(CancellationToken))
Parameters
OrganisationSearchQuery
query
The query describing filtering and sorting for the organisations. |
System.Threading.CancellationToken
cancellationToken
The System.Threading.CancellationToken used to propagate notifications that the operation should be canceled. |
Returns
System.Threading.Tasks.Task<QueryResult<TOrganisation>>
A System.Threading.Tasks.Task that represents the QueryResult<T> of the asynchronous query. |
Implements
GetAllTrustedDomainsAsync(CancellationToken)
Gets a list of all trusted domain that have been registered.
Declaration
public virtual Task<List<TrustedDomainMatch>> GetAllTrustedDomainsAsync(CancellationToken cancellationToken = default(CancellationToken))
Parameters
System.Threading.CancellationToken
cancellationToken
The System.Threading.CancellationToken used to propagate notifications that the operation should be canceled. |
Returns
System.Threading.Tasks.Task<List<TrustedDomainMatch>>
The task object containing the results of the asynchronous operation, the list of all trusted domains. |
Implements
GetOrganisation(Expression<Func<TOrganisation, Boolean>>, CancellationToken)
Gets an organisation with default includes for this store implementation.
Declaration
protected virtual async Task<TOrganisation> GetOrganisation(Expression<Func<TOrganisation, bool>> predicate, CancellationToken cancellationToken = default(CancellationToken))
Parameters
Expression<System.Func<TOrganisation, Boolean>>
predicate
A function to test each element for a condition. |
System.Threading.CancellationToken
cancellationToken
A System.Threading.CancellationToken to observe while waiting for the task to complete. |
Returns
System.Threading.Tasks.Task<TOrganisation>
|
LoadSubsidiaries(IOrganisation, CancellationToken)
Loads all subsidiaries for the organisaiton.
Declaration
protected Task LoadSubsidiaries(IOrganisation organisation, CancellationToken cancellationToken)
Parameters
IOrganisation
organisation
The organisation to load subsidiaries for, |
System.Threading.CancellationToken
cancellationToken
A System.Threading.CancellationToken to observe while waiting for the task to complete. |
Returns
System.Threading.Tasks.Task
The System.Threading.Tasks.Task that represents the asynchronous operation. |
Remarks
This will not work for non-tracked organisations.
SaveChangesAsync(CancellationToken)
Saves the current store.
Declaration
protected virtual Task SaveChangesAsync(CancellationToken cancellationToken)
Parameters
System.Threading.CancellationToken
cancellationToken
The System.Threading.CancellationToken used to propagate notifications that the operation should be canceled. |
Returns
System.Threading.Tasks.Task
The System.Threading.Tasks.Task that represents the asynchronous operation. |
SaveEvents(IEventSourced, CancellationToken)
Declaration
public virtual async Task<IdentityResult> SaveEvents(IEventSourced organisation, CancellationToken cancellationToken = default(CancellationToken))
Parameters
IEventSourced
organisation
|
System.Threading.CancellationToken
cancellationToken
|
Returns
System.Threading.Tasks.Task<IdentityResult>
|
ThrowIfDisposed()
Throws an System.ObjectDisposedException if the organisation manager is disposed.
Declaration
protected void ThrowIfDisposed()
UpdateAsync(TOrganisation, CancellationToken)
Updates a organisation in a store as an asynchronous operation.
Declaration
public async Task<IdentityResult> UpdateAsync(TOrganisation organisation, CancellationToken cancellationToken = default(CancellationToken))
Parameters
TOrganisation
organisation
The organisation to update in the store. |
System.Threading.CancellationToken
cancellationToken
The System.Threading.CancellationToken used to propagate notifications that the operation should be canceled. |
Returns
System.Threading.Tasks.Task<IdentityResult>
The System.Threading.Tasks.Task that represents the asynchronous operation, containing the IdentityResult for the update. |
Implements
Explicit Interface Implementations
IUseExecutionStrategy.Strategy
Declaration
IExecutionStrategy IUseExecutionStrategy.Strategy { get; }
Returns
IExecutionStrategy
|