public QueuedHardDeleteOperation(string methodCalled, T model, IDocumentRepository repo, IMessageAggregator messageAggregator) { CommitClosure = async() => { await messageAggregator.CollectAndForward( new HardDeleteOperation <T> { TypeName = typeof(T).FullName, MethodCalled = methodCalled, Created = DateTime.UtcNow, Model = model }).To(repo.DeleteHardAsync).ConfigureAwait(false); Committed = true; }; Created = DateTime.UtcNow; Model = model; AggregateId = model.id; }