Ejemplo n.º 1
0
 // Observe LOAD functions
 public static FileOperationResult ObservedLoad(FileOperationDelegate loadFile, FileName fileName, string message, FileErrorPolicy policy)
 {
     try {
         loadFile();
         OnFileLoaded(new FileNameEventArgs(fileName));
         return(FileOperationResult.OK);
     } catch (IOException e) {
         return(ObservedLoadHandleException(e, loadFile, fileName, message, policy));
     }  catch (UnauthorizedAccessException e) {
         return(ObservedLoadHandleException(e, loadFile, fileName, message, policy));
     } catch (FormatException e) {
         return(ObservedLoadHandleException(e, loadFile, fileName, message, policy));
     }
 }
Ejemplo n.º 2
0
 public static FileOperationResult ObservedLoad(FileOperationDelegate loadFile, FileName fileName, FileErrorPolicy policy = FileErrorPolicy.Inform)
 {
     return(ObservedLoad(loadFile,
                         fileName,
                         ResourceService.GetString("ICSharpCode.Services.FileUtilityService.CantLoadFileStandardText"),
                         policy));
 }
 public FileOperationResult ObservedLoad(NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy)
 {
     return ObservedLoad(new FileOperationDelegate(new LoadWrapper(saveFileAs, fileName).Invoke), fileName, message, policy);
 }
Ejemplo n.º 4
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;
        }
Ejemplo n.º 5
0
		// Observe SAVE functions
		public static FileOperationResult ObservedSave(FileOperationDelegate saveFile, string fileName, string message, FileErrorPolicy policy = FileErrorPolicy.Inform)
		{
			System.Diagnostics.Debug.Assert(IsValidPath(fileName));
			try {
				saveFile();
				RaiseFileSaved(new FileNameEventArgs(fileName));
				return FileOperationResult.OK;
			} catch (IOException e) {
				return ObservedSaveHandleException(e, saveFile, fileName, message, policy);
			} catch (UnauthorizedAccessException e) {
				return ObservedSaveHandleException(e, saveFile, fileName, message, policy);
			}
		}
Ejemplo n.º 6
0
		static FileOperationResult ObservedLoadHandleException(Exception e, FileOperationDelegate loadFile, string fileName, string message, FileErrorPolicy policy)
		{
			switch (policy) {
				case FileErrorPolicy.Inform:
					ServiceManager.Instance.MessageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e);
					break;
				case FileErrorPolicy.ProvideAlternative:
					ChooseSaveErrorResult r = ServiceManager.Instance.MessageService.ChooseSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e, false);
					if (r.IsRetry)
						return ObservedLoad(loadFile, fileName, message, policy);
					else if (r.IsIgnore)
						return FileOperationResult.Failed;
					break;
			}
			return FileOperationResult.Failed;
		}
Ejemplo n.º 7
0
        // Observe LOAD functions
        public static FileOperationResult ObservedLoad(FileOperationDelegate loadFile, string fileName, string message, FileErrorPolicy policy)
        {
            try {
                loadFile();
                OnFileLoaded(new FileNameEventArgs(fileName));
                return(FileOperationResult.OK);
            } catch (Exception e) {
                switch (policy)
                {
                case FileErrorPolicy.Inform:
                    using (SaveErrorInformDialog informDialog = new SaveErrorInformDialog(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e)) {
                        informDialog.ShowDialog();
                    }
                    break;

                case FileErrorPolicy.ProvideAlternative:
                    using (SaveErrorChooseDialog chooseDialog = new SaveErrorChooseDialog(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e, false)) {
                        switch (chooseDialog.ShowDialog())
                        {
                        case DialogResult.OK:                                         // choose location (never happens here)
                            break;

                        case DialogResult.Retry:
                            return(ObservedLoad(loadFile, fileName, message, policy));

                        case DialogResult.Ignore:
                            return(FileOperationResult.Failed);
                        }
                    }
                    break;
                }
            }
            return(FileOperationResult.Failed);
        }
