Class ExpressReportProcessor
Inheritance
ExpressReportProcessor
Assembly: LemonEdge.API.dll
Syntax
public class ExpressReportProcessor : IBaseDataSetProcessor, IProcessor, IDisposable
Constructors
ExpressReportProcessor(IEntityUpdater, IReadOnlyCache, UserInfo)
Declaration
public ExpressReportProcessor(IEntityUpdater updater, IReadOnlyCache cache, UserInfo user)
Parameters
Properties
Cache
A local cache for performance
Declaration
public IReadOnlyCache Cache { get; }
Property Value
IgnoreEvents
Indicates the processor should ignore changes to any items within the processor
Normally used when the processor responds to an event and wants to prevent any other responses while it
finishes processing that change
Declaration
public bool IgnoreEvents { get; set; }
Property Value
Loaded
Flag to indicate if the processor has been fully loaded
Declaration
public bool Loaded { get; }
Property Value
Relationships
Declaration
public IEnumerable<IReportExpressRelationship> Relationships { get; }
Property Value
Report
Declaration
public IReportExpress Report { get; }
Property Value
ReportDataSets
Declaration
public IEnumerable<IReportExpressDataSet> ReportDataSets { get; }
Property Value
ReportParameters
Declaration
public IEnumerable<ISQLTypeWrapper> ReportParameters { get; }
Property Value
Reporter
A reporter to provide feedback to a log, or client depending on the context the process is running under
Declaration
public BusyProgressReporter Reporter { get; set; }
Property Value
Updater
A context to ensure the process can query, load and modify all LemonEdge data
Declaration
public IEntityUpdater Updater { get; }
Property Value
User
The current logged in user the process is running under
Declaration
public UserInfo User { get; }
Property Value
Methods
AddDataSet(IReportExpressDataSet)
Declaration
public Task AddDataSet(IReportExpressDataSet set)
Parameters
Returns
AddDataSetParameter(IReportExpressDataSetParameter)
Declaration
public void AddDataSetParameter(IReportExpressDataSetParameter param)
Parameters
AddRelationship(IReportExpressRelationship)
Declaration
public void AddRelationship(IReportExpressRelationship rel)
Parameters
AddRelationshipColumn(IReportExpressRelationshipColumn)
Declaration
public void AddRelationshipColumn(IReportExpressRelationshipColumn col)
Parameters
AddReportParameters(ISQLTypeWrapper)
Declaration
public void AddReportParameters(ISQLTypeWrapper typeWrapper)
Parameters
AddToDataSetToProcess(IBaseEntity, EntityOperation)
Declaration
public void AddToDataSetToProcess(IBaseEntity item, EntityOperation operationType)
Parameters
Type |
Name |
Description |
IBaseEntity |
item |
The item to add to the processor
|
EntityOperation |
operationType |
The type of operation that modified the item. Useful as deleted items can often be treated
differently in a processor.
|
Dispose()
Declaration
Dispose(bool)
Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type |
Name |
Description |
bool |
disposing |
|
GetExecutedReportData(Dictionary<string, string>)
Declaration
public Task<DataSet> GetExecutedReportData(Dictionary<string, string> parameters)
Parameters
Returns
GetRelationshipColumns(Guid)
Declaration
public IEnumerable<IReportExpressRelationshipColumn> GetRelationshipColumns(Guid forRelationshipID)
Parameters
Type |
Name |
Description |
Guid |
forRelationshipID |
|
Returns
GetReportDataSetParameters(Guid)
Declaration
public IEnumerable<IReportExpressDataSetParameter> GetReportDataSetParameters(Guid forDataSetID)
Parameters
Type |
Name |
Description |
Guid |
forDataSetID |
|
Returns
GetReportParameters(Dictionary<string, string>)
Declaration
public Dictionary<ISQLTypeWrapper, object> GetReportParameters(Dictionary<string, string> parameters)
Parameters
Returns
GetReportStructure()
Declaration
public DataSet GetReportStructure()
Returns
IsChangedItemPartOfDataSet(IBaseEntity)
This function returns true if the specified modified item belongs in this processor.
Non modified items will just automatically be loaded by the processor anyway, this is more to keep track of
items as they are changed and should be added to the processor without having to reload
Declaration
public bool IsChangedItemPartOfDataSet(IBaseEntity item)
Parameters
Type |
Name |
Description |
IBaseEntity |
item |
The item to check if it belongs in this processor
|
Returns
Type |
Description |
bool |
True if the specified item belongs in this processor
|
Load()
A thread safe implementation to load all required data for the processor
Once completed Loaded should return true.
Declaration
Returns
Type |
Description |
Task |
A task indicating the completion of the load operation
|
RemoveDataSet(IReportExpressDataSet)
Declaration
public void RemoveDataSet(IReportExpressDataSet set)
Parameters
RemoveDataSetParameter(IReportExpressDataSetParameter)
Declaration
public void RemoveDataSetParameter(IReportExpressDataSetParameter param)
Parameters
RemoveRelationship(IReportExpressRelationship)
Declaration
public void RemoveRelationship(IReportExpressRelationship rel)
Parameters
RemoveRelationshipColumn(IReportExpressRelationshipColumn)
Declaration
public void RemoveRelationshipColumn(IReportExpressRelationshipColumn col)
Parameters
RemoveReportParameter(ISQLTypeWrapper)
Declaration
public void RemoveReportParameter(ISQLTypeWrapper typeWrapper)
Parameters
Events
OnReportStructureChanged
Declaration
public event EventHandler OnReportStructureChanged
Event Type
Implements
Extension Methods