Form1.cs 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. using System;
  2. using System.IO;
  3. using System.Windows.Forms;
  4. namespace Archives_Center
  5. {
  6. public partial class Form1 : Form
  7. {
  8. string Password = "fbHQb7L9ODdO9pyPB4cDaMtiW7AgYKJLmQb7FewTiJZhyQwzCJucVf4scvQt7R6b";
  9. string DataPath = Path.GetTempPath() + @"ArchivesCenter\Data\" + Properties.Settings.Default.current_user;
  10. public Form1()
  11. {
  12. Properties.Settings.Default.selectedYText = "";
  13. Properties.Settings.Default.selectedMText = "";
  14. Properties.Settings.Default.selectedDText = "";
  15. Properties.Settings.Default.Save();
  16. InitializeComponent();
  17. Directory.CreateDirectory(DataPath);
  18. toolStripStatusLabel1.Text = "用户名:" + Properties.Settings.Default.current_user;
  19. if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted"))
  20. {
  21. SevenZipHelper.ExtractEncryptedArchive(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Path.GetTempPath() + @"ArchivesCenter\Data\", Password);
  22. Directory.CreateDirectory(Path.GetTempPath() + @"ArchivesCenter\Data\" + Properties.Settings.Default.current_user);
  23. }
  24. listBox1.Items.Clear();
  25. listBox2.Items.Clear();
  26. listView1.Items.Clear();
  27. string[] Yfolders = Directory.GetDirectories(DataPath);
  28. foreach (string folder in Yfolders)
  29. {
  30. listBox1.Items.Add(Path.GetFileName(folder));
  31. }
  32. if(!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\"))
  33. Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
  34. }
  35. private void InitializeListView()
  36. {
  37. listView1.Columns.Clear();
  38. listView1.View = View.Details;
  39. listView1.Columns.Add("日期", 150);
  40. listView1.Columns.Add("标题", 250);
  41. string[] subDirectories = Directory.GetDirectories(DataPath + @"\" + Properties.Settings.Default.selectedYText + @"\" + Properties.Settings.Default.selectedMText);
  42. foreach (string dirPath in subDirectories)
  43. {
  44. DirectoryInfo dirInfo = new DirectoryInfo(dirPath);
  45. FileInfo[] textFiles = dirInfo.GetFiles("text.txt");
  46. if (textFiles.Length > 0)
  47. {
  48. string firstLine = File.ReadAllLines(textFiles[0].FullName)[0];
  49. ListViewItem item = new ListViewItem(dirInfo.Name);
  50. item.SubItems.Add(firstLine);
  51. listView1.Items.Add(item);
  52. }
  53. }
  54. }
  55. private void 关于AToolStripMenuItem_Click(object sender, EventArgs e)
  56. {
  57. AboutBox1 aboutBox1 = new AboutBox1();
  58. aboutBox1.ShowDialog();
  59. }
  60. private void button1_Click(object sender, EventArgs e)
  61. {
  62. listBox1.Items.Clear();
  63. listBox2.Items.Clear();
  64. listView1.Items.Clear();
  65. string[] Yfolders = Directory.GetDirectories(DataPath);
  66. foreach (string folder in Yfolders)
  67. {
  68. listBox1.Items.Add(Path.GetFileName(folder));
  69. }
  70. }
  71. private void listBox1_MouseClick(object sender, MouseEventArgs e)
  72. {
  73. listBox2.Items.Clear();
  74. listView1.Items.Clear();
  75. string selectedYText = listBox1.GetItemText(listBox1.SelectedItem);
  76. Properties.Settings.Default.selectedYText = selectedYText;
  77. Properties.Settings.Default.Save();
  78. if (Properties.Settings.Default.selectedYText != "")
  79. {
  80. string[] Mfolders = Directory.GetDirectories(DataPath + @"\" + Properties.Settings.Default.selectedYText);
  81. foreach (string folder in Mfolders)
  82. {
  83. listBox2.Items.Add(Path.GetFileName(folder));
  84. }
  85. }
  86. }
  87. private void listBox2_Click(object sender, EventArgs e)
  88. {
  89. listView1.Items.Clear();
  90. string selectedMText = listBox2.GetItemText(listBox2.SelectedItem);
  91. Properties.Settings.Default.selectedMText = selectedMText;
  92. Properties.Settings.Default.Save();
  93. if (Properties.Settings.Default.selectedMText != "")
  94. {
  95. string[] Dfolders = Directory.GetDirectories(DataPath + @"\" + Properties.Settings.Default.selectedYText + @"\" + Properties.Settings.Default.selectedMText);
  96. InitializeListView();
  97. }
  98. }
  99. private void 打开OToolStripMenuItem_Click(object sender, EventArgs e)
  100. {
  101. OpenFileDialog openFileDialog = new OpenFileDialog();
  102. openFileDialog.Title = "选择导入的数据库";
  103. openFileDialog.Filter = "Archives Center 用户数据文件 (*.encrypted)|*.encrypted|所有文件 (*.*)|*.*";
  104. if (openFileDialog.ShowDialog() == DialogResult.OK)
  105. {
  106. SevenZipHelper.ExtractEncryptedArchive(openFileDialog.FileName, Path.GetTempPath() + @"ArchivesCenter\Data\", Password);
  107. }
  108. }
  109. private void 另存为AToolStripMenuItem_Click(object sender, EventArgs e)
  110. {
  111. SaveFileDialog saveFileDialog1 = new SaveFileDialog();
  112. saveFileDialog1.Title = "选择数据库的导出位置";
  113. saveFileDialog1.DefaultExt = "encrypted";
  114. saveFileDialog1.Filter = "Archives Center 用户数据文件 (*.encrypted)|*.encrypted|所有文件 (*.*)|*.*";
  115. if (saveFileDialog1.ShowDialog() == DialogResult.OK)
  116. {
  117. SevenZipHelper.CreateEncryptedZip(Path.GetTempPath() + @"ArchivesCenter\Data\", saveFileDialog1.FileName, Password);
  118. }
  119. }
  120. private void 新建日志NToolStripMenuItem_Click(object sender, EventArgs e)
  121. {
  122. CreateLog createLog = new CreateLog();
  123. createLog.Show();
  124. }
  125. private void Form1_FormClosed(object sender, FormClosedEventArgs e)
  126. {
  127. SevenZipHelper.CreateEncryptedZip(Path.GetTempPath() + @"ArchivesCenter\Data\", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Password);
  128. string folderToDelete = Path.GetTempPath() + @"ArchivesCenter";
  129. DeleteFolderWithAdminRights.DeleteFolder(folderToDelete);
  130. string T = DateTime.Now.ToString("yyyy'.'MM'.'dd'T'HH'.'mm'.'ss'.'fffffffzz");
  131. Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T);
  132. if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted"))
  133. File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T + @"\Users.encrypted");
  134. if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted"))
  135. File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T + @"\Data.encrypted");
  136. Environment.Exit(0);
  137. }
  138. private void listView1_DoubleClick(object sender, EventArgs e)
  139. {
  140. Properties.Settings.Default.selectedDText = listView1.SelectedItems[0].Text;
  141. Properties.Settings.Default.Save();
  142. LogDetail logDetail = new LogDetail();
  143. logDetail.Show();
  144. }
  145. private void 管理备份ToolStripMenuItem_Click(object sender, EventArgs e)
  146. {
  147. backups backups = new backups();
  148. backups.ShowDialog();
  149. }
  150. private void timer1_Tick(object sender, EventArgs e)
  151. {
  152. toolStripStatusLabel4.Text = DateTime.Now.ToString("o");
  153. }
  154. }
  155. }