- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.cs
More file actions
Latest commit
105 lines (91 loc) · 3.29 KB
/
Copy pathMain.cs
File metadata and controls
105 lines (91 loc) · 3.29 KB
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
usingSQLBakVersion.Class;
usingSystem;
usingSystem.Drawing;
usingSystem.IO;
usingSystem.Windows.Forms;
namespaceSQLBakVersion
{
publicpartialclassMain:Form
{
privatereadonlySQLVersionsqlVersion=newSQLVersion();
privateboolisDragging=false;
privatePointlastLocation;
publicMain()
{
InitializeComponent();
pnlDragDrop.Location=newPoint(10,37);
}
privatevoidpnlTitleBar_MouseDown(objectsender,MouseEventArgse)
{
if(e.Button==MouseButtons.Left)
{
isDragging=true;
lastLocation=e.Location;
}
}
privatevoidpnlTitleBar_MouseMove(objectsender,MouseEventArgse)
{
if(isDragging)
{
this.Location=newPoint((this.Location.X-lastLocation.X)+e.X,(this.Location.Y-lastLocation.Y)+e.Y);
this.Update();
}
}
privatevoidpnlTitleBar_MouseUp(objectsender,MouseEventArgse)
{
isDragging=false;
}
privatevoidbtnClose_Click(objectsender,EventArgse)
{
this.Close();
}
privatevoidpnlDragDrop_Click(objectsender,EventArgse)
{
SelectDatabaseFile();
}
privatevoidMain_DragEnter(objectsender,DragEventArgse)
{
if(e.Data.GetDataPresent(DataFormats.FileDrop))
{
string[]files=(string[])e.Data.GetData(DataFormats.FileDrop);
if(files.Length>0&&IsSupportedFile(files[0]))
{
e.Effect=DragDropEffects.Copy;
return;
}
}
e.Effect=DragDropEffects.None;
}
privatevoidMain_DragDrop(objectsender,DragEventArgse)
{
string[]files=(string[])e.Data.GetData(DataFormats.FileDrop);
if(files.Length>0&&IsSupportedFile(files[0]))
{
ProcessDatabaseFile(files[0]);
}
}
privatevoidSelectDatabaseFile()
{
OpenFileDialogopenFileDialog=newOpenFileDialog();
openFileDialog.Filter="SQL Server files (*.bak;*.mdf)|*.bak;*.mdf|SQL Server backup files (*.bak)|*.bak|SQL Server database files (*.mdf)|*.mdf";
if(openFileDialog.ShowDialog()==DialogResult.OK)
{
ProcessDatabaseFile(openFileDialog.FileName);
}
}
privatevoidProcessDatabaseFile(stringfilePath)
{
lblDragDrop.Text=Path.GetFileName(filePath);
stringversionInfo=File.Exists(filePath)?sqlVersion.GetVersion(filePath):"File not found";
lblVersion.Text=versionInfo;
lblVersion.ForeColor=versionInfo.StartsWith("SQL")?Color.LightGreen:Color.Red;
lblVersion.Visible=true;
}
privatestaticboolIsSupportedFile(stringfilePath)
{
stringextension=Path.GetExtension(filePath);
returnstring.Equals(extension,".bak",StringComparison.OrdinalIgnoreCase)
||string.Equals(extension,".mdf",StringComparison.OrdinalIgnoreCase);
}
}
}