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

[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/)

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

Request sent by TA to TM. The TM responds after committing or aborting the transaction.

### Parameters

- `transactionId` (`Guid`): the id of the transaction to prepare
- `accessCount` (`AccessCounter`): number of reads/writes performed on this participant by this transaction
- `timeStamp` (`DateTime`): the commit timestamp for this transaction
- `writerResources` (`List<ParticipantId>`): the participants who wrote during the transaction
- `totalParticipants` (`int`): the total number of participants in the transaction

### Returns

the status of the transaction
