-
Notifications
You must be signed in to change notification settings - Fork 0
/
FormCreateDB.cs
146 lines (139 loc) · 6.72 KB
/
FormCreateDB.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Text.RegularExpressions;
using Microsoft.Win32;
using KLADR_viewer_v4.management;
using KLADR_viewer_v4.my_classes;
namespace KLADR_viewer_v4
{
public partial class FormCreateDB : Form
{
public FormCreateDB()
{
InitializeComponent();
}
public bool checkOriginalFolderGNIVC(string folderPatch)
{
if (textBoxNameFolderDB.Text.Trim() == "")
{
textBoxNameFolderDB.Text = "Base " + DateTime.Now.ToString().Replace(":", "-");
}
if (!File.Exists(folderPatch + "\\ALTNAMES.DBF") ||
!File.Exists(folderPatch + "\\DOMA.DBF") ||
!File.Exists(folderPatch + "\\FLAT.DBF") ||
!File.Exists(folderPatch + "\\KLADR.DBF") ||
!File.Exists(folderPatch + "\\SOCRBASE.DBF") ||
!File.Exists(folderPatch + "\\STREET.DBF"))
{
return false;
}
else
{
return true;
}
}
private void buttonSelectFolder_Click(object sender, EventArgs e)
{
if (progressBarLoader.Style == ProgressBarStyle.Continuous)
return;
RegistryKey regKey = Registry.CurrentUser;
regKey = regKey.CreateSubKey("Software\\KLADR RU.USA");
string latest_select_folder = regKey.GetValue("latest_select_folder", "").ToString();
if (!checkOriginalFolderGNIVC(latest_select_folder))
{
latest_select_folder = "";
}
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (latest_select_folder != "")
{
fbd.SelectedPath = latest_select_folder;
}
fbd.Description = "Specify the folder with the files KLADR that you downloaded from the site GNIVTS (in the selected folder, the files should be: ALTNAMES.DBF, DOMA.DBF, FLAT.DBF, KLADR.DBF, SOCRBASE.DBF, STREET.DBF).";
fbd.ShowNewFolderButton = false;
if (fbd.ShowDialog() != System.Windows.Forms.DialogResult.OK)
{
buttonStartTransfer.Enabled = false;
return;
}
string fbdSelectedFolder = fbd.SelectedPath + "\\";
if (!checkOriginalFolderGNIVC(fbdSelectedFolder))
{
buttonStartTransfer.Enabled = false;
MessageBox.Show(this, "The current folder can not be selected (in the selected folder, the files should be: ALTNAMES.DBF, DOMA.DBF, FLAT.DBF, KLADR.DBF, SOCRBASE.DBF, STREET.DBF).", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
return;
}
textBoxSelectFolder.Text = fbdSelectedFolder;
buttonStartTransfer.Enabled = true;
regKey = Registry.CurrentUser;
regKey = regKey.CreateSubKey("Software\\KLADR RU.USA");
regKey.SetValue("latest_select_folder", fbdSelectedFolder);
}
private void textBoxSelectFolder_Click(object sender, EventArgs e)
{
string fbdSelectedPath = textBoxSelectFolder.Text.Trim();
fbdSelectedPath = Regex.IsMatch(fbdSelectedPath, "\\$") ? fbdSelectedPath : fbdSelectedPath + "\\";
if (!checkOriginalFolderGNIVC(fbdSelectedPath))
{
buttonSelectFolder_Click(sender, e);
}
}
private void buttonOK_Click(object sender, EventArgs e)
{
buttonSelectFolder.Enabled = false;
textBoxNameFolderDB.ReadOnly = true;
progressBarLoader.Style = ProgressBarStyle.Marquee;
buttonClose.Enabled = false;
buttonStartTransfer.Enabled = false;
databases DBFLoader = new databases();
DBFLoader.LoadDbfToSqliteStart(textBoxSelectFolder.Text.Trim(), textBoxNameFolderDB.Text.Trim(), this);
}
private void FormCreateDB_Load(object sender, EventArgs e)
{
buttonStartTransfer.MouseHover += new EventHandler(delegate(object sender_, EventArgs e_) { buttonStartTransfer.Enabled = checkOriginalFolderGNIVC(textBoxSelectFolder.Text); });
textBoxNameFolderDB.TextChanged += new EventHandler(delegate(object sender_, EventArgs e_)
{
int position = textBoxNameFolderDB.SelectionStart;
try
{
if (textBoxNameFolderDB.Text.Trim() != "" && Directory.CreateDirectory(Path.GetTempPath() + textBoxNameFolderDB.Text.Trim()).ToString() == "")
{
textBoxNameFolderDB.Text = (textBoxNameFolderDB.Tag == null || textBoxNameFolderDB.Tag.ToString() == "") ? "" : textBoxNameFolderDB.Tag.ToString();
}
else
{
textBoxNameFolderDB.Tag = textBoxNameFolderDB.Text.Trim();
}
}
catch
{
textBoxNameFolderDB.Text = (textBoxNameFolderDB.Tag == null || textBoxNameFolderDB.Tag.ToString() == "") ? "" : textBoxNameFolderDB.Tag.ToString();
}
textBoxNameFolderDB.SelectionStart = position;
buttonStartTransfer.Enabled = checkOriginalFolderGNIVC(textBoxSelectFolder.Text);
});
updateLang(null, null);
global.RaiseCustomEvent += new EventHandler(updateLang);
}
private void updateLang(object sender, EventArgs e)
{
this.Text = language.formCreateDB._window_text;
labelNameDataBase.Text = language.formCreateDB._label_name_data_base_text;
toolTipCreateNewDataBase.SetToolTip(labelNameDataBase, language.formCreateDB._label_name_data_base_tool_tip);
toolTipCreateNewDataBase.SetToolTip(textBoxNameFolderDB, language.formCreateDB._label_name_data_base_tool_tip);
labelFolderGNIVC.Text = language.formCreateDB._folder_GNIVC_text;
toolTipCreateNewDataBase.SetToolTip(labelFolderGNIVC, language.formCreateDB._folder_GNIVC_tool_tip);
toolTipCreateNewDataBase.SetToolTip(textBoxSelectFolder, language.formCreateDB._folder_GNIVC_tool_tip);
toolTipCreateNewDataBase.SetToolTip(textBoxLog, language.formCreateDB._text_box_log_tool_tip);
buttonStartTransfer.Text = language.formCreateDB._button_start_transfer;
buttonClose.Text = language.formCreateDB._button_close;
toolTipCreateNewDataBase.SetToolTip(progressBarLoader, language.formCreateDB._text_box_log_tool_tip);
}
}
}