개정판 a2ab8a90
issue #000: 추가 기능 Setting UI 추가
Change-Id: Ia3330d0e17cc32b26d8c27450934e82c68173344
DTI_PID/ID2PSN/DB.cs | ||
---|---|---|
17 | 17 |
const string PSN_VIEW = "T_PSN_VIEW"; |
18 | 18 |
const string PSN_TRANSFORMKEYWORD_SETTING = "T_PSN_TRANSFORMKEYWORD_SETTING"; |
19 | 19 |
const string PSN_VALVEGROUP_SETTING = "SPPIDValveGroup"; |
20 | ||
20 |
const string PSN_MULTIWAY_SETTING = "T_PSN_MULTIWAY_SETTING"; |
|
21 | 21 |
const string PSN_PATHITEMS = "SPPIDPathItem"; |
22 | 22 |
const string PSN_SEQUENCEDATA = "SPPIDSequenceData"; |
23 | 23 |
const string PSN_PIPESYSTEMNETWORK = "SPPIDPipeSystemNetwork"; |
... | ... | |
400 | 400 |
AddColumn(PSN_TRANSFORMKEYWORD_SETTING, dicColCheck); |
401 | 401 |
} |
402 | 402 | |
403 |
matched = names.FirstOrDefault(param => param == PSN_MULTIWAY_SETTING); |
|
404 |
dicColCheck.Clear(); |
|
405 |
dicColCheck.Add("INDEX", "INTEGER"); |
|
406 |
dicColCheck.Add("NAME", "TEXT"); |
|
407 |
dicColCheck.Add("MULTIWAY", "TEXT"); |
|
408 |
if (matched == null) |
|
409 |
{ |
|
410 |
var query = $"CREATE TABLE {PSN_MULTIWAY_SETTING} ([INDEX] INTEGER, [NAME] TEXT, [MULTIWAY] TEXT)"; |
|
411 |
using (var cmd = connection.GetSqlStringCommand(query)) |
|
412 |
{ |
|
413 |
cmd.ExecuteNonQuery(); |
|
414 |
} |
|
415 |
} |
|
416 |
else |
|
417 |
{ |
|
418 |
AddColumn(PSN_MULTIWAY_SETTING, dicColCheck); |
|
419 |
} |
|
420 | ||
403 | 421 |
matched = names.FirstOrDefault(param => param == PSN_PIPELINE); |
404 | 422 |
dicColCheck.Clear(); |
405 | 423 |
dicColCheck.Add("OID", "NVARCHAR(255)"); |
... | ... | |
1120 | 1138 |
return dt; |
1121 | 1139 |
} |
1122 | 1140 | |
1141 |
public static DataTable SelectMultiwaysSetting() |
|
1142 |
{ |
|
1143 |
DataTable dt = null; |
|
1144 |
ID2Info id2Info = ID2Info.GetInstance(); |
|
1145 | ||
1146 |
using (IAbstractDatabase connection = id2Info.CreateConnection()) |
|
1147 |
{ |
|
1148 |
try |
|
1149 |
{ |
|
1150 |
var query = $@"SELECT [MULTIWAY], [INDEX], [NAME] FROM {PSN_MULTIWAY_SETTING};"; |
|
1151 |
using (var ds = connection.ExecuteDataSet(connection.GetSqlStringCommand(query))) |
|
1152 |
{ |
|
1153 |
dt = ds.Tables[0].Copy(); |
|
1154 |
} |
|
1155 |
} |
|
1156 |
catch (Exception ex) |
|
1157 |
{ |
|
1158 |
Log.Write(ex.Message + "\r\n" + ex.StackTrace); |
|
1159 |
} |
|
1160 |
} |
|
1161 | ||
1162 |
return dt; |
|
1163 |
} |
|
1164 | ||
1123 | 1165 |
public static DataTable SelectValveGroupItemsSetting() |
1124 | 1166 |
{ |
1125 | 1167 |
DataTable dt = null; |
... | ... | |
1343 | 1385 |
return true; |
1344 | 1386 |
} |
1345 | 1387 | |
1388 |
public static bool SaveMultiwaysSetting(List<MultiwayItem> multiwayItems) |
|
1389 |
{ |
|
1390 |
ID2Info id2Info = ID2Info.GetInstance(); |
|
1391 |
using (IAbstractDatabase connection = id2Info.CreateConnection()) |
|
1392 |
{ |
|
1393 |
using (var txn = connection.BeginTransaction()) |
|
1394 |
{ |
|
1395 |
try |
|
1396 |
{ |
|
1397 |
var query = $"DELETE FROM {PSN_MULTIWAY_SETTING}"; |
|
1398 |
connection.ExecuteNonQuery(connection.GetSqlStringCommand(query), txn); |
|
1399 | ||
1400 |
foreach (MultiwayItem item in multiwayItems) |
|
1401 |
{ |
|
1402 |
query = $"INSERT INTO {PSN_MULTIWAY_SETTING} ([INDEX], NAME, MULTIWAY) VALUES (@INDEX, @NAME, @MULTIWAY)"; |
|
1403 |
var cmd = connection.GetSqlStringCommand(query); |
|
1404 |
AddWithValue(cmd, "@INDEX", item.Index); |
|
1405 |
AddWithValue(cmd, "@NAME", item.Name); |
|
1406 |
AddWithValue(cmd, "@MULTIWAY", item.Multiway); |
|
1407 |
connection.ExecuteNonQuery(cmd, txn); |
|
1408 |
} |
|
1409 | ||
1410 |
txn.Commit(); |
|
1411 |
} |
|
1412 |
catch (Exception ex) |
|
1413 |
{ |
|
1414 |
Log.Write(ex.Message + "\r\n" + ex.StackTrace); |
|
1415 |
return false; |
|
1416 |
} |
|
1417 |
} |
|
1418 |
} |
|
1419 | ||
1420 |
return true; |
|
1421 |
} |
|
1422 | ||
1346 | 1423 |
public static bool SaveEquipmentNopocketSetting(List<EquipmentNoPocketItem> keywordItems) |
1347 | 1424 |
{ |
1348 | 1425 |
ID2Info id2Info = ID2Info.GetInstance(); |
... | ... | |
2912 | 2989 |
AddColumn(PSN_TRANSFORMKEYWORD_SETTING, dicColCheck); |
2913 | 2990 |
} |
2914 | 2991 | |
2992 |
matched = names.FirstOrDefault(param => param == PSN_MULTIWAY_SETTING); |
|
2993 |
dicColCheck.Clear(); |
|
2994 |
dicColCheck.Add("INDEX", "INTEGER"); |
|
2995 |
dicColCheck.Add("NAME", "TEXT"); |
|
2996 |
dicColCheck.Add("MULTIWAY", "TEXT"); |
|
2997 |
if (matched == null) |
|
2998 |
{ |
|
2999 |
var query = $"CREATE TABLE {PSN_MULTIWAY_SETTING} ([INDEX] INTEGER, [NAME] TEXT, [MULTIWAY] TEXT)"; |
|
3000 |
using (var cmd = connection.GetSqlStringCommand(query)) |
|
3001 |
{ |
|
3002 |
cmd.ExecuteNonQuery(); |
|
3003 |
} |
|
3004 |
} |
|
3005 |
else |
|
3006 |
{ |
|
3007 |
AddColumn(PSN_MULTIWAY_SETTING, dicColCheck); |
|
3008 |
} |
|
3009 | ||
2915 | 3010 |
matched = names.FirstOrDefault(param => param == PSN_PIPELINE); |
2916 | 3011 |
dicColCheck.Clear(); |
2917 | 3012 |
dicColCheck.Add("OID", "NVARCHAR(255)"); |
... | ... | |
3290 | 3385 |
} |
3291 | 3386 | |
3292 | 3387 |
public static bool SaveAnotherPSNData(PSN item, List<HeaderInfo> headerInfos, List<VentDrainInfo> ventDrainInfos, |
3293 |
List<KeywordItem> keywordItems, DataTable dtTopologyRule, DataTable dtFluidCode, DataTable dtPMC, DataTable dtInsulation, DataTable dtvalvegrouping, DataTable dtnopocket, DataTable dtafc) |
|
3388 |
List<KeywordItem> keywordItems, DataTable dtTopologyRule, DataTable dtFluidCode, DataTable dtPMC, DataTable dtInsulation, DataTable dtvalvegrouping, DataTable dtnopocket, DataTable dtafc, |
|
3389 |
List<MultiwayItem> multiwayItems) |
|
3294 | 3390 |
{ |
3295 | 3391 |
AnotherID2Info id2Info = AnotherID2Info.GetInstance(); |
3296 | 3392 | |
... | ... | |
3559 | 3655 |
connection.ExecuteNonQuery(cmd, txn); |
3560 | 3656 |
} |
3561 | 3657 | |
3658 | ||
3659 |
//Multiway Setting |
|
3660 |
query = $"DELETE FROM {PSN_MULTIWAY_SETTING}"; |
|
3661 |
connection.ExecuteNonQuery(connection.GetSqlStringCommand(query), txn); |
|
3662 | ||
3663 |
foreach (MultiwayItem itemMultiway in multiwayItems) |
|
3664 |
{ |
|
3665 |
query = $"INSERT INTO {PSN_MULTIWAY_SETTING} ([INDEX], NAME, MULTIWAY) VALUES (@INDEX, @NAME, @MULTIWAY)"; |
|
3666 |
var cmd = connection.GetSqlStringCommand(query); |
|
3667 |
AddWithValue(cmd, "@INDEX", itemMultiway.Index); |
|
3668 |
AddWithValue(cmd, "@NAME", itemMultiway.Name); |
|
3669 |
AddWithValue(cmd, "@MULTIWAY", itemMultiway.Multiway); |
|
3670 |
connection.ExecuteNonQuery(cmd, txn); |
|
3671 |
} |
|
3672 | ||
3562 | 3673 |
//FulidCode |
3563 | 3674 |
query = $"DELETE FROM {PSN_FLUIDCODE}"; |
3564 | 3675 |
connection.ExecuteNonQuery(connection.GetSqlStringCommand(query), txn); |
내보내기 Unified diff