public OrderCommandResult Handle(OrderCommand order)
        {
            var items = FindOrderedItems(order);

            var price = items.Sum(x => x.Price);

            bool paidOk = TakePayment(order, price);

            return(paidOk
                ? OrderCommandResult.Success(items.ToArray())
                : OrderCommandResult.Failed());
        }