Class FolderEntitySetsController<T>
Inheritance
Implements
Inherited Members
Namespace: LemonEdge.Client.Core.Views.Controllers
Assembly: LemonEdge.ClientCore.dll
Syntax
public abstract class FolderEntitySetsController<T> : BaseGridRelatedCollectionController<IFolder, T>, ICollectionExportable, INewGridItemImplementor<T>, ICopyGridItemImplementor<T>, IDeleteGridItemImplementor<T>, ISearchController, IFolderItemsController, IBaseGridController, IGrid, IModelViewController where T : IEntitySetBase
Type Parameters
| Name | Description |
|---|---|
| T |
Constructors
FolderEntitySetsController(IBaseGridRelatedCollection<IFolder, T>)
Declaration
public FolderEntitySetsController(IBaseGridRelatedCollection<IFolder, T> view)
Parameters
| Type | Name | Description |
|---|---|---|
| IBaseGridRelatedCollection<IFolder, T> | view |
Properties
AutoOpenNewItemInTab
Indicates when creating a new item in the grid that it should automatically be opened in a new tab as well
The default is true if the type T is an entity that is not a IsStandingDataEntity
Declaration
public override bool AutoOpenNewItemInTab { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Overrides
CollectionRelationshipColumnName
This is the property on the T 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
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
DisplayIfNull
Indicates that even if the item is null the view should still update and display a null value. Default value is false.
Declaration
public override bool DisplayIfNull { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Overrides
ViewAllFolders
Declaration
public bool ViewAllFolders { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
Methods
AlterQuery(QueryableExecuter<T>)
Additionally alters the base query alteration by ensuring all entities returned are related to the SingleItem by having their CollectionRelationshipColumnName have the same value as the SingleItem ID
This is achieved via AddRelationshipJoin(QueryableExecuter<TCollection>) which can be overidden to customise how the entities of type T are precisely related to the SingleItem if not directly through that join
Declaration
protected override QueryableExecuter<T> AlterQuery(QueryableExecuter<T> query)
Parameters
| Type | Name | Description |
|---|---|---|
| QueryableExecuter<T> | query | The existing query to return all the results that will populate the grid |
Returns
| Type | Description |
|---|---|
| QueryableExecuter<T> | An altered query that also ensures all entities returned are related to the SingleItem by having their CollectionRelationshipColumnName have the same value as the SingleItem ID |
Overrides
ColumnNames()
A list of all the columns to be dynamically created in the IBaseGrid<T>
This is used by the system to create the actual ControlDisplayInfo classes required from the Columns() property
You can override this to provide a simple definition of each column (combined with AlterControlInfo(ControlDisplayInfo) for more detail), or you can just override Columns() and ignore thisDeclaration
protected override IEnumerable<ControlDisplayInfoLight> ColumnNames()
Returns
| Type | Description |
|---|---|
| IEnumerable<ControlDisplayInfoLight> | A list of all the columns to be dynamically created in the IBaseGrid<T> |
Overrides
DisplayUI()
Initializes the grid, and creates every ControlDisplayInfo in the defined Columns() and creates them on the grid
Then loads the data for the grid accounting for all view sorting, filtering, searching and paging, and loads the results into the grid as an observable collection
Declaration
public override Task DisplayUI()
Returns
| Type | Description |
|---|---|
| Task | A task indicating the completion of the operation |
Overrides
GetCanWrite(object)
Declaration
protected override Task<bool> GetCanWrite(object item)
Parameters
| Type | Name | Description |
|---|---|---|
| object | item |
Returns
| Type | Description |
|---|---|
| Task<bool> |
Overrides
InitCommands(IList<ViewCommand>)
Adds the following commands, if the associated AllowXXXCommand property returns true: A public toggle, multi-select row, open, column visiblitiy, transfer visible, search, view cancelled, view system, export, new, copy, move up/down, xml export, and delete commands
Declaration
protected override void InitCommands(IList<ViewCommand> commands)
Parameters
| Type | Name | Description |
|---|---|---|
| IList<ViewCommand> | commands | The initial set of commands for this view |
Overrides
UpdateNewItem(T)
Updates any new item created in this grid to also have the CollectionRelationshipColumnName property hold the value of the SingleItem ID
Declaration
protected override Task UpdateNewItem(T item)
Parameters
| Type | Name | Description |
|---|---|---|
| T | item | The new item created for this grid |
Returns
| Type | Description |
|---|---|
| Task | A task indicating the completion of the operation |