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

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

[Source](https://github.com/dotnet/orleans/blob/1644940b035c7bdf215a4fd7135757c06bcfe9ec/src/Orleans.Transactions/Abstractions/ITransactionManager.cs#L43)

```csharp
public virtual Task<TransactionalStatus> PrepareAndCommit(Guid transactionId, AccessCounter accessCount, DateTime timeStamp, List<ParticipantId> writerResources, int totalParticipants, CancellationToken cancellationToken)
```

Prepares and commits a transaction.

### Parameters

- `transactionId` (`Guid`): The transaction identifier.
- `accessCount` (`AccessCounter`): The number of resource accesses performed by the transaction.
- `timeStamp` (`DateTime`): The commit timestamp.
- `writerResources` (`List<ParticipantId>`): The participants which wrote during the transaction.
- `totalParticipants` (`int`): The total number of participants.
- `cancellationToken` (`CancellationToken`): The cancellation token.

### Returns

The transaction status.
