各位先進好,想請教個小問題~
目前專案在早期程式裡,同一個頁面有多個table資料,有各自的button可操作CRUD,也有一個操作所有table一次更新的功能。
因為早期的寫法雖然是一個button可以操作完所有table的資料,但實質上還是用ajax call api各別呼叫,各別處理
例如:
$.ajax({
url:'http://abc.com'
type:'POST',
data:jsonStr,
//CRUD Table1
success:function(data){
$.ajax({
url:'http://abc.com'
type:'POST',
data:jsonStr,
//CRUD Table2
success:function(data){
//依序處理Table3, Table4
}
}
});
各自呼叫的API各自處理Commit與Rollback
public void RollbackTest(Model data)
{
try
{
//CRUD processing...
Commit();
}
catch (Exception ex)
{
Rollback();
throw ex;
}
}
現在要改寫為所有資料要一併處理,若其中有任一個地方資料處理錯誤,那所有資料都要一併Rollback回來。
所以想要確認的是,唯一的方法就是將所有Table1~N的資料打包成一組JSON,一次送進API處理,這樣才能逹到將所有資料一次性Rollback的需求,還是有其它更好方法是我經驗不夠沒想到的呢?
感謝各位先進的指教~