363 lines
15 KiB
C#
363 lines
15 KiB
C#
using System;
|
|
using System.Linq;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
using SmartX;
|
|
using INT63DC_ImageDll;
|
|
using INT63DC_2C.DialogForms;
|
|
|
|
namespace INT63DC_2C.Forms
|
|
{
|
|
public partial class FormDataBackup : Form
|
|
{
|
|
#region Field
|
|
private FormMain m_ParentForm;
|
|
|
|
private DatabackupFileInfo2 SelectedFiles;
|
|
#endregion
|
|
|
|
#region Constructor
|
|
public FormDataBackup(FormMain parent)
|
|
{
|
|
InitializeComponent();
|
|
|
|
this.ParentForm = parent;
|
|
}
|
|
#endregion
|
|
|
|
#region Property
|
|
public FormMain ParentForm
|
|
{
|
|
get { return this.m_ParentForm; }
|
|
private set { this.m_ParentForm = value; }
|
|
}
|
|
#endregion
|
|
|
|
#region Method
|
|
private void InitializeDesign()
|
|
{
|
|
ImageDll images = new ImageDll();
|
|
|
|
switch (this.ParentForm.SystemConfig.Language)
|
|
{
|
|
case DataStore.E_LanguageID.Korean:
|
|
break;
|
|
case DataStore.E_LanguageID.English:
|
|
#region English
|
|
this.labelTitle.Text = "Data backup";
|
|
|
|
this.labelTitleBackupEnable.Text = "Enable backup";
|
|
this.labelTitleDeleteAfterBackup.Text = "Delete after backup";
|
|
this.labelTitleSavedFiles.Text = "Saved files";
|
|
this.labelTitleFilesToBackup.Text = "Files to Back Up";
|
|
|
|
this.buttonBackup.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackupDisable));
|
|
this.buttonBackup.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackupDown));
|
|
this.buttonBackup.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackupUp));
|
|
|
|
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDisable));
|
|
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDown));
|
|
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackUp));
|
|
#endregion
|
|
break;
|
|
case DataStore.E_LanguageID.Chinese:
|
|
#region Chinese
|
|
this.labelTitle.Text = "数据备份";
|
|
|
|
this.labelTitleBackupEnable.Text = "启用备份";
|
|
this.labelTitleDeleteAfterBackup.Text = "备份后删除";
|
|
this.labelTitleSavedFiles.Text = "已保存文件";
|
|
this.labelTitleFilesToBackup.Text = "待备份文件";
|
|
|
|
this.buttonBackup.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackupDisable));
|
|
this.buttonBackup.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackupDown));
|
|
this.buttonBackup.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackupUp));
|
|
|
|
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDisable));
|
|
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDown));
|
|
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackUp));
|
|
#endregion
|
|
break;
|
|
case DataStore.E_LanguageID.Czech:
|
|
#region Czech
|
|
this.labelTitle.Text = "Záloha dat";
|
|
|
|
this.labelTitleBackupEnable.Text = "Povolit zálohování";
|
|
this.labelTitleDeleteAfterBackup.Text = "Odstranit po zálohování";
|
|
this.labelTitleSavedFiles.Text = "Soubor";
|
|
this.labelTitleFilesToBackup.Text = "Soubory k zálohování";
|
|
|
|
this.buttonBackup.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackupDisable));
|
|
this.buttonBackup.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackupDown));
|
|
this.buttonBackup.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackupUp));
|
|
|
|
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackDisable));
|
|
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackDown));
|
|
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackUp));
|
|
#endregion
|
|
break;
|
|
case DataStore.E_LanguageID.German:
|
|
#region German
|
|
this.labelTitle.Text = "Datensicherung";
|
|
|
|
this.labelTitleBackupEnable.Text = "Sicherung aktivieren";
|
|
this.labelTitleDeleteAfterBackup.Text = "Nach der Sicherung löschen";
|
|
this.labelTitleSavedFiles.Text = "Datei";
|
|
this.labelTitleFilesToBackup.Text = "Zu sichernde Dateien";
|
|
|
|
this.buttonBackup.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackupDisable));
|
|
this.buttonBackup.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackupDown));
|
|
this.buttonBackup.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackupUp));
|
|
|
|
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackDisable));
|
|
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackDown));
|
|
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackUp));
|
|
#endregion
|
|
break;
|
|
case DataStore.E_LanguageID.Japanese:
|
|
#region Japanese
|
|
this.labelTitle.Text = "デㅡタバックアップ";
|
|
|
|
this.labelTitleBackupEnable.Text = "バックアップを有効にする";
|
|
this.labelTitleDeleteAfterBackup.Text = "バックアップ後に削除";
|
|
this.labelTitleSavedFiles.Text = "ファイル";
|
|
this.labelTitleFilesToBackup.Text = "バックアップ待ち";
|
|
|
|
this.buttonBackup.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackupDisable));
|
|
this.buttonBackup.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackupDown));
|
|
this.buttonBackup.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackupUp));
|
|
|
|
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackDisable));
|
|
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackDown));
|
|
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.jpnBackUp));
|
|
#endregion
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
private void DefaultSetting()
|
|
{
|
|
this.SelectedFiles = new DatabackupFileInfo2();
|
|
}
|
|
private void UpdateFileList()
|
|
{
|
|
this.listBoxDataList.ClearAll();
|
|
this.listBoxDataListCHK.ClearAll();
|
|
this.listBoxBackupList.ClearAll();
|
|
this.SelectedFiles.Clear();
|
|
|
|
DirectoryInfo dir = new DirectoryInfo(this.ParentForm.PathDataBackupFolder);
|
|
bool directoryCheck = dir.Exists;
|
|
|
|
// 폴더 체크
|
|
if (directoryCheck == false)
|
|
dir.Create();
|
|
|
|
FileInfo[] files = dir.GetFiles();
|
|
|
|
// ListBox
|
|
if (files.Length != 0)
|
|
{
|
|
foreach (FileInfo file in files)
|
|
{
|
|
this.listBoxDataList.AddItem(file.Name);
|
|
this.listBoxDataListCHK.AddItem("");
|
|
}
|
|
}
|
|
|
|
this.labelFileCount.Text = files.Length.ToString();
|
|
this.labelBackupFileCount.Text = this.listBoxBackupList.ItemCount.ToString();
|
|
}
|
|
|
|
public void DisplayRefresh()
|
|
{
|
|
this.ParentForm.SystemConfig.CurrentForm = DataStore.FormStore.FormDataBackup;
|
|
|
|
// DataBackup Enable
|
|
if (this.ParentForm.SystemConfig.IsDataBackup == true)
|
|
this.buttonDataBackupEnable.ButtonDown();
|
|
else
|
|
this.buttonDataBackupEnable.ButtonUp();
|
|
// Delete After Backup
|
|
if (this.ParentForm.SystemConfig.IsDeleteAfterBackup == true)
|
|
this.buttonDeleteAfterBackup.ButtonDown();
|
|
else
|
|
this.buttonDeleteAfterBackup.ButtonUp();
|
|
// Update File List
|
|
this.UpdateFileList();
|
|
}
|
|
#endregion
|
|
|
|
#region Override Member
|
|
protected override void OnLoad(EventArgs e)
|
|
{
|
|
base.OnLoad(e);
|
|
|
|
this.InitializeDesign();
|
|
this.DefaultSetting();
|
|
}
|
|
#endregion
|
|
|
|
#region Event Handler
|
|
private void buttonBackup_Click(object sender, EventArgs e)
|
|
{
|
|
int count = 0;
|
|
SmartSplash splash;
|
|
string srcFilePath = "", dstFilePath1 = "", dstFilePath2 = ""; ;
|
|
|
|
splash = new SmartSplash();
|
|
splash.CenterPosition = true;
|
|
splash.AnimationInterval = 100;
|
|
splash.LoadingImagePathname = "SmartLoading4";
|
|
|
|
count = this.listBoxBackupList.ItemCount;
|
|
|
|
if (count == 0)
|
|
{
|
|
DialogFormMessage msg = new DialogFormMessage(4, this.ParentForm.SystemConfig.Language);
|
|
msg.ShowDialog();
|
|
return;
|
|
}
|
|
|
|
splash.Start();
|
|
|
|
try
|
|
{
|
|
DirectoryInfo dinfo = new DirectoryInfo("하드 디스크\\");
|
|
dinfo.GetDirectories();
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage msg = new DialogFormMessage(5, this.ParentForm.SystemConfig.Language);
|
|
splash.Finish();
|
|
msg.ShowDialog();
|
|
return;
|
|
}
|
|
|
|
try
|
|
{
|
|
dstFilePath1 = string.Format("하드 디스크\\{0}\\{1:yyyMMdd_HHmmss}\\", this.ParentForm.SystemConfig.SerialNumber, DateTime.Now);
|
|
DirectoryInfo dir = new DirectoryInfo(dstFilePath1);
|
|
if (dir.Exists == false)
|
|
dir.Create();
|
|
|
|
for (int i = 0; i < count; i++)
|
|
{
|
|
srcFilePath = string.Format("{0}{1}", this.ParentForm.PathDataBackupFolder, this.SelectedFiles.Files[i].Name);
|
|
dstFilePath2 = string.Format("{0}{1}", dstFilePath1, this.SelectedFiles.Files[i].Name);
|
|
File.Copy(srcFilePath, dstFilePath2, true);
|
|
|
|
if (this.ParentForm.SystemConfig.IsDeleteAfterBackup == true)
|
|
File.Delete(srcFilePath);
|
|
}
|
|
|
|
this.UpdateFileList();
|
|
this.SelectedFiles.Clear();
|
|
this.listBoxBackupList.ClearAll();
|
|
this.labelFileCount.Text = this.listBoxDataList.ItemCount.ToString();
|
|
this.labelBackupFileCount.Text = this.listBoxBackupList.ItemCount.ToString();
|
|
|
|
DialogFormMessage msg = new DialogFormMessage(count.ToString(), this.ParentForm.SystemConfig.Language, "Data backup");
|
|
splash.Finish();
|
|
msg.ShowDialog();
|
|
}
|
|
catch
|
|
{
|
|
DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.SystemConfig.Language);
|
|
splash.Finish();
|
|
msg.ShowDialog();
|
|
return;
|
|
}
|
|
}
|
|
private void buttonBack_Click(object sender, EventArgs e)
|
|
{
|
|
this.ParentForm.ChildFormMenu.DisplayRefresh();
|
|
((FormMain)(Owner)).smartForm.Show((int)DataStore.FormStore.FormMenu);
|
|
}
|
|
private void buttonFileAdd_Click(object sender, EventArgs e)
|
|
{
|
|
if (this.listBoxDataListCHK.Items[this.listBoxDataListCHK.SelectItemIndex].ToString() != "V")
|
|
{
|
|
if (this.listBoxBackupList.ItemCount < 10)
|
|
{
|
|
int index = this.listBoxDataList.SelectItemIndex;
|
|
string name = this.listBoxDataList.Items[index].ToString();
|
|
|
|
this.SelectedFiles.Add(index, name);
|
|
this.listBoxBackupList.AddItem(name);
|
|
|
|
this.listBoxDataListCHK.Items[index] = "V";
|
|
this.listBoxDataListCHK.Refresh();
|
|
}
|
|
else
|
|
{
|
|
DialogFormMessage msg = new DialogFormMessage(12, this.ParentForm.SystemConfig.Language);
|
|
msg.ShowDialog();
|
|
}
|
|
|
|
this.labelBackupFileCount.Text = this.listBoxBackupList.ItemCount.ToString();
|
|
}
|
|
}
|
|
private void buttonFileRemove_Click(object sender, EventArgs e)
|
|
{
|
|
if (this.listBoxBackupList.SelectItemIndex != -1)
|
|
{
|
|
string name = this.listBoxBackupList.Items[this.listBoxBackupList.SelectItemIndex].ToString();
|
|
int fileIndex = this.SelectedFiles.GetIndex(name);
|
|
int listboxIndex = this.listBoxBackupList.SelectItemIndex;
|
|
|
|
this.listBoxDataListCHK.Items[fileIndex] = "";
|
|
this.listBoxDataListCHK.Refresh();
|
|
this.listBoxBackupList.RemoveItem(listboxIndex);
|
|
this.SelectedFiles.RemoveAt(name);
|
|
this.labelBackupFileCount.Text = this.listBoxBackupList.ItemCount.ToString();
|
|
}
|
|
}
|
|
private void buttonScrollUp_Click(object sender, EventArgs e)
|
|
{
|
|
this.listBoxDataList.ScrollUp(100);
|
|
this.listBoxDataListCHK.ScrollUp(100);
|
|
}
|
|
private void buttonScrollDown_Click(object sender, EventArgs e)
|
|
{
|
|
this.listBoxDataList.ScrollDown(100);
|
|
this.listBoxDataListCHK.ScrollDown(100);
|
|
}
|
|
private void buttonDataBackupEnable_Click(object sender, EventArgs e)
|
|
{
|
|
if (this.buttonDataBackupEnable.ButtonStatus == SmartButton.BUTSTATUS.DOWN)
|
|
this.ParentForm.SystemConfig.IsDataBackup = true;
|
|
else
|
|
this.ParentForm.SystemConfig.IsDataBackup = false;
|
|
|
|
this.ParentForm.SaveSystemConfigurationFile1(this.ParentForm.SystemConfig);
|
|
}
|
|
|
|
private void buttonDeleteAfterBackup_Click(object sender, EventArgs e)
|
|
{
|
|
if (this.buttonDeleteAfterBackup.ButtonStatus == SmartButton.BUTSTATUS.DOWN)
|
|
this.ParentForm.SystemConfig.IsDeleteAfterBackup = true;
|
|
else
|
|
this.ParentForm.SystemConfig.IsDeleteAfterBackup = false;
|
|
|
|
this.ParentForm.SaveSystemConfigurationFile1(this.ParentForm.SystemConfig);
|
|
}
|
|
|
|
private void listBoxDataList_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
this.listBoxDataListCHK.SelectItemIndex = this.listBoxDataList.SelectItemIndex;
|
|
}
|
|
private void listBoxDataListCHK_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
this.listBoxDataList.SelectItemIndex = this.listBoxDataListCHK.SelectItemIndex;
|
|
}
|
|
#endregion
|
|
}
|
|
} |