Namespace LemonEdge.API.Tasks
Classes
RevertTransactionResult
A revert transaction task result returned by the IServerTask. Holds the IHeaderTransactionalEntity that was reverted by the revert transacition task (UNIQUE_TASK_ID)
ServerTaskAttribute
This attribute must be marked against any implementation of ITaskProcessor to detail how to process it
If this is accessible from the client, and not only accessible from the service, then you do not also need to mark the parameter type with the ServerTaskParametersAttribute
ServerTaskFactory
The factory for retrieving an ITaskProcessor, ServerTaskParameter, or ITaskResultHandler, or their associated attributes to process and handle tasks (IServerTask)
See https://help.lemonedge.com/server-tasks/ for more information
Any task requires the following:- ServerTaskParameter: An optional parameters implementation holding the parameters for the task. Must be marked with the ServerTaskParametersAttribute if the associated ITaskProcessor is not accessible to the client.
- ITaskProcessor: The actual implementation of the task process itself. Marked with a ServerTaskAttribute describing it and linking to its associated ServerTaskParameter (if any).
- ServerTaskResult: An optional results implementation (marked with ServerTaskResultAttribute) for storing the results of the task for client viewing/loading/etc.
ServerTaskParameter
The base class for any parameter that can work against a IServerTask and be processed by a ITaskProcessor
Any implementation can be refernced from the ParameterType, or can be marked with a ServerTaskParametersAttribute to detail what task type these parameters are for
Any implementation of this can have 3 constructors that the system will automatically use for creation in order:- (IBaseEntity item, IEntityUpdater context): Creates default parameters using this constructor for the specified item and a context.
- (IBaseEntity item): Creates default parameters using this constructor for the soecified item.
- (): Creates default parameters using this constructor.
ServerTaskParametersAttribute
This attribute can be used to mark any implementation of the ServerTaskParameter class for defining parameters for a ITaskProcessor implementation
It is optional if the ITaskProcessor implementation is accessible from all UI clients, as that ServerTaskAttribute contains all the details.
If the ITaskProcessor is not always accessible then the ServerTaskParameter *must* be marked with this to provide detail on how to create parameters for the task and send to the server for processingServerTaskResult
The base class for holding the results of any task
These results are serialisable so the results stored against the
ServerTaskResultAttribute
Marks any ServerTaskResult implementation with the type if task this result hold details for
TaskRunnerBase
The base class for processing and executing tasks on either a server process or the client itself
TriggerTaskAttribute
Marks an implementation of BaseTriggerTask that this task implementation is a specialized task for processing an IActionTrigger
The default implementation of this is for processing the actions by notifying users of the action through different notification types (system, email).
Interfaces
ITaskProcessor
The main interface for any process that can run as a IServerTask on a remote server
Any implementation needs to be marked with the ServerTaskAttribute
The parameters for this process must inherit ServerTaskParameter and can optionally be marked with the ServerTaskParametersAttribute as well.Any result handler must implement ITaskResultHandler and be marked with the ServerTaskResultAttribute
Any implementation does not have to be accessible in UI code, as long as ServerTaskParameter is accessible to create the parameters to send a task to the server (It must be marked with ServerTaskParametersAttribute then, it is not optional). This code can reside in core server implementations only.ITaskResultHandler
An interface that can be implemented to handle the result returned from ProcessTask(CancellationToken) for every task implementation in the system
Must be marked with the ServerTaskResultAttribute to specify which type of task it handles results for
ITaskRunner
The interface any processor for implementing tasks implements
ITaskService
An interface that a service for processing IServerTask implements
The service monitors the task queue and processes tasks independantly.
Can be run from a client that is directly connected to a database, or any directly connected serviceEnums
ServerTaskResultType
The type of area a ITaskResultHandler can operate within