OSDN Git Service

version 1.1.7.0
[kybernetes/Kybernetes.git] / main / command / SYSTEM / DmpCommand.cs
1 using System;\r
2 using System.IO;\r
3 using com.andoutomo.kybernetes.control;\r
4 using com.andoutomo.kybernetes.data.connection;\r
5 \r
6 namespace com.andoutomo.kybernetes.command.system\r
7 {\r
8     class DmpCommand:AbCommand\r
9     {\r
10         protected override bool execute()\r
11         {\r
12             string maindb = System.AppDomain.CurrentDomain.BaseDirectory + TaskDBConnection.Connection.targetDbFile();\r
13             string filePath = form.invokeDmpDialog();\r
14             try\r
15             {\r
16                 File.Copy(maindb, filePath, true);\r
17                 return true;\r
18             }\r
19             catch (FileNotFoundException fnfe)\r
20             {\r
21                 message = "対象ファイルがありません。";\r
22                 throw new KybernetesApplicationException(fnfe);\r
23             }\r
24             catch (DirectoryNotFoundException dnfe)\r
25             {\r
26                 message = "保存対象ディレクトリがありません。ディレクトリ作成後に出力してください。";\r
27                 KybernetesLogger.Log.debug(dnfe.StackTrace);\r
28             }\r
29             catch (UnauthorizedAccessException uaae)\r
30             {\r
31                 message = "書き込みに失敗しました。保存先の権限、現在使用中でないかどうか等を確認して下さい。";\r
32                 KybernetesLogger.Log.debug(uaae.StackTrace);\r
33             }\r
34             return false;\r
35         }\r
36         string message;\r
37         protected override string turnMessage()\r
38         {\r
39             return "DBのエクスポートに成功しました。";\r
40         }\r
41 \r
42         protected override string turnErrorMessage()\r
43         {\r
44             return message;\r
45         }\r
46 \r
47         protected override string turnSplitErrorMessage()\r
48         {\r
49             return base.DefaultSplitErrorMessage;\r
50         }\r
51     }\r
52 }\r