프로젝트

일반

사용자정보

통계
| 브랜치(Branch): | 개정판:

hytos / DTI_PID / SPPIDConverter / Util / SPPIDUtil.cs @ bca81f4c

이력 | 보기 | 이력해설 | 다운로드 (4.35 KB)

1 23eb98bf gaqhf
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5
using System.Threading.Tasks;
6
using Newtonsoft.Json;
7
using System.IO;
8 b8e2644e gaqhf
using Converter.SPPID.DB;
9 23eb98bf gaqhf
using Converter.BaseModel;
10
using System.Windows.Forms;
11 bca81f4c gaqhf
using Converter.SPPID.Model;
12 23eb98bf gaqhf
13 b8e2644e gaqhf
namespace Converter.SPPID.Util
14 23eb98bf gaqhf
{
15
    public class SPPIDUtil
16
    {
17 fab4f207 gaqhf
        public static bool ConvertToSPPIDInfo(string jsonString)
18 23eb98bf gaqhf
        {
19 2e1e3c12 gaqhf
            SPPID_DBInfo _SPPIDInfo = SPPID_DBInfo.GetInstance();
20 23eb98bf gaqhf
            try
21
            {
22 fab4f207 gaqhf
                SPPID_DBInfo jsonSPPIDInfo = JsonConvert.DeserializeObject<SPPID_DBInfo>(jsonString);
23 23eb98bf gaqhf
24
                _SPPIDInfo.DBType = jsonSPPIDInfo.DBType;
25
                _SPPIDInfo.Service = jsonSPPIDInfo.Service;
26
                _SPPIDInfo.Site = jsonSPPIDInfo.Site;
27
                _SPPIDInfo.ServerIP = jsonSPPIDInfo.ServerIP;
28
                _SPPIDInfo.Port = jsonSPPIDInfo.Port;
29
                _SPPIDInfo.DBUser = jsonSPPIDInfo.DBUser;
30
                _SPPIDInfo.DBPassword = jsonSPPIDInfo.DBPassword;
31
                _SPPIDInfo.PlantPath = jsonSPPIDInfo.PlantPath;
32
                _SPPIDInfo.PlantDic = jsonSPPIDInfo.PlantDic;
33
                _SPPIDInfo.PlantPID = jsonSPPIDInfo.PlantPID;
34
                _SPPIDInfo.PlantPIDDic = jsonSPPIDInfo.PlantPIDDic;
35
                _SPPIDInfo.Plant = jsonSPPIDInfo.Plant;
36
                _SPPIDInfo.Enable = jsonSPPIDInfo.Enable;
37
                _SPPIDInfo.SelectedPlant = jsonSPPIDInfo.SelectedPlant;
38
                _SPPIDInfo.PlantList = jsonSPPIDInfo.PlantList;
39
40
            }
41
            catch (Exception ex)
42
            {
43 fab4f207 gaqhf
                _SPPIDInfo.Enable = false;
44 23eb98bf gaqhf
                return false;
45
            }
46
            return true;
47
        }
48 e00e891d gaqhf
        public static bool ConvertToETCSetting(string jsonString)
49
        {
50
            ETCSetting _ETCSetting = ETCSetting.GetInstance();
51
            try
52
            {
53
                ETCSetting jsonETCSetting = JsonConvert.DeserializeObject<ETCSetting>(jsonString);
54
55
                _ETCSetting.NoteSymbolPath = jsonETCSetting.NoteSymbolPath;
56
                _ETCSetting.TextSymbolPath = jsonETCSetting.TextSymbolPath;
57
                _ETCSetting.DrainValveSize = jsonETCSetting.DrainValveSize;
58
59
            }
60
            catch (Exception ex)
61
            {
62
                return false;
63
            }
64
            return true;
65
        }
66 bca81f4c gaqhf
67
        public static string GetSPPIDMappingPath(SPPID_Document document, object itemObj)
68
        {
69
            if (itemObj.GetType() == typeof(Symbol))
70
            {
71
                Symbol item = itemObj as Symbol;
72
                return document.SymbolMappings.Find(x => x.SYMBOLNAME == item.NAME).SPPIDSYMBOLNAME;
73
            }
74
            else if (itemObj.GetType() == typeof(Line))
75
            {
76
                Line item = itemObj as Line;
77
                return document.LineMappings.Find(x => x.LINENAME == item.TYPE).SPPIDSYMBOLNAME;
78
            }
79
            else if (itemObj.GetType() == typeof(Text))
80
            {
81
                
82
            }
83
            else if (itemObj.GetType() == typeof(Note))
84
            {
85
86
            }
87
88
            return null;
89
        }
90
91
92
93
        #region
94
        public static bool IsBranchLine(string UID, Line connectedLine)
95
        {
96
            try
97
            {
98
                if (connectedLine.CONNECTORS[0].CONNECTEDITEM != UID && connectedLine.CONNECTORS[1].CONNECTEDITEM != UID)
99
                    return true;
100
            }
101
            catch (Exception ex)
102
            {
103
                
104
            }
105
106
            return false;
107
        }
108
        public static object FindObjectByUID(Document document, string UID)
109
        {
110
            foreach (Symbol item in document.SYMBOLS)
111
            {
112
                if (item.UID == UID)
113
                    return item;
114
            }
115
116
            foreach (Line item in document.LINES)
117
            {
118
                if (item.UID == UID)
119
                    return item;
120
            }
121
122
            foreach (Text item in document.TEXTINFOS)
123
            {
124
                if (item.UID == UID)
125
                    return item;
126
            }
127
128
            foreach (Note item in document.NOTES)
129
            {
130
                if (item.UID == UID)
131
                    return item;
132
            }
133
134
            foreach (LineNumber item in document.LINENUMBERS)
135
            {
136
                if (item.UID == UID)
137
                    return item;
138
            }
139
140
            return null;
141
        }
142
        #endregion
143 23eb98bf gaqhf
    }
144
}
클립보드 이미지 추가 (최대 크기: 500 MB)