프로젝트

일반

사용자정보

개정판 a2ab8a90

IDa2ab8a906dcb508c3742f381cbd060c4824c5333
상위 af2e60f2
하위 8bca0296, 340bf987

이지연이(가) 2년 이상 전에 추가함

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