I am not sure why you would want to code transactions into your UI, but couldnt you create an instance of a transaction and pass it to a manager class that forwarded the same transaction to the adapter? Isnt it also true, that the transaction wouldnt be committed or rolled back until the client committed or rolled it back?
I would think that it would be more practical for you to have your UI call a manager that wrapped access to a unit of work. Then have the UI call Commit on the manager, and then have the manager invoke the UOW2 commit.
So, OrderManager might have methods to AddCustomerToOrder, CreateNewOrder, AddProductToOrder, etc. These methods would internally add for update or add for save on a UnitOfWork. Then when the client was ready, they would call Manager.CommitOrder and woosh, all data gets saved.