BO.IsDirty return wrong value once error occurred during save


Author
Message
Chan
Chan
Advanced StrataFrame User (737 reputation)Advanced StrataFrame User (737 reputation)Advanced StrataFrame User (737 reputation)Advanced StrataFrame User (737 reputation)Advanced StrataFrame User (737 reputation)Advanced StrataFrame User (737 reputation)Advanced StrataFrame User (737 reputation)Advanced StrataFrame User (737 reputation)Advanced StrataFrame User (737 reputation)
Group: Forum Members
Posts: 533, Visits: 2K
Hi,

I have problem that, whenever that is exception happened/thrown during save (after BusinessLayer.TransactionBegin() is called), BO.IsDirty would always return false (due to _IsSavedOnTransaction is true) even though BusinessLayer.TransactionRollback() is called after that. I tried to call ChangesExistOnCurrentDataTable() manually and it return true to indicate that are some dirty records.



After some debugging, I found that, BO would call ResetIsSavedOnTransactionFlagOnBusinessObjects(DataSourceKey, TransactionKey) in BusinessLayer.TransactionCommit() but not in BusinessLayer.TreansactionRollback().



Is it a bug? If not, how to solve it?



Thank you

Trent Taylor
Trent Taylor
StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)StrataFrame Developer (10K reputation)
Group: StrataFrame Developers
Posts: 6.6K, Visits: 6.9K
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search