public FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy)
 {
     Debug.Assert(IsValidFileName(fileName));
     #if false
     try {
         fileName = System.IO.Path.GetFullPath (fileName);
         saveFileAs(fileName);
         return FileOperationResult.OK;
     } catch (Exception e) {
         switch (policy) {
             case FileErrorPolicy.Inform:
                 using (SaveErrorInformDialog informDialog = new SaveErrorInformDialog(fileName, message, "Error while saving", e)) {
                     informDialog.ShowDialog();
                 }
                 break;
             case FileErrorPolicy.ProvideAlternative:
                 restartlabel:
                     using (SaveErrorChooseDialog chooseDialog = new SaveErrorChooseDialog(fileName, message, "Error while saving", e, true)) {
                         switch (chooseDialog.ShowDialog()) {
                             case DialogResult.OK:
                                 using (SaveFileDialog fdiag = new SaveFileDialog()) {
                                     fdiag.OverwritePrompt = true;
                                     fdiag.AddExtension    = true;
                                     fdiag.CheckFileExists = false;
                                     fdiag.CheckPathExists = true;
                                     fdiag.Title           = "Choose alternate file name";
                                     fdiag.FileName        = fileName;
                                     if (fdiag.ShowDialog() == DialogResult.OK) {
                                         return ObservedSave(saveFileAs, fdiag.FileName, message, policy);
                                     } else {
                                         goto restartlabel;
                                     }
                                 }
                                 case DialogResult.Retry:
                                     return ObservedSave(saveFileAs, fileName, message, policy);
                             case DialogResult.Ignore:
                                 return FileOperationResult.Failed;
                         }
                     }
                     break;
         }
     }
     #else
     try {
         saveFileAs(fileName);
         return FileOperationResult.OK;
     } catch (Exception e) {
         Console.WriteLine("Error while saving as : " + e.ToString());
     }
     #endif
     return FileOperationResult.Failed;
 }
        // Observe SAVE functions
        public FileOperationResult ObservedSave(FileOperationDelegate saveFile, string fileName, string message, FileErrorPolicy policy)
        {
            Debug.Assert(IsValidFileName(fileName));
            #if false
            try {
                saveFile();
                return FileOperationResult.OK;
            } catch (Exception e) {
                switch (policy) {
                    case FileErrorPolicy.Inform:
                        using (SaveErrorInformDialog informDialog = new SaveErrorInformDialog(fileName, message, "Error while saving", e)) {
                            informDialog.ShowDialog();
                        }
                        break;
                    case FileErrorPolicy.ProvideAlternative:
                        using (SaveErrorChooseDialog chooseDialog = new SaveErrorChooseDialog(fileName, message, "Error while saving", e, false)) {
                            switch (chooseDialog.ShowDialog()) {
                                case DialogResult.OK: // choose location (never happens here)
                                break;
                                case DialogResult.Retry:
                                    return ObservedSave(saveFile, fileName, message, policy);
                                case DialogResult.Ignore:
                                    return FileOperationResult.Failed;
                            }
                        }
                        break;
                }
            }
            #else
            try {
                saveFile();
                return FileOperationResult.OK;
            } catch (Exception e) {
                Console.WriteLine("Error while saving : " + e.ToString());
            }

            #endif
            return FileOperationResult.Failed;
        }
Exemplo n.º 3
0
        public static FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy)
        {
            try
            {
                string directoryName = Path.GetDirectoryName(fileName);
                if (!Directory.Exists(directoryName))
                {
                    Directory.CreateDirectory(directoryName);
                }
                saveFileAs(fileName);
                OnFileSaved(new FileNameEventArgs(fileName));
                return FileOperationResult.OK;
            }
            catch (Exception exception)
            {
                switch (policy)
                {
                    case FileErrorPolicy.Inform:
                        using (SaveErrorInformDialog dialog = new SaveErrorInformDialog(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", exception))
                        {
                            dialog.ShowDialog();
                        }
                        goto Label_016F;

                    case FileErrorPolicy.ProvideAlternative:
                        goto Label_0084;

                    default:
                        goto Label_016F;
                }
            Label_0084:
                using (SaveErrorChooseDialog dialog2 = new SaveErrorChooseDialog(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", exception, true))
                {
                    switch (dialog2.ShowDialog())
                    {
                        case DialogResult.OK:
                        {
                            using (SaveFileDialog dialog3 = new SaveFileDialog())
                            {
                                dialog3.OverwritePrompt = true;
                                dialog3.AddExtension = true;
                                dialog3.CheckFileExists = false;
                                dialog3.CheckPathExists = true;
                                dialog3.Title = "Choose alternate file name";
                                dialog3.FileName = fileName;
                                if (dialog3.ShowDialog() == DialogResult.OK)
                                {
                                    return ObservedSave(saveFileAs, dialog3.FileName, message, policy);
                                }
                                goto Label_0084;
                            }
                        }
                        case DialogResult.Cancel:
                        case DialogResult.Abort:
                            goto Label_016F;

                        case DialogResult.Retry:
                            return ObservedSave(saveFileAs, fileName, message, policy);

                        case DialogResult.Ignore:
                            return FileOperationResult.Failed;
                    }
                    goto Label_016F;
                }
            }
            Label_016F:
            return FileOperationResult.Failed;
        }
Exemplo n.º 4
0
        public void InformSaveError(FileName fileName, string message, string dialogName, Exception exceptionGot)
        {
            var dlg = new SaveErrorInformDialog(fileName, message, dialogName, exceptionGot);

            ((GuiFactoryServiceWpfWin)Current.Gui).ShowDialog(dlg);
        }
Exemplo n.º 5
0
        public static FileOperationResult ObservedSave(FileOperationDelegate saveFile, string fileName, string message, FileErrorPolicy policy)
        {
            try
            {
                saveFile();
                OnFileSaved(new FileNameEventArgs(fileName));
                return FileOperationResult.OK;
            }
            catch (Exception exception)
            {
                switch (policy)
                {
                    case FileErrorPolicy.Inform:
                        using (SaveErrorInformDialog dialog = new SaveErrorInformDialog(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", exception))
                        {
                            dialog.ShowDialog();
                        }
                        goto Label_00C7;

                    case FileErrorPolicy.ProvideAlternative:
                        using (SaveErrorChooseDialog dialog2 = new SaveErrorChooseDialog(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", exception, false))
                        {
                            switch (dialog2.ShowDialog())
                            {
                                case DialogResult.OK:
                                case DialogResult.Cancel:
                                case DialogResult.Abort:
                                    goto Label_00C7;

                                case DialogResult.Retry:
                                    return ObservedSave(saveFile, fileName, message, policy);

                                case DialogResult.Ignore:
                                    return FileOperationResult.Failed;
                            }
                        }
                        goto Label_00C7;
                }
            }
            Label_00C7:
            return FileOperationResult.Failed;
        }