Working on a catalog import tool. The requirement is to read from a tab delimited text files and import the catalog data into EPI Server Database.
The major requirement is that no partial updates should stay in the database. Meaning that for a given SKU all the related information should either be commited in case of sucess or rolled back in case of failure.
E.g. We create the product entry, meta fields entries, relations entries, association entries in the memory and if everything is ready to go, we just say accept changes and everything gets saved to the database at once. In case of mulitple variations for a product, the product entry should go with all the variantion entries together.
If the transaction failed by any reason at any level, the whole transaction is rolled back.
Do we have a DTO object that can contain the information in the memory about product, variantions etc, make updates in memory and save to the databse all together.
By reveiwing the current examples out there, almost all of them are just saving objects to the database one by one. If we follow that approach, how can we roll back the already commited objects if we want to .