Ejemplo n.º 8
0
        public static FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy)
        {
            System.Diagnostics.Debug.Assert(IsValidPath(fileName));
            try {
                string directory = Path.GetDirectoryName(fileName);
                if (!Directory.Exists(directory))
                {
                    Directory.CreateDirectory(directory);
                }
                saveFileAs(fileName);
                OnFileSaved(new FileNameEventArgs(fileName));
                return(FileOperationResult.OK);
            } catch (Exception e) {
                switch (policy)
                {
                case FileErrorPolicy.Inform:
                    ServiceManager.MessageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e);
                    break;

                case FileErrorPolicy.ProvideAlternative:
                    ChooseSaveErrorResult r = ServiceManager.MessageService.ChooseSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e, false);
                    if (r.IsRetry)
                    {
                        return(ObservedSave(saveFileAs, fileName, message, policy));
                    }
                    else if (r.IsIgnore)
                    {
                        return(FileOperationResult.Failed);
                    }
                    else if (r.IsSaveAlternative)
                    {
                        return(ObservedSave(saveFileAs, r.AlternativeFileName, message, policy));
                    }
                    break;
                }
            }
            return(FileOperationResult.Failed);
        }
Ejemplo n.º 9
0
 public static FileOperationResult ObservedLoad(FileOperationDelegate loadFile, string fileName, FileErrorPolicy policy)
 {
     return(ObservedLoad(loadFile,
                         fileName,
                         ResourceService.GetString("FanHai.Gui.Framework.Services.FileUtilityService.CantLoadFileStandardText"),
                         policy));
 }
