IOT Dash
Public Member Functions | Protected Member Functions | Protected Attributes | Properties | Events | List of all members
IotDash.Services.Domain.AEntityManagerService< TEntity, TManager > Class Template Referenceabstract
Inheritance diagram for IotDash.Services.Domain.AEntityManagerService< TEntity, TManager >:
Inheritance graph
[legend]
Collaboration diagram for IotDash.Services.Domain.AEntityManagerService< TEntity, TManager >:
Collaboration graph
[legend]

Public Member Functions

 AEntityManagerService (ILogger logger)
 
abstract Task OnReceive (object? sender, SaveChangesEventArgs< TEntity > msg)
 
abstract TManager ManagerFactory (TEntity entity)
 
abstract bool NeedsManager (TEntity entity)
 
abstract object GetKey (TEntity entity)
 
async Task Refresh (IEnumerable< TEntity > entries)
 
void Dispose ()
 
Task Refresh (IEnumerable< TEntity > entries)
 

Protected Member Functions

delegate Task AfterManagerUpHandler (TEntity entity, TManager manager)
 
delegate Task BeforeManagerDownHandler (TEntity entity, TManager manager)
 
virtual void Dispose (bool disposing)
 

Protected Attributes

readonly ILogger logger
 
readonly IManagerColleciton< TEntity, TManager > managers
 

Properties

bool DisposedValue [get]
 

Events

AfterManagerUpHandler AfterManagerUp
 
BeforeManagerDownHandler BeforeManagerDown
 

Detailed Description

An abstract database entity manager. It listens for changes of the database and keeps internal collection of TManager s. One per each TEntity in the database.

Template Parameters
TEntityType of the database entity.
TManagerType of the manager object.
Type Constraints
TEntity :class 
TManager :IDisposable 

Member Function Documentation

◆ Refresh()

async Task IotDash.Services.Domain.AEntityManagerService< TEntity, TManager >.Refresh ( IEnumerable< TEntity >  entries)
inline

Go through all entries and re-instantiate manager for that entry.

Parameters
entriesAll entries

Implements IotDash.Services.Domain.IEntityManagementService< TEntity, TManager >.


The documentation for this class was generated from the following file: