# ITransactionManagerExtension.PrepareAndCommit(string, Guid, AccessCounter, DateTime, List&lt;ParticipantId&gt;, int)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.abstractions.itransactionmanagerextension/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.abstractions.itransactionmanagerextension/methods/)

```csharp
[Orleans.Concurrency.AlwaysInterleave]
[Orleans.Transaction(0)]
public abstract Task<TransactionalStatus> PrepareAndCommit(string resourceId, Guid transactionId, AccessCounter accessCount, DateTime timeStamp, List<ParticipantId> writeResources, int totalParticipants)
```

### Parameters

- `resourceId` (`string`)
- `transactionId` (`Guid`)
- `accessCount` (`AccessCounter`)
- `timeStamp` (`DateTime`)
- `writeResources` (`List<ParticipantId>`)
- `totalParticipants` (`int`)