Ejemplo n.º 10
0
        public static FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy)
        {
            System.Diagnostics.Debug.Assert(IsValidFileName(fileName));
            try {
                string directory = Path.GetDirectoryName(fileName);
                if (!Directory.Exists(directory))
                {
                    Directory.CreateDirectory(directory);
                }
                saveFileAs(fileName);
                OnFileSaved(new FileNameEventArgs(fileName));
                return(FileOperationResult.OK);
            } catch (Exception e) {
                switch (policy)
                {
                case FileErrorPolicy.Inform:
                    using (SaveErrorInformDialog informDialog = new SaveErrorInformDialog(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e)) {
                        informDialog.ShowDialog();
                    }
                    break;

                case FileErrorPolicy.ProvideAlternative:
restartlabel:
                    using (SaveErrorChooseDialog chooseDialog = new SaveErrorChooseDialog(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", 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;
                }
            }
            return(FileOperationResult.Failed);
        }
Ejemplo n.º 11
0
		public FileOperationResult ObservedLoad(NamedFileOperationDelegate loadFileAsDelegate, string fileName, FileErrorPolicy policy)
		{
			string cantLoadFileStandardText = resourceService.GetString("NetFocus.Services.FileUtilityService.CantLoadFileStandardText");

			return ObservedLoad(loadFileAsDelegate,fileName,cantLoadFileStandardText,policy);
		}
Ejemplo n.º 12
0
		public FileOperationResult ObservedLoad(NamedFileOperationDelegate loadNamedFileDelegate, string fileName, string message, FileErrorPolicy policy)
		{
			LoadWrapper loadWrapper = new LoadWrapper(loadNamedFileDelegate, fileName);
			FileOperationDelegate fileOperationDelegate = new FileOperationDelegate(loadWrapper.Invoke);
			return ObservedLoad(fileOperationDelegate, fileName, message, policy);
		}
Ejemplo n.º 13
0
		public FileOperationResult ObservedLoad(FileOperationDelegate loadFileDelegate, string fileName, string message, FileErrorPolicy policy)
		{
			Debug.Assert(IsValidFileName(fileName));
			//Eventually do the load file action.
			try 
			{
				loadFileDelegate();//通过这个委托来真正最后调用实际的方法,所有的ObservedLoad方法
				//无论是NamedFileOperation还是FileOperation最终都会通过这个委托来调用所对应的方�?
				return FileOperationResult.OK;
			} 
			catch (Exception e) 
			{
				switch (policy) 
				{
					case FileErrorPolicy.Inform:
						using (SaveErrorInformDialog informDialog = new SaveErrorInformDialog(fileName, message, "Error while loading", e)) 
						{
							informDialog.ShowDialog();
						}
						break;
					case FileErrorPolicy.ProvideAlternative:
						using (SaveErrorChooseDialog chooseDialog = new SaveErrorChooseDialog(fileName, message, "Error while loading", e, false)) 
						{
							switch (chooseDialog.ShowDialog()) 
							{
								case DialogResult.OK: // choose location (never happens here)
									break;
								case DialogResult.Retry:
									return ObservedLoad(loadFileDelegate, fileName, message, policy);
								case DialogResult.Ignore:
									return FileOperationResult.Failed;
							}
						}
						break;
				}
			}
			return FileOperationResult.Failed;
		}
Ejemplo n.º 14
0
		public static FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy)
		{
			System.Diagnostics.Debug.Assert(IsValidFileName(fileName));
			try {
				string directory = Path.GetDirectoryName(fileName);
				if (!Directory.Exists(directory)) {
					Directory.CreateDirectory(directory);
				}
				saveFileAs(fileName);
				OnFileSaved(new FileNameEventArgs(fileName));
				return FileOperationResult.OK;
			} catch (Exception e) {
				switch (policy) {
					case FileErrorPolicy.Inform:
						using (SaveErrorInformDialog informDialog = new SaveErrorInformDialog(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e)) {
							informDialog.ShowDialog();
						}
						break;
					case FileErrorPolicy.ProvideAlternative:
					restartlabel:
						using (SaveErrorChooseDialog chooseDialog = new SaveErrorChooseDialog(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", 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;
				}
			}
			return FileOperationResult.Failed;
		}
Ejemplo n.º 15
0
 public static FileOperationResult ObservedLoad(NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy)
 {
     return(ObservedLoad(new FileOperationDelegate(new LoadWrapper(saveFileAs, fileName).Invoke), fileName, message, policy));
 }
Ejemplo n.º 16
0
 static FileOperationResult ObservedLoadHandleException(Exception e, FileOperationDelegate loadFile, FileName fileName, string message, FileErrorPolicy policy)
 {
     message = message + Environment.NewLine + Environment.NewLine + e.Message;
     var messageService = ServiceSingleton.GetRequiredService<IMessageService>();
     switch (policy) {
         case FileErrorPolicy.Inform:
             messageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e);
             break;
         case FileErrorPolicy.ProvideAlternative:
             ChooseSaveErrorResult r = messageService.ChooseSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e, false);
             if (r.IsRetry)
                 return ObservedLoad(loadFile, fileName, message, policy);
             else if (r.IsIgnore)
                 return FileOperationResult.Failed;
             break;
     }
     return FileOperationResult.Failed;
 }
Ejemplo n.º 17
0
 public static FileOperationResult ObservedLoad(FileOperationDelegate loadFile, string fileName, FileErrorPolicy policy)
 {
     return ObservedLoad(loadFile,
                         fileName,
                         ResourceService.GetString("ECBC.Services.FileUtil.CantLoadFileStandardText"),
                         policy);
 }
Ejemplo n.º 18
0
 public static FileOperationResult ObservedLoad(NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy)
 {
     return(ObservedLoad(new FileOperationDelegate(delegate { saveFileAs(fileName); }), fileName, message, policy));
 }
Ejemplo n.º 19
0
 /// <summary>
 /// 执行保存方法,并进行监视。如果保存出现异常,则根据FileErrorPolicy
 /// 策略的值使用Message服务执行日志记录
 /// </summary>
 /// <param name="saveFile">保存文件委托</param>
 /// <param name="fileName">文件名</param>
 /// <returns>文件操作枚举值</returns>
 public static FileOperationResult ObservedSave(FileOperationDelegate saveFile, string fileName, string message, FileErrorPolicy policy)
 {
     System.Diagnostics.Debug.Assert(IsValidPath(fileName));
     try {
         saveFile();
         RaiseFileSaved(new FileNameEventArgs(fileName));
         return FileOperationResult.OK;
     } catch (Exception e) {
         switch (policy) {
             case FileErrorPolicy.Inform:
                 ServiceManager.MessageService.InformSaveError(fileName, message, "${res:FileUtil.ErrorWhileSaving}", e);
                 break;
             case FileErrorPolicy.ProvideAlternative:
                 ChooseSaveErrorResult r = ServiceManager.MessageService.ChooseSaveError(fileName, message, "${res:FileUtil.ErrorWhileSaving}", e, false);
                 if (r.IsRetry) {
                     return ObservedSave(saveFile, fileName, message, policy);
                 } else if (r.IsIgnore) {
                     return FileOperationResult.Failed;
                 }
                 break;
         }
     }
     return FileOperationResult.Failed;
 }
Ejemplo n.º 20
0
		static FileOperationResult ObservedSaveHandleError(Exception e, NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy)
		{
			switch (policy) {
				case FileErrorPolicy.Inform:
					ServiceManager.Instance.MessageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e);
					break;
				case FileErrorPolicy.ProvideAlternative:
					ChooseSaveErrorResult r = ServiceManager.Instance.MessageService.ChooseSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e, true);
					if (r.IsRetry) {
						return ObservedSave(saveFileAs, fileName, message, policy);
					} else if (r.IsIgnore) {
						return FileOperationResult.Failed;
					} else if (r.IsSaveAlternative) {
						return ObservedSave(saveFileAs, r.AlternativeFileName, message, policy);
					}
					break;
			}
			return FileOperationResult.Failed;
		}
