Class SwitchRole
This command executes the SwitchRole system command
Lists all roles the user has access to as child commands.
Switches the role the current user is running in, and performs a RefreshAll to run the system under that new roleInheritance
Implements
Inherited Members
Namespace: LemonEdge.Client.Core.Commands
Assembly: LemonEdge.ClientCore.dll
Syntax
[CommandDescriptorOptions(Command.SwitchRole, null)]
public class SwitchRole : EPCommandWithDescriptor, IHasChildren<EPCommandWithDescriptor>, IHasChildren, IDisposable, IEPCommandWithDescriptor, IEPCommand, ICommand, ICommandDescriptor
Constructors
SwitchRole(IRootController, IModelLayoutCommon)
Creates a new SwitchRole command that lists all roles the user has access to as child commands.
Declaration
public SwitchRole(IRootController root, IModelLayoutCommon owner)
Parameters
| Type | Name | Description |
|---|---|---|
| IRootController | root | The root controller, for service access. |
| IModelLayoutCommon | owner | The owning context for this command |
SwitchRole(IRootController, IModelLayoutCommon, IRole)
Creates a new SwitchRole command that switches the current role to the specified one and refreshes the entire system to run under that new role
Declaration
protected SwitchRole(IRootController root, IModelLayoutCommon owner, IRole role)
Parameters
| Type | Name | Description |
|---|---|---|
| IRootController | root | The root controller, for service access. |
| IModelLayoutCommon | owner | The owning context for this command |
| IRole | role | The new role to run the entire system under |
Properties
Description
A user friendly description of this command
Declaration
public override string Description { get; }
Property Value
| Type | Description |
|---|---|
| string |
Overrides
HasChildCommands
True if this is the root command listing all possible roles as children
Declaration
public override bool HasChildCommands { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Overrides
IconID
Declaration
public override Guid IconID { get; }
Property Value
| Type | Description |
|---|---|
| Guid |
Overrides
Title
The title of this command
Declaration
public override string Title { get; }
Property Value
| Type | Description |
|---|---|
| string |
Overrides
Methods
InternalCanExecute(object)
True if the command is running with an owner of the main application form
Declaration
public override bool InternalCanExecute(object parameter)
Parameters
| Type | Name | Description |
|---|---|---|
| object | parameter | The command parameter |
Returns
| Type | Description |
|---|---|
| bool | True if the command is running with an owner of the main application form |
Overrides
InternalExecuteAsync(object)
Switches the role the current user is running in to the specified one, and performs a RefreshAll to run the system under that new role
Declaration
public override Task InternalExecuteAsync(object parameter)
Parameters
| Type | Name | Description |
|---|---|---|
| object | parameter | The command parameter |
Returns
| Type | Description |
|---|---|
| Task | A task indicating the completion of the operation |
Overrides
LoadChildrenAsync()
Loads all the roles this user has access to run in
Declaration
public override Task LoadChildrenAsync()
Returns
| Type | Description |
|---|---|
| Task | A task indicating the completion of the operation |
Overrides
Switch(IModelLayoutCommon, IRole)
Switches the role the current user is running in to the specified one, and performs a RefreshAll to run the system under that new role
Declaration
public static Task Switch(IModelLayoutCommon owner, IRole role)
Parameters
| Type | Name | Description |
|---|---|---|
| IModelLayoutCommon | owner | The owning context this command runs in |
| IRole | role | The new role to switch running the application under |
Returns
| Type | Description |
|---|---|
| Task | A task indicating the completion of the operation |