/// <summary> /// Handles the Elapsed event of the PendingChangesTimer control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.Timers.ElapsedEventArgs"/> instance containing the event data.</param> public void PendingChangesTimerElapsed(object sender, ElapsedEventArgs e) { if (PendingChanges.Count == 0) { return; } var changes = PendingChanges.ToList(); PendingChanges.Clear(); if (File.Exists(_pendingDataPath)) { try { File.Delete(_pendingDataPath); } catch { } } var req = Remote.API.SendDatabaseChanges(changes, _user, _pass); if (!req.Success || !req.OK) { PendingChanges.AddRange(changes); PendingChangesTimer.Start(); SavePendingChanges(); } }