public async Task SaveAsync(IdempotentMessage message) { var exists = await ExistsAsync(message.MessageId); if (exists) { return; } var collection = _db.GetCollection <IdempotentMessage>("IdempotentMessages"); await collection.InsertOneAsync(message); }
public async Task <bool> LogPurchase(IdempotentMessage <PurchaseInfo> idempotentMessage) { if (LogQueue == null) { return(false); } using (ITransaction tx = this.StateManager.CreateTransaction()) { await LogQueue.EnqueueAsync(tx, idempotentMessage); await tx.CommitAsync(); return(true); } }