Ejemplo n.º 21
0
 public static FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, string fileName, FileErrorPolicy policy)
 {
     return ObservedSave(saveFileAs,
                         fileName,
                         ResourceService.GetString("ECBC.Services.FileUtil.CantSaveFileStandardText"),
                         policy);
 }
Ejemplo n.º 22
0
		public static FileOperationResult ObservedLoad(NamedFileOperationDelegate saveFileAs, string fileName, FileErrorPolicy policy = FileErrorPolicy.Inform)
		{
			return ObservedLoad(saveFileAs,
			                    fileName,
			                    ResourceService.GetString("ICSharpCode.Services.FileUtilityService.CantLoadFileStandardText"),
			                    policy);
		}
 // Observe LOAD functions
 public static FileOperationResult ObservedLoad(FileOperationDelegate loadFile, string fileName, string message, FileErrorPolicy policy)
 {
     try {
         loadFile();
         OnFileLoaded(new FileNameEventArgs(fileName));
         return FileOperationResult.OK;
     } catch (Exception e) {
         switch (policy) {
             case FileErrorPolicy.Inform:
                 ServiceManager.MessageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e);
                 break;
             case FileErrorPolicy.ProvideAlternative:
                 ChooseSaveErrorResult r = ServiceManager.MessageService.ChooseSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e, false);
                 if (r.IsRetry)
                     return ObservedLoad(loadFile, fileName, message, policy);
                 else if (r.IsIgnore)
                     return FileOperationResult.Failed;
                 break;
         }
     }
     return FileOperationResult.Failed;
 }
 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;
 }
 public static FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy)
 {
     System.Diagnostics.Debug.Assert(IsValidPath(fileName));
     try {
         string directory = Path.GetDirectoryName(fileName);
         if (!Directory.Exists(directory)) {
             Directory.CreateDirectory(directory);
         }
         saveFileAs(fileName);
         RaiseFileSaved(new FileNameEventArgs(fileName));
         return FileOperationResult.OK;
     } catch (Exception e) {
         switch (policy) {
             case FileErrorPolicy.Inform:
                 ServiceManager.MessageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e);
                 break;
             case FileErrorPolicy.ProvideAlternative:
                 ChooseSaveErrorResult r = ServiceManager.MessageService.ChooseSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e, true);
                 if (r.IsRetry) {
                     return ObservedSave(saveFileAs, fileName, message, policy);
                 } else if (r.IsIgnore) {
                     return FileOperationResult.Failed;
                 } else if (r.IsSaveAlternative) {
                     return ObservedSave(saveFileAs, r.AlternativeFileName, message, policy);
                 }
                 break;
         }
     }
     return FileOperationResult.Failed;
 }
Ejemplo n.º 26
0
 public static FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, FileName fileName, string message, FileErrorPolicy policy = FileErrorPolicy.Inform)
 {
     System.Diagnostics.Debug.Assert(IsValidPath(fileName));
     try {
         Directory.CreateDirectory(fileName.GetParentDirectory());
         saveFileAs(fileName);
         RaiseFileSaved(new FileNameEventArgs(fileName));
         return(FileOperationResult.OK);
     } catch (IOException e) {
         return(ObservedSaveHandleError(e, saveFileAs, fileName, message, policy));
     } catch (UnauthorizedAccessException e) {
         return(ObservedSaveHandleError(e, saveFileAs, fileName, message, policy));
     }
 }
Ejemplo n.º 27
0
 public static FileOperationResult ObservedSave(FileOperationDelegate saveFile, string fileName, FileErrorPolicy policy)
 {
     return(ObservedSave(saveFile,
                         fileName,
                         ResourceService.GetString("ICSharpCode.Services.FileUtilityService.CantSaveFileStandardText"),
                         policy));
 }
