hytos / DTI_PID / ID2PSN / Program.cs @ 2ada3be8
이력 | 보기 | 이력해설 | 다운로드 (3.61 KB)
1 | 7b5ddbe5 | humkyung | using Newtonsoft.Json; |
---|---|---|---|
2 | using System; |
||
3 | 0dae5645 | gaqhf | using System.Collections.Generic; |
4 | 31d37d58 | LJIYEON | using System.Data; |
5 | 6b9e7a56 | gaqhf | using System.IO; |
6 | 0dae5645 | gaqhf | using System.Linq; |
7 | 7b5ddbe5 | humkyung | using System.Net.Sockets; |
8 | using System.Text; |
||
9 | 0dae5645 | gaqhf | using System.Threading.Tasks; |
10 | using System.Windows.Forms; |
||
11 | |||
12 | namespace ID2PSN |
||
13 | { |
||
14 | static class Program |
||
15 | { |
||
16 | /// <summary> |
||
17 | /// 해당 애플리케이션의 주 진입점입니다. |
||
18 | /// </summary> |
||
19 | [STAThread] |
||
20 | 6b9e7a56 | gaqhf | static void Main(string[] args) |
21 | 0dae5645 | gaqhf | { |
22 | 14ab89ec | esham21 | if (!SingleInstance.Start("ecf2ed2e-1a3f-4926-a561-512857785805")) |
23 | eb41cac4 | esham21 | { |
24 | return; |
||
25 | } |
||
26 | |||
27 | 721b754d | gaqhf | ID2Info info = ID2Info.GetInstance(); |
28 | 31d37d58 | LJIYEON | DataTable projectTable = null; |
29 | abee404a | LJIYEON | try |
30 | 673075e0 | LJIYEON | { |
31 | 7b5ddbe5 | humkyung | using (TcpClient tcpClient = new TcpClient()) |
32 | abee404a | LJIYEON | { |
33 | 7b5ddbe5 | humkyung | tcpClient.SendTimeout = 500; |
34 | tcpClient.Connect("localhost", 2549); |
||
35 | |||
36 | var _params = new Dictionary<string, string>() |
||
37 | 757ab2f2 | LJIYEON | { |
38 | c4a35107 | humkyung | {"request", "prjinfo" }, |
39 | 7b5ddbe5 | humkyung | }; |
40 | var json = JsonConvert.SerializeObject(_params, Formatting.Indented); |
||
41 | byte[] message = Encoding.UTF8.GetBytes(json); |
||
42 | 757ab2f2 | LJIYEON | |
43 | 7b5ddbe5 | humkyung | using (NetworkStream networkStream = tcpClient.GetStream()) |
44 | 757ab2f2 | LJIYEON | { |
45 | 7b5ddbe5 | humkyung | networkStream.Write(message, 0, message.Length); |
46 | |||
47 | byte[] outbuf = new byte[1024]; |
||
48 | int nbytes = networkStream.Read(outbuf, 0, outbuf.Length); |
||
49 | string output = Encoding.UTF8.GetString(outbuf, 4, nbytes - 5); |
||
50 | var result = JsonConvert.DeserializeObject<Dictionary<string, string>>(output); |
||
51 | 2c46461b | LJIYEON | |
52 | |||
53 | ce86b7e6 | humkyung | if (result["db_type"] == "SQLite") |
54 | 7b5ddbe5 | humkyung | { |
55 | info.ID2DBType = ID2DB_Type.SQLite; |
||
56 | var parent = Directory.GetParent(Path.GetDirectoryName(result["db_name"])); |
||
57 | 23a96301 | humkyung | info.DefaultPath = parent.ToString(); |
58 | ///DataRow dr = projectTable.Select(string.Format("DBTypes_UID = 2 AND Name = '{0}'", result["db_name"])).FirstOrDefault(); |
||
59 | ///info.DefaultPath = dr.Field<string>("Path"); |
||
60 | 7b5ddbe5 | humkyung | } |
61 | ce86b7e6 | humkyung | else if (result["db_type"] == "MSSQL") |
62 | 7b5ddbe5 | humkyung | { |
63 | info.ID2DBType = ID2DB_Type.MSSQL; |
||
64 | info.ServerIP = result["host"]; |
||
65 | //info.Port = "3389"; |
||
66 | info.DBUser = result["user"]; |
||
67 | info.DBPassword = result["password"]; |
||
68 | 23a96301 | humkyung | info.Database = result["db_name"]; |
69 | c4a35107 | humkyung | info.DefaultPath = result["path"]; |
70 | ///DataRow dr = projectTable.Select(string.Format("DBTypes_UID = 2 AND Name = '{0}'", result["db_name"])).FirstOrDefault(); |
||
71 | ///info.DefaultPath = dr.Field<string>("Path"); |
||
72 | 7b5ddbe5 | humkyung | } |
73 | 757ab2f2 | LJIYEON | } |
74 | 7b5ddbe5 | humkyung | tcpClient.Close(); |
75 | abee404a | LJIYEON | } |
76 | 7bc1e1db | gaqhf | |
77 | abee404a | LJIYEON | if (DB.ConnTestAndCreateTable()) |
78 | { |
||
79 | Application.EnableVisualStyles(); |
||
80 | Application.SetCompatibleTextRenderingDefault(false); |
||
81 | 7b5ddbe5 | humkyung | Application.Run(new MainForm()); |
82 | abee404a | LJIYEON | } |
83 | else |
||
84 | MessageBox.Show("fail"); |
||
85 | } |
||
86 | 7b5ddbe5 | humkyung | catch (Exception ex) |
87 | 6b9e7a56 | gaqhf | { |
88 | 7b5ddbe5 | humkyung | MessageBox.Show("Failed to open ID2 drawing.", "ID2PSN", MessageBoxButtons.OK, MessageBoxIcon.Error); |
89 | 6b9e7a56 | gaqhf | } |
90 | 0dae5645 | gaqhf | } |
91 | } |
||
92 | } |