public async Task CancelOrder(int orderNumber, bool isDebug)
    {
        var command = new CancelHaveOrder
        {
            ClientId    = Context.ConnectionId,
            OrderNumber = orderNumber
        };

        var sendOptions = new SendOptions();

        sendOptions.SetHeader("Debug", isDebug.ToString());
        await messageSession.Send(command, sendOptions);
    }
    public Task Handle(CancelHaveOrder message, IMessageHandlerContext context)
    {
        if (DebugFlagMutator.Debug)
        {
            Debugger.Break();
        }

        var logger = context.GetOrderWorkflowLogger(message);

        logger.Information("Order {OrderNumber} was cancelled.", message.OrderNumber);

        MarkAsComplete();

        var orderCancelled = new HaveOrderCancelled
        {
            OrderNumber = message.OrderNumber,
            ClientId    = message.ClientId
        };

        return(context.Publish(orderCancelled));
    }