Its a little hard without having your current code but in general you can use the TransactionScope class for this.
for example
using (TransactionScope scope = new TransactionScope())
{
using (SqlConnection connection1 = new SqlConnection(connectString1))
{
Action1(connection1);
Action2(connection1);
Action3(connection1);
Action4(connection1);
Action5(connection1);
Action6(connection1);
}
// The Complete method commits the transaction. If an exception has been thrown,
// Complete is not called and the transaction is rolled back.
scope.Complete();
}
Now as mentioned in the comments this is not the most performance optimal solution, but will probably work well for most mid sized projects.
you can also use Entity framework for your data access.
also see Transactions in EF on stackoverflow