public void Denial(ApiCommandArgument arg) { AuthenticationService.Authenticate(arg.SecurityToken); if (!AuthenticationService.IsAuthenticated()) { return; } if (!AuthorizationService.IsAllowedToExecuteCommand(arg.InstanceId, WorkflowCommandType.Denial)) { return; } FireCommandWithWaiting(arg, delegate(ApiCommandArgument arg1) { using (var sync = GetWorkflowSync(arg1)) { WorkflowInitService.RaiseDenial(arg1.InstanceId, arg1.Comment); sync.WaitHandle.WaitOne(4000); } }); }