How to get Sql Server database trowed errors details at client side (like sql raiserror level) using Breeze manager perhaps in saveChanges fail function. For example :
// SERVER-SIDE (SQL-SERVER : TRIGGER - After Insert)
RAISERROR ('Espace utilise par Place, Cannot delete.', 16, 1)
ROLLBACK TRAN
RETURN
// CLIENT-SIDE (BREEZE : saveChanges - saveFailed)
var saveChanges = function () {
.....
function saveFailed(error) {
var msg = 'Save failed: ' + getErrorMessages(error);
logError(msg, error);
error.message = msg;
throw error;
}
};
UPDATE 1 : Ok, after updated my breeze version to 1.4.1 I've got the error details at client but :
a) application stop at server-side (Breeze controller Api) with InvalidOperationException at code bellow point without any debug breakpoint assigned.
[HttpPost]
public SaveResult SaveChanges(JObject saveBundle)
{
return _contextProvider.SaveChanges(saveBundle);
}
b) if I force it to continue, I get the errors at client side at Breeze saveChanges saveFailed level. How to manage this error to bypass Breeze server-side api controller error handler but continue to have related infos at client?
In waiting for an adequate answer I'm trying to reported these business rules at BeforeSaveEntities scope. But it will be painful to prohibit all use of all triggers rules in lieu of BeforeSaveEntities : they don't have same functions.