public void Receive(ReserveItemResponse response)
    {
        if (response.Succeeded)
        {
            this.requestor.Value.Send(
                new PurchaseItemResponse
            {
                Succeeded = true
            });

            this.Terminate();
        }
        else
        {
            this.reservationError =
                PersistedValue.Create(response.ErrorCode);

            var paymentActor = this.System.GetActorRef(
                type: "Payment",
                id: transactionId.Value);

            paymentActor.Send(new VoidTransactionCommand
            {
                ExternalTransationId =
                    transactionId.Value.ToString(),
            });
        }
    }
    public void Receive(PurchaseItemCommand command)
    {
        this.transactionId = PersistedValue.Create(Guid.NewGuid());
        this.requestor     = PersistedValue.Create(command.Sender);
        this.itemId        = PersistedValue.Create(command.ItemId);
        this.quantity      = PersistedValue.Create(command.Quantity);

        var paymentActor = this.System.GetActorRef(
            type: "Payment",
            id: transactionId.Value);

        paymentActor.Send(new CreditCommand
        {
            ExternalTransationId =
                transactionId.Value.ToString(),

            // Hard-coded for simplicity's sake.
            Amount      = 99.95,
            Description = "Coffee Beans 1lb"
        });
    }
Пример #3
0
 public void SessionValue <T>(NotifyValue <T> value, string key)
 {
     session.Add(PersistedValue.Create(value, key));
 }
Пример #4
0
 public void Persist <T>(NotifyValue <T> value, string key)
 {
     persisted.Add(PersistedValue.Create(value, key));
 }