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" }); }
public void SessionValue <T>(NotifyValue <T> value, string key) { session.Add(PersistedValue.Create(value, key)); }
public void Persist <T>(NotifyValue <T> value, string key) { persisted.Add(PersistedValue.Create(value, key)); }