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 |