Ejemplo n.º 28
0
        static FileOperationResult ObservedLoadHandleException(Exception e, FileOperationDelegate loadFile, FileName fileName, string message, FileErrorPolicy policy)
        {
            message = message + Environment.NewLine + Environment.NewLine + e.Message;
            var messageService = ServiceSingleton.GetRequiredService <IMessageService>();

            switch (policy)
            {
            case FileErrorPolicy.Inform:
                messageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e);
                break;

            case FileErrorPolicy.ProvideAlternative:
                ChooseSaveErrorResult r = messageService.ChooseSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e, false);
                if (r.IsRetry)
                {
                    return(ObservedLoad(loadFile, fileName, message, policy));
                }
                else if (r.IsIgnore)
                {
                    return(FileOperationResult.Failed);
                }
                break;
            }
            return(FileOperationResult.Failed);
        }
        //定义一些受保护的加载文件和保存文件的方�?具体执行的函数是通过委托实例来执行的.
        #region ObservedSaveOrLoad Methods

        public FileOperationResult ObservedSave(FileOperationDelegate saveFile, string fileName, string message, FileErrorPolicy policy)
        {
            Debug.Assert(IsValidFileName(fileName));
            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;
                }
            }
            return(FileOperationResult.Failed);
        }
Ejemplo n.º 30
0
		public static FileOperationResult ObservedSave(FileOperationDelegate saveFile, string fileName, FileErrorPolicy policy)
		{
			return ObservedSave(saveFile,
			                    fileName,
			                    ResourceService.GetString("ICSharpCode.Services.FileUtilityService.CantSaveFileStandardText"),
			                    policy);
		}
        public FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy)
        {
            Debug.Assert(IsValidFileName(fileName));
            try
            {
                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;
                }
            }
            return(FileOperationResult.Failed);
        }
Ejemplo n.º 32
0
		// Observe LOAD functions
		public static FileOperationResult ObservedLoad(FileOperationDelegate loadFile, string fileName, string message, FileErrorPolicy policy)
		{
			try {
				loadFile();
				OnFileLoaded(new FileNameEventArgs(fileName));
				return FileOperationResult.OK;
			} catch (Exception e) {
				switch (policy) {
					case FileErrorPolicy.Inform:
						using (SaveErrorInformDialog informDialog = new SaveErrorInformDialog(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e)) {
							informDialog.ShowDialog();
						}
						break;
					case FileErrorPolicy.ProvideAlternative:
						using (SaveErrorChooseDialog chooseDialog = new SaveErrorChooseDialog(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e, false)) {
							switch (chooseDialog.ShowDialog()) {
								case DialogResult.OK: // choose location (never happens here)
									break;
								case DialogResult.Retry:
									return ObservedLoad(loadFile, fileName, message, policy);
								case DialogResult.Ignore:
									return FileOperationResult.Failed;
							}
						}
						break;
				}
			}
			return FileOperationResult.Failed;
		}
 public FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, string fileName, FileErrorPolicy policy)
 {
     return(ObservedSave(saveFileAs,
                         fileName,
                         resourceService.GetString("NetFocus.Services.FileUtilityService.CantSaveFileStandardText"),
                         policy));
 }
Ejemplo n.º 34
0
 static FileOperationResult ObservedSaveHandleException(Exception e, FileOperationDelegate saveFile, FileName fileName, string message, FileErrorPolicy policy)
 {
     var messageService = ServiceSingleton.GetRequiredService<IMessageService>();
     switch (policy) {
         case FileErrorPolicy.Inform:
             messageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e);
             break;
         case FileErrorPolicy.ProvideAlternative:
             ChooseSaveErrorResult r = messageService.ChooseSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e, false);
             if (r.IsRetry) {
                 return ObservedSave(saveFile, fileName, message, policy);
             } else if (r.IsIgnore) {
                 return FileOperationResult.Failed;
             }
             break;
     }
     return FileOperationResult.Failed;
 }
        public FileOperationResult ObservedLoad(FileOperationDelegate loadFileDelegate, string fileName, string message, FileErrorPolicy policy)
        {
            Debug.Assert(IsValidFileName(fileName));
            //Eventually do the load file action.
            try
            {
                loadFileDelegate();                //通过这个委托来真正最后调用实际的方法,所有的ObservedLoad方法
                //无论是NamedFileOperation还是FileOperation最终都会通过这个委托来调用所对应的方�?
                return(FileOperationResult.OK);
            }
            catch (Exception e)
            {
                switch (policy)
                {
                case FileErrorPolicy.Inform:
                    using (SaveErrorInformDialog informDialog = new SaveErrorInformDialog(fileName, message, "Error while loading", e))
                    {
                        informDialog.ShowDialog();
                    }
                    break;

                case FileErrorPolicy.ProvideAlternative:
                    using (SaveErrorChooseDialog chooseDialog = new SaveErrorChooseDialog(fileName, message, "Error while loading", e, false))
                    {
                        switch (chooseDialog.ShowDialog())
                        {
                        case DialogResult.OK:                                         // choose location (never happens here)
                            break;

                        case DialogResult.Retry:
                            return(ObservedLoad(loadFileDelegate, fileName, message, policy));

                        case DialogResult.Ignore:
                            return(FileOperationResult.Failed);
                        }
                    }
                    break;
                }
            }
            return(FileOperationResult.Failed);
        }
