Class TransactionValuesController
A standard base view that displays the values for a given IsHeaderTransaction
This is responsible for translating the local, func, reporting values into the ITransactionTypeValue values they actually hold according to this header transaction
Each Header transaction can have a number of sub-transactions if the allocated path goes to entities above it that should be included in the allocationThis view is automatically added to a transaction view using the AddDefaultTransactionViews(LayoutDescriptorGroup, LayoutDescriptorGroup)
Inheritance
Implements
Inherited Members
Namespace: LemonEdge.Client.Core.Views.Controllers
Assembly: LemonEdge.ClientCore.dll
Syntax
public class TransactionValuesController : BaseGridRelatedCollectionController<ITransaction, ITransaction>, IBaseGridController, ICollectionExportable, INewGridItemImplementor<ITransaction>, ICopyGridItemImplementor<ITransaction>, IGrid, IDeleteGridItemImplementor<ITransaction>, ISearchController, ILockableController, IModelViewController
Constructors
TransactionValuesController(IBaseGridRelatedCollection<ITransaction, ITransaction>)
Creates a new TransactionValuesController
Declaration
public TransactionValuesController(IBaseGridRelatedCollection<ITransaction, ITransaction> view)
Parameters
Type | Name | Description |
---|---|---|
IBaseGridRelatedCollection<ITransaction, ITransaction> | view | The IBaseGridRelatedCollection view implementation using the UI components of the client application |
Properties
AllowCopyCommand
Indicates that by default selected entities can be copied by the user with the copy command
Declaration
public override bool AllowCopyCommand { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
AllowDeleteCommand
Indicates that by default selected entities can be deleted by the user with the delete command
Declaration
public override bool AllowDeleteCommand { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
AllowNewCommand
Indicates that by default entities can be created by the user with the new command
Declaration
public override bool AllowNewCommand { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
AllowOpenCommand
Indicates that by default selected entities can be opened by the user with the open command
Declaration
public override bool AllowOpenCommand { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
AllowXMLImportExport
Indicates the command to allow the xml export of the data by the user is included in the InitCommands(IList<ViewCommand>)
The default is true if the type ITransaction derives from ISetCopier
Declaration
public override bool AllowXMLImportExport { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
CanWrite
Uses the ITransactionProcessor CanWrite and Locked to determine if a transaction can be written too
Declaration
public override bool CanWrite { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
CollectionRelationshipColumnName
This is the property on the ITransaction entities that holds a relationship value that points to the SingleItem type
This controller will automatically use that to filter the correct entities for the grid in AlterQuery(QueryableExecuter<TCollection>)
Declaration
public override string CollectionRelationshipColumnName { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
ContextHelpURL
An optional associated url of a help file for the view this controller works with
Declaration
public override string ContextHelpURL { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
DefaultSearchColumn
The name of the column to use in the default search of text in the grid
Declaration
protected override string DefaultSearchColumn { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
LockableHandler
LockableHandler implementation returning the ITransactionProcessor
Declaration
public ILockable LockableHandler { get; }
Property Value
Type | Description |
---|---|
ILockable |
Methods
AlterQuery(QueryableExecuter<ITransaction>)
Ensures the query is filtered to only the transactions that have this header transactions as their parent
This is not used by the controller, but can be used by the inheriting implementation. This controller overrides the GetGridSourceItems() to use the processor loaded transactions instead
Declaration
protected override QueryableExecuter<ITransaction> AlterQuery(QueryableExecuter<ITransaction> query)
Parameters
Type | Name | Description |
---|---|---|
QueryableExecuter<ITransaction> | query | The query to modify to only return the transactions in for this header transaction |
Returns
Type | Description |
---|---|
QueryableExecuter<ITransaction> | The query to return only transactions that have this header transaction as their parent |
Overrides
Clear()
Clears the paging information for the loaded grid items
Declaration
public override Task Clear()
Returns
Type | Description |
---|---|
Task | A task indicating the completion of the operation |
Overrides
ColumnGroups()
Creates groupings for the valus columns - Entity info, then Local, Functional, Reporting values, and finally System for base hidden columns
Declaration
public override IEnumerable<GridColumnGroup> ColumnGroups()
Returns
Type | Description |
---|---|
IEnumerable<GridColumnGroup> |
Overrides
Columns()
Adds the standard columns for the transaction value views: EntityID, IHeaderTransactionalEntity.Reference, and ParentTransactionID
Then for each ITransactionTypeValue in this header transaction the system creates a corrosponding local, functional, reporting named column mapping to the correct value property
Declaration
public override IEnumerable<ControlDisplayInfo> Columns()
Returns
Type | Description |
---|---|
IEnumerable<ControlDisplayInfo> | The columns to be displayed against this grid |
Overrides
DisplayUI()
Loads all the related transactions through the ITransactionProcessor for this HeaderTransaction and populates the grid with all the loaded transactions
GetGridSourceItems() is overridden to return the processor transactions instead of loading the transactions from the query
Declaration
public override Task DisplayUI()
Returns
Type | Description |
---|---|
Task | A task indicating the completion of the operation |
Overrides
GetExportableColumnInfo(IEnumerable<ColumnDescriptor>)
Overrides the grid exportable column info to include the dynamically created columns that map the ITransactionTypeValue amounts to the appropriate local, func, or reporting value against the transaction
Declaration
public override Task<IEnumerable<ControlDisplayVisibilityInfo>> GetExportableColumnInfo(IEnumerable<ColumnDescriptor> visibleColumns)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<ColumnDescriptor> | visibleColumns | The current visible columns in the grid |
Returns
Type | Description |
---|---|
Task<IEnumerable<ControlDisplayVisibilityInfo>> | A list of columns and their export info |
Overrides
GetGridSourceItems()
Instead of using the query (base implementation) we return all the transactions loaded by the ITransactionProcessor for this header transaction
Declaration
public override Task<IEnumerable<ITransaction>> GetGridSourceItems()
Returns
Type | Description |
---|---|
Task<IEnumerable<ITransaction>> | All the transactions that have this Header Transaction as their parent |
Overrides
InitCommands(IList<ViewCommand>)
Adds the TransactionValuesController.OpenPath, TransactionValuesController.AddTypeValue, TransactionValuesController.DeleteTypeValue, and ToggleNonZeroColumns commands to the standard grid commands
Declaration
protected override void InitCommands(IList<ViewCommand> commands)
Parameters
Type | Name | Description |
---|---|---|
IList<ViewCommand> | commands | The commands for this transaction grid |
Overrides
UpdateLocked()
UpdateLocked() implementation which enumerates each column in the grid and updates their status
Declaration
public void UpdateLocked()