Example #1
0
 private void vetoCommandIfInList(
     object sender,
     DocumentLockModeChangedEventArgs e)
 {
     if (cmdList.Contains(e.GlobalCommandName.ToUpper()))
     {
         e.Veto();
     }
 }
 private void callback_DocumentLockModeChanged(object sender, DocumentLockModeChangedEventArgs e)
 {
     try
     {
         WriteLine(String.Format("DocumentLockModeChanged - from {0} to {1} with command {2}", e.MyPreviousMode, e.MyCurrentMode, e.GlobalCommandName));
     }
     catch (System.Exception ex)
     {
         Helper.Message(ex);
     }
 }
Example #3
0
 private static void DocumentManager_DocumentLockModeChanged(object sender, [NotNull] DocumentLockModeChangedEventArgs e)
 {
     if (UseBedit)
     {
         return;
     }
     if (e.GlobalCommandName == "BEDIT")
     {
         e.Veto();
     }
 }
Example #4
0
        private static void DocumentManager_DocumentLockModeChanged(object sender, [NotNull] DocumentLockModeChangedEventArgs e)
        {
            switch (e.GlobalCommandName)
            {
            case "":
            case "#":
            case "#CLOSE":
            case "#QUIT":
                return;
            }

            cmd = e.GlobalCommandName;
        }
Example #5
0
 private void DocumentManager_DocumentLockModeChanged(object sender, DocumentLockModeChangedEventArgs e)
 {
     if (e.GlobalCommandName.Length > 0)
     {
         if (_customFound && e.GlobalCommandName.ToUpper() != _customCommand.ToUpper())
         {
             e.Veto();
         }
         else
         {
             _customFound = false;
         }
     }
 }
Example #6
0
        private static bool StopSave(DocumentLockModeChangedEventArgs e, Case @case)
        {
            lastSaveAsFile = e.Document.Name;
            BeginSave(e.Document.Name, @case);
            if (veto)
            {
                e.Veto();
                Debug.WriteLine($"StopSave Veto {e.GlobalCommandName}");
                return(true);
            }

            Debug.WriteLine($"StopSave no veto {e.GlobalCommandName}");
            return(false);
        }
Example #7
0
        private static bool StopSave(DocumentLockModeChangedEventArgs e, Case @case)
        {
            Logger.Log.Info($"Eventer StopSave case={@case}, doc={e?.Document?.Name}.");
            lastSaveAsFile = e.Document.Name;
            BeginSave(e.Document.Name, @case);
            if (veto)
            {
                Logger.Log.Info($"Eventer Veto case={@case}, doc={e?.Document?.Name}.");
                e.Veto();
                Debug.WriteLine($"StopSave Veto {e.GlobalCommandName}");
                return(true);
            }

            Debug.WriteLine($"StopSave no veto {e.GlobalCommandName}");
            return(false);
        }
Example #8
0
 private void callback_DocumentLockModeChanged(object sender, DocumentLockModeChangedEventArgs e)
 {
     try
     {
         WriteLine(String.Format("DocumentLockModeChanged - from {0} to {1} with command {2}", e.MyPreviousMode, e.MyCurrentMode, e.GlobalCommandName));
     }
     catch (System.Exception ex)
     {
         Helper.Message(ex);
     }
 }
Example #9
0
        private static void DocumentManager_DocumentLockModeChanged(object sender, DocumentLockModeChangedEventArgs e)
        {
            Debug.WriteLine($"DocumentManager_DocumentLockModeChanged {e.GlobalCommandName} {e.Document.Name}");
            try
            {
                short dbmod = (short)Application.GetSystemVariable("DBMOD");
                switch (e.GlobalCommandName)
                {
                case "QSAVE":
                    Logger.Log.Info("Eventer DocumentLockModeChanged=QSAVE");
                    StopSave(e, Case.Default);
                    lastModeChange = "QSAVE";
                    break;

                case "SAVEAS":
                    Logger.Log.Info("Eventer DocumentLockModeChanged=SAVEAS");
                    if (lastModeChange != "SAVEAS")
                    {
                        lastModeChange = "SAVEAS";
                        StopSave(e, Case.SaveAs);
                    }

                    break;

                case "#SAVEAS":
                    Logger.Log.Info("Eventer DocumentLockModeChanged=#SAVEAS");
                    if (lastModeChange != "SAVEAS" || lastSaveAsFile != e.Document.Name)
                    {
                        StopSave(e, Case.SaveAs);
                    }

                    lastModeChange = "#SAVEAS";
                    break;

                case "CLOSE":
                    Logger.Log.Info("Eventer DocumentLockModeChanged=CLOSE");
                    if (dbmod != 0 && lastModeChange != "CLOSE")
                    {
                        switch (MessageBox.Show("Файл изменен. Хотите сохранить изменения?", "Внимание!",
                                                MessageBoxButton.YesNoCancel, MessageBoxImage.Warning))
                        {
                        case MessageBoxResult.Yes:
                            if (!StopSave(e, Case.Default))
                            {
                                e.Veto();
                                CloseSave(e.Document);
                            }
                            else
                            {
                                e.Veto();
                                CloseDiscard(e.Document);
                            }

                            lastModeChange = "CLOSE";
                            break;

                        case MessageBoxResult.No:
                            e.Veto();
                            CloseDiscard(e.Document);
                            break;

                        case MessageBoxResult.Cancel:
                            e.Veto();
                            break;
                        }
                    }

                    lastModeChange = "CLOSE";
                    break;

                default:
                    lastModeChange = null;
                    break;
                }
            }
            catch (OperationCanceledException)
            {
                // Отмена
                e.Veto();
            }
            catch (Exception ex)
            {
                Logger.Log.Fatal(ex, $"EventsStatisticService DocumentManager_DocumentLockModeChanged, GlobalCommandName={e?.GlobalCommandName}");
            }
        }