Ejemplo n.º 36
0
        // Observe LOAD functions
        public static FileOperationResult ObservedLoad(FileOperationDelegate loadFile, string fileName, string message, FileErrorPolicy policy)
        {
            try {
                loadFile();
                OnFileLoaded(new FileNameEventArgs(fileName));
                return(FileOperationResult.OK);
            } catch (Exception e) {
                switch (policy)
                {
                case FileErrorPolicy.Inform:
                    ServiceManager.MessageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e);
                    break;

                case FileErrorPolicy.ProvideAlternative:
                    ChooseSaveErrorResult r = ServiceManager.MessageService.ChooseSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileLoading}", e, false);
                    if (r.IsRetry)
                    {
                        return(ObservedLoad(loadFile, fileName, message, policy));
                    }
                    else if (r.IsIgnore)
                    {
                        return(FileOperationResult.Failed);
                    }
                    break;
                }
            }
            return(FileOperationResult.Failed);
        }
        public FileOperationResult ObservedLoad(NamedFileOperationDelegate loadNamedFileDelegate, string fileName, string message, FileErrorPolicy policy)
        {
            LoadWrapper           loadWrapper           = new LoadWrapper(loadNamedFileDelegate, fileName);
            FileOperationDelegate fileOperationDelegate = new FileOperationDelegate(loadWrapper.Invoke);

            return(ObservedLoad(fileOperationDelegate, fileName, message, policy));
        }
Ejemplo n.º 38
0
 public static FileOperationResult ObservedLoad(NamedFileOperationDelegate saveFileAs, string fileName, FileErrorPolicy policy)
 {
     return(ObservedLoad(saveFileAs,
                         fileName,
                         ResourceService.GetString("Libra.Services.FileUtilityService.CantLoadFileStandardText"),
                         policy));
 }
        public FileOperationResult ObservedLoad(NamedFileOperationDelegate loadFileAsDelegate, string fileName, FileErrorPolicy policy)
        {
            string cantLoadFileStandardText = resourceService.GetString("NetFocus.Services.FileUtilityService.CantLoadFileStandardText");

            return(ObservedLoad(loadFileAsDelegate, fileName, cantLoadFileStandardText, policy));
        }
Ejemplo n.º 40
0
		public static FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy = FileErrorPolicy.Inform)
		{
			System.Diagnostics.Debug.Assert(IsValidPath(fileName));
			try {
				string directory = Path.GetDirectoryName(fileName);
				if (!Directory.Exists(directory)) {
					Directory.CreateDirectory(directory);
				}
				saveFileAs(fileName);
				RaiseFileSaved(new FileNameEventArgs(fileName));
				return FileOperationResult.OK;
			} catch (IOException e) {
				return ObservedSaveHandleError(e, saveFileAs, fileName, message, policy);
			} catch (UnauthorizedAccessException e) {
				return ObservedSaveHandleError(e, saveFileAs, fileName, message, policy);
			}
		}
Ejemplo n.º 41
0
 public static FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, FileName fileName, FileErrorPolicy policy = FileErrorPolicy.Inform)
 {
     return ObservedSave(saveFileAs,
                         fileName,
                         (string)LocalizeDictionary.Instance.GetLocalizedObject("BVEEditor", "StringResources", "Services_FileUtilities_CantSaveFileStandardText", LocalizeDictionary.CurrentCulture),
                         policy);
 }
