ITC81DB_V8/ITC81DB/Controls/CenterBasic/ControlCenterBasicDataBacku...

386 lines
14 KiB
C#
Raw Normal View History

2023-07-11 01:56:01 +00:00
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.IO;
using System.Text;
using System.Windows.Forms;
using SmartX;
using ITC81DB.Forms;
using ITC81DB.DialogForms;
using ITC81DB_ImageDll;
namespace ITC81DB.Controls
{
public partial class ControlCenterBasicDataBackup : UserControl
{
#region Field
private FormMenu m_ParentForm;
private int FileIndex;
#endregion
#region Constructor
public ControlCenterBasicDataBackup(FormMenu parent)
{
InitializeComponent();
this.ParentForm = parent;
this.InitializeDesign();
this.DefaultSetting();
}
#endregion
#region Property
public FormMenu ParentForm
{
get { return this.m_ParentForm; }
private set { this.m_ParentForm = value; }
}
#endregion
#region Method
public void InitializeDesign()
{
Class1 images = new Class1();
if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.English)
{
this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.engBackgroundDataBackup));
this.buttonDataBackupEnable.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.engON_Black));
this.buttonDataBackupEnable.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.engOFF_Black));
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Chinese)
{
this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.chnBackgroundDataBackup));
this.buttonDataBackupEnable.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.chnON_Black));
this.buttonDataBackupEnable.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.chnOFF_Black));
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Czech)
{
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Russian)
{
this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.rusBackgroundDataBackup));
this.buttonDataBackupEnable.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.rusON_Black));
this.buttonDataBackupEnable.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.rusOFF_Black));
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.German)
{
this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.gerBackgroundDataBackup));
this.buttonDataBackupEnable.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.gerON_Black));
this.buttonDataBackupEnable.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.gerOFF_Black));
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Spanish)
{
this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.engBackgroundDataBackup));
this.buttonDataBackupEnable.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.engON_Black));
this.buttonDataBackupEnable.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.engOFF_Black));
}
else
{
this.smartGroupBox1.Image = new Bitmap(images.GetImage(Class1.ButtonImages.korBackgroundDataBackup));
this.buttonDataBackupEnable.DownImage = new Bitmap(images.GetImage(Class1.ButtonImages.engON_Black));
this.buttonDataBackupEnable.UpImage = new Bitmap(images.GetImage(Class1.ButtonImages.engOFF_Black));
}
}
private void DefaultSetting()
{
this.FileIndex = 0;
}
public void DisplayHiddenMenu(bool bValue)
{
this.buttonClear.Visible = true;
}
private void FileCopy(FileInfo file, string fileName)
{
try
{
if (this.FileIndex == 0)
{
file.CopyTo(fileName);
this.FileIndex = 0;
}
else
{
file.CopyTo(fileName.Insert(fileName.Length - 4, "_" + this.FileIndex.ToString()));
this.FileIndex = 0;
}
}
catch
{
this.FileIndex++;
this.FileCopy(file, fileName);
}
}
public void DisplayRefresh(SystemStatus status)
{
bool directoryCheck = false;
this.ParentForm.ParentForm.CurrentSystemStatus.CurrentDisplay = DataStore.DisplayStore.BasicDataBackup;
this.ParentForm.DisplayTitleRoot(this.ParentForm.ParentForm.CurrentSystemStatus);
this.ParentForm.ParentForm.SetDisplayMode(DataStore.DisplayMode.Menu);
DirectoryInfo dir = new DirectoryInfo(this.ParentForm.ParentForm.PathDataBackupFolder);
directoryCheck = dir.Exists;
// 폴더 체크
if (directoryCheck == false)
dir.Create();
FileInfo[] files = dir.GetFiles();
this.listBoxDataList.Items.Clear();
foreach (FileInfo file in files)
{
if (file.Name.Contains("Data") == true || file.Name.Contains("Stat") == true || file.Name.Contains(".jpg") == true)
this.listBoxDataList.Items.Add(file.Name);
}
if (this.ParentForm.ParentForm.SystemConfig1.IsDataBackup == true)
this.buttonDataBackupEnable.ButtonDown();
else
this.buttonDataBackupEnable.ButtonUp();
this.labelFileCount.Text = this.listBoxDataList.Items.Count.ToString();
this.buttonClear.Visible = false;
}
#endregion
#region Event Handler
private void buttonDataBackupEnable_Click(object sender, EventArgs e)
{
if (this.ParentForm.ParentForm.SystemConfig1.IsDataBackup == true)
{
this.ParentForm.ParentForm.SystemConfig1.IsDataBackup = false;
this.buttonDataBackupEnable.ButtonUp();
}
else
{
this.ParentForm.ParentForm.SystemConfig1.IsDataBackup = true;
this.buttonDataBackupEnable.ButtonDown();
}
this.ParentForm.ParentForm.SaveSystemConfigurationFile1(this.ParentForm.ParentForm.SystemConfig1);
}
private void buttonBackup_Click(object sender, EventArgs e)
{
int count = 0;
bool directoryCheck = false;
string filePath = "";
DirectoryInfo dir = new DirectoryInfo(this.ParentForm.ParentForm.PathDataBackupFolder);
directoryCheck = dir.Exists;
// 폴더 체크
if (directoryCheck == false)
dir.Create();
FileInfo[] checkLogFiles = dir.GetFiles();
count = this.listBoxDataList.Items.Count;
if (count == 0 && checkLogFiles.Length == 0)
{
DialogFormMessage msg = new DialogFormMessage(4, this.ParentForm.ParentForm.SystemConfig1.Language);
msg.ShowDialog();
return;
}
SmartSplash splash = new SmartSplash();
splash.CenterPosition = true;
splash.AnimationInterval = 200;
splash.LoadingImagePathname = "SmartLoading4";
splash.Start();
try
{
DirectoryInfo dinfo = new DirectoryInfo("하드 디스크\\");
dinfo.GetDirectories();
}
catch
{
splash.Finish();
DialogFormMessage msg = new DialogFormMessage(5, this.ParentForm.ParentForm.SystemConfig1.Language);
msg.ShowDialog();
return;
}
if (this.listBoxDataList.SelectedIndex == -1)
{
#region ListBox 선택되지 않았을 때
try
{
filePath = "하드 디스크\\";
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
if (file.Name.Contains("Data") == true || file.Name.Contains("Stat") == true || file.Name.Contains(".jpg") == true)
{
this.FileCopy(file, filePath + file.Name);
this.listBoxDataList.Items.Remove(file.Name);
file.Delete();
}
}
this.labelFileCount.Text = this.listBoxDataList.Items.Count.ToString();
splash.Finish();
DialogFormMessage msg = new DialogFormMessage(count.ToString(), this.ParentForm.ParentForm.SystemConfig1.Language);
msg.ShowDialog();
}
catch
{
splash.Finish();
DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.ParentForm.SystemConfig1.Language);
msg.ShowDialog();
return;
}
#endregion
}
else
{
#region ListBox 선택되었을 때
try
{
if (this.listBoxDataList.SelectedIndex >= 0)
{
filePath = "하드 디스크\\";
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
if (file.Name.Contains(this.listBoxDataList.SelectedItem.ToString()) == true)
{
this.FileCopy(file, filePath + file.Name);
this.listBoxDataList.Items.Remove(file.Name);
file.Delete();
break;
}
}
this.labelFileCount.Text = this.listBoxDataList.Items.Count.ToString();
splash.Finish();
DialogFormMessage msg = new DialogFormMessage("1", this.ParentForm.ParentForm.SystemConfig1.Language);
msg.ShowDialog();
}
}
catch
{
splash.Finish();
DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.ParentForm.SystemConfig1.Language);
msg.ShowDialog();
return;
}
#endregion
}
}
private void buttonClear_Click(object sender, EventArgs e)
{
if (this.listBoxDataList.Items.Count == 0)
return;
bool directoryCheck = false;
string filePath = "";
DirectoryInfo dir = new DirectoryInfo(this.ParentForm.ParentForm.PathDataBackupFolder);
directoryCheck = dir.Exists;
// 폴더 체크
if (directoryCheck == false)
dir.Create();
FileInfo[] checkLogFiles = dir.GetFiles();
DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.ParentForm.SystemConfig1.Language, 28);
if (myDlg.ShowDialog() == DialogResult.Yes)
{
if (this.listBoxDataList.SelectedIndex == -1)
{
#region ListBox 선택되지 않았을 때
SmartSplash splash = new SmartSplash();
splash.CenterPosition = true;
splash.AnimationInterval = 200;
splash.LoadingImagePathname = "SmartLoading4";
splash.Start();
try
{
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
if (file.Name.Contains("Data") == true || file.Name.Contains("Stat") == true || file.Name.Contains(".jpg") == true)
{
this.listBoxDataList.Items.Remove(file.Name);
file.Delete();
}
}
this.labelFileCount.Text = this.listBoxDataList.Items.Count.ToString();
splash.Finish();
}
catch
{
splash.Finish();
DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.ParentForm.SystemConfig1.Language);
msg.ShowDialog();
return;
}
#endregion
}
else
{
#region ListBox 선택되었을 때
if (this.listBoxDataList.SelectedIndex >= 0)
{
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
if (file.Name.Contains(this.listBoxDataList.SelectedItem.ToString()) == true)
{
this.listBoxDataList.Items.Remove(file.Name);
file.Delete();
break;
}
}
//files = dir.GetFiles();
//this.listBoxDataList.Items.Clear();
//foreach (FileInfo file in files)
//{
// if (file.Name.StartsWith("Data") == true || file.Name.StartsWith("Stat") == true || file.Name.EndsWith(".jpg") == true)
// this.listBoxDataList.Items.Add(file.Name);
//}
this.labelFileCount.Text = this.listBoxDataList.Items.Count.ToString();
}
#endregion
}
}
}
#endregion
}
}