Ejemplo n.º 1
0
        private void sync_SyncComplete(object sender, SyncCompleteEventArgs e)
        {
            var caption = PNStrings.PROG_NAME;
            var plugin  = sender as ISyncPlugin;

            if (plugin != null)
            {
                caption = plugin.Name;
            }

            switch (e.Result)
            {
            case SyncResult.None:
                PNMessageBox.Show(PNLang.Instance.GetMessageText("sync_complete", "Synchronization completed successfully"), caption, MessageBoxButton.OK, MessageBoxImage.Information);
                break;

            case SyncResult.Reload:
                PNMessageBox.Show(PNLang.Instance.GetMessageText("sync_complete_reload", "Synchronization completed successfully. The program has to be restarted for applying all changes."), caption, MessageBoxButton.OK, MessageBoxImage.Information);
                PNData.UpdateTablesAfterSync();
                PNStatic.FormMain.ApplyAction(MainDialogAction.Restart, null);
                break;

            case SyncResult.AbortVersion:
                PNMessageBox.Show(PNLang.Instance.GetMessageText("diff_versions", "Current version of database is different from previously synchronized version. Synchronization cannot be performed."), caption, MessageBoxButton.OK, MessageBoxImage.Exclamation);
                break;

            case SyncResult.Error:
                var sb =
                    new StringBuilder(PNLang.Instance.GetMessageText("sync_error_1",
                                                                     "An error occurred during synchronization."));
                sb.Append(" (");
                sb.Append(caption);
                sb.Append(")");
                sb.AppendLine();
                sb.Append(PNLang.Instance.GetMessageText("sync_error_2",
                                                         "Please, refer to log file of appropriate plugin."));
                var baloon = new Baloon(BaloonMode.Error)
                {
                    BaloonText = sb.ToString()
                };
                PNStatic.FormMain.ntfPN.ShowCustomBalloon(baloon, PopupAnimation.Slide, 10000);
                break;
            }
        }
Ejemplo n.º 2
0
        private void sync_SyncComplete(object sender, LocalSyncCompleteEventArgs e)
        {
            try
            {
                if (!Dispatcher.CheckAccess())
                {
                    SyncCompleteDelegate d = sync_SyncComplete;
                    Dispatcher.Invoke(d, sender, e);
                }
                else
                {
                    Topmost = false;
                    var sync = (PNSync)sender;
                    sync.SyncComplete -= sync_SyncComplete;
                    switch (e.Result)
                    {
                    case LocalSyncResult.None:
                        PNMessageBox.Show(PNLang.Instance.GetMessageText("sync_complete", "Syncronization completed successfully"), PNStrings.PROG_NAME, MessageBoxButton.OK);
                        DialogResult = false;
                        break;

                    case LocalSyncResult.Reload:
                        PNMessageBox.Show(PNLang.Instance.GetMessageText("sync_complete_reload", "Syncronization completed successfully. The program has to be restarted for applying all changes."), PNStrings.PROG_NAME, MessageBoxButton.OK);
                        PNData.UpdateTablesAfterSync();
                        DialogResult = true;
                        break;

                    case LocalSyncResult.AbortVersion:
                        PNMessageBox.Show(PNLang.Instance.GetMessageText("diff_versions", "Current version of database is different from previously synchronized version. Synchronization cannot be performed."), PNStrings.PROG_NAME, MessageBoxButton.OK, MessageBoxImage.Exclamation);
                        DialogResult = false;
                        break;

                    case LocalSyncResult.Error:
                        DialogResult = false;
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                PNStatic.LogException(ex);
            }
        }