Ejemplo n.º 42
0
		// Observe LOAD functions
		public static FileOperationResult ObservedLoad(FileOperationDelegate loadFile, string fileName, string message, FileErrorPolicy policy)
		{
			try {
				loadFile();
				OnFileLoaded(new FileNameEventArgs(fileName));
				return FileOperationResult.OK;
			} catch (IOException e) {
				return ObservedLoadHandleException(e, loadFile, fileName, message, policy);
			}  catch (UnauthorizedAccessException e) {
				return ObservedLoadHandleException(e, loadFile, fileName, message, policy);
			}
		}
Ejemplo n.º 43
0
 // Observe SAVE functions
 public static FileOperationResult ObservedSave(FileOperationDelegate saveFile, string fileName, string message, FileErrorPolicy policy = FileErrorPolicy.Inform)
 {
     System.Diagnostics.Debug.Assert(IsValidPath(fileName));
     try {
         saveFile();
         RaiseFileSaved(new FileNameEventArgs(fileName));
         return(FileOperationResult.OK);
     } catch (IOException e) {
         return(ObservedSaveHandleException(e, saveFile, fileName, message, policy));
     } catch (UnauthorizedAccessException e) {
         return(ObservedSaveHandleException(e, saveFile, fileName, message, policy));
     }
 }
Ejemplo n.º 44
0
		public static FileOperationResult ObservedLoad(NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy = FileErrorPolicy.Inform)
		{
			return ObservedLoad(new FileOperationDelegate(delegate { saveFileAs(fileName); }), fileName, message, policy);
		}
Ejemplo n.º 45
0
        static FileOperationResult ObservedSaveHandleError(Exception e, NamedFileOperationDelegate saveFileAs, string fileName, string message, FileErrorPolicy policy)
        {
            switch (policy)
            {
            case FileErrorPolicy.Inform:
                ServiceManager.Instance.MessageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e);
                break;

            case FileErrorPolicy.ProvideAlternative:
                ChooseSaveErrorResult r = ServiceManager.Instance.MessageService.ChooseSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e, true);
                if (r.IsRetry)
                {
                    return(ObservedSave(saveFileAs, fileName, message, policy));
                }
                else if (r.IsIgnore)
                {
                    return(FileOperationResult.Failed);
                }
                else if (r.IsSaveAlternative)
                {
                    return(ObservedSave(saveFileAs, r.AlternativeFileName, message, policy));
                }
                break;
            }
            return(FileOperationResult.Failed);
        }
 public FileOperationResult ObservedLoad(FileOperationDelegate saveFile, string fileName, FileErrorPolicy policy)
 {
     return ObservedLoad(saveFile,
                         fileName,
                         GettextCatalog.GetString ("Unable to load file."),
                         policy);
 }
Ejemplo n.º 47
0
        private static FileOperationResult ObservedSaveHandleError(Exception e, NamedFileOperationDelegate saveFileAs, FileName fileName, string message, FileErrorPolicy policy)
        {
            message = message + Environment.NewLine + Environment.NewLine + e.Message;
            var messageService = Altaxo.Current.GetRequiredService <IMessageService>();

            switch (policy)
            {
            case FileErrorPolicy.Inform:
                messageService.InformSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e);
                break;

            case FileErrorPolicy.ProvideAlternative:
                ChooseSaveErrorResult r = messageService.ChooseSaveError(fileName, message, "${res:FileUtilityService.ErrorWhileSaving}", e, true);
                if (r.IsRetry)
                {
                    return(ObservedSave(saveFileAs, fileName, message, policy));
                }
                else if (r.IsIgnore)
                {
                    return(FileOperationResult.Failed);
                }
                else if (r.IsSaveAlternative)
                {
                    return(ObservedSave(saveFileAs, r.AlternativeFileName, message, policy));
                }
                break;
            }
            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;
        }
Ejemplo n.º 49
0
 public static FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, FileName fileName, FileErrorPolicy policy = FileErrorPolicy.Inform)
 {
     return(ObservedSave(saveFileAs,
                         fileName,
                         Current.ResourceService.GetString("ICSharpCode.Services.FileUtilityService.CantSaveFileStandardText"),
                         policy));
 }
 public FileOperationResult ObservedSave(NamedFileOperationDelegate saveFileAs, string fileName, FileErrorPolicy policy)
 {
     return ObservedSave(saveFileAs,
                         fileName,
                         GettextCatalog.GetString ("Unable to save file."),
                         policy);
 }
Ejemplo n.º 51
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;
        }