public void ProcessCommand(IExecutionContext context, Command command, IWorkerCommandRestrictionPolicy restrictionPolicy) { var commandExecutor = GetWorkerCommand(command.Event); if (commandExecutor == null) { throw new Exception(StringUtil.Loc("CommandNotFound2", CommandArea.ToLowerInvariant(), command.Event, CommandArea)); } if (restrictionPolicy.isCommandAllowed(commandExecutor)) { commandExecutor.Execute(context, command); } else { context.Warning(StringUtil.Loc("CommandNotAllowed", command.Area, command.Event)); } }
public void SetCommandRestrictionPolicy(IWorkerCommandRestrictionPolicy policy) { ArgUtil.NotNull(policy, nameof(policy)); restrictionPolicy = policy; }