private void SaveChanges() { kernel.ClearTimeout(scheduleHandler); scheduleHandler = null; try { lock (SyncLock) { var queue = BuildSaveQueue(); if (queue.Count > 0) { logger.LogDebug("Saving all pending changes to the database."); } using (var con = db.GetConnection()) { con.Open(); while (queue.TryPeek(out var saveData)) { var query = queryBuilder.Build(saveData); if (query == null) { return; } var command = con.CreateCommand(); command.CommandText = query.Command; var result = command.ExecuteNonQuery(); if (result == 0) { logger.LogError("Unable to save data! Abort Query failed"); return; } ClearChangeSetState(saveData); queue.Dequeue(); } con.Close(); } } } catch (Exception exc) { logger.LogInformation("ERROR SAVING DATA!! " + exc); } finally { ScheduleNextSave(); } }
private void SaveChanges() { kernel.ClearTimeout(scheduleHandler); scheduleHandler = null; try { lock (SyncLock) { logger.LogDebug("Saving all pending changes to the database."); var queue = BuildSaveQueue(); while (queue.TryPeek(out var saveData)) { using (var con = db.GetConnection()) { con.Open(); var query = queryBuilder.Build(saveData); if (query == null) { return; } var command = con.CreateCommand(); command.CommandText = query.Command; var result = command.ExecuteNonQuery(); if (result == 0) { logger.LogError("Unable to save data! Abort Query failed"); return; } ClearChangeSetState(saveData); queue.Dequeue(); con.Close(); } } backupProvider.ClearRestorePoint(); //ClearChangeSetState(); } } catch (SqlException exc) { CreateBackup(); backupProvider.CreateRestorePoint(entitySets); //foreach (SqlErrorCollection error in exc.Errors) //{ // var saveError = ParseSqlError(error.ToString()); // HandleSqlError(saveError); //} logger.LogError("ERROR SAVING DATA!! " + exc); } catch (Exception exc) { logger.LogError("ERROR SAVING DATA!! " + exc); // log this } finally { ScheduleNextSave(); } }
public void ClearEntityTimeout(ITimeoutHandle handle) { kernel.ClearTimeout(handle); }