1: using System;
2: using System.ComponentModel.DataAnnotations.Schema;
3: using System.Linq;
4: using System.Text;
5:
6: namespace Ia.Ngn.Cl.Model.Ui.Huawei
7: {
8: ////////////////////////////////////////////////////////////////////////////
9:
10: /// <summary publish="true">
11: /// Huawei's EMS Ont Entity Framework class for Optical Fiber Network (OFN) UI model.
12: /// </summary>
13: ///
14: /// <remarks>
15: /// Copyright © 2006-2020 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
16: ///
17: /// This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
18: /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
19: ///
20: /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
21: /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
22: ///
23: /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
24: ///
25: /// Copyright notice: This notice may not be removed or altered from any source distribution.
26: /// </remarks>
27: public class EmsOnt
28: {
29: ////////////////////////////////////////////////////////////////////////////
30:
31: /// <summary>
32: ///
33: /// </summary>
34: public EmsOnt() { }
35:
36: ////////////////////////////////////////////////////////////////////////////
37:
38: /// <summary>
39: ///
40: /// </summary>
41: public string Id { get; set; }
42:
43: ////////////////////////////////////////////////////////////////////////////
44:
45: /// <summary>
46: ///
47: /// </summary>
48: public long ResultCode { get; set; }
49:
50: ////////////////////////////////////////////////////////////////////////////
51:
52: /// <summary>
53: ///
54: /// </summary>
55: public int StateId { get; set; }
56:
57: ////////////////////////////////////////////////////////////////////////////
58:
59: /// <summary>
60: ///
61: /// </summary>
62: public int DID { get; set; }
63:
64: ////////////////////////////////////////////////////////////////////////////
65:
66: /// <summary>
67: ///
68: /// </summary>
69: public int FN { get; set; }
70:
71: ////////////////////////////////////////////////////////////////////////////
72:
73: /// <summary>
74: ///
75: /// </summary>
76: public int SN { get; set; }
77:
78: ////////////////////////////////////////////////////////////////////////////
79:
80: /// <summary>
81: ///
82: /// </summary>
83: public int PN { get; set; }
84:
85: ////////////////////////////////////////////////////////////////////////////
86:
87: /// <summary>
88: ///
89: /// </summary>
90: public int ONTID { get; set; }
91:
92: ////////////////////////////////////////////////////////////////////////////
93:
94: /// <summary>
95: ///
96: /// </summary>
97: public string NAME { get; set; }
98:
99: ////////////////////////////////////////////////////////////////////////////
100:
101: /// <summary>
102: ///
103: /// </summary>
104: public string ALIAS { get; set; }
105:
106: ////////////////////////////////////////////////////////////////////////////
107:
108: /// <summary>
109: ///
110: /// </summary>
111: public string CAPABPROF { get; set; }
112:
113: ////////////////////////////////////////////////////////////////////////////
114:
115: /// <summary>
116: ///
117: /// </summary>
118: public string VENDORID { get; set; }
119:
120: ////////////////////////////////////////////////////////////////////////////
121:
122: /// <summary>
123: ///
124: /// </summary>
125: public string EQUIPMENTID { get; set; }
126:
127: ////////////////////////////////////////////////////////////////////////////
128:
129: /// <summary>
130: ///
131: /// </summary>
132: public string MAINSOFTVERSION { get; set; }
133:
134: ////////////////////////////////////////////////////////////////////////////
135:
136: /// <summary>
137: ///
138: /// </summary>
139: public string AUTH { get; set; }
140:
141: ////////////////////////////////////////////////////////////////////////////
142:
143: /// <summary>
144: ///
145: /// </summary>
146: public string SERIALNUM { get; set; }
147:
148: ////////////////////////////////////////////////////////////////////////////
149:
150: /// <summary>
151: ///
152: /// </summary>
153: public string DEV { get; set; }
154:
155: ////////////////////////////////////////////////////////////////////////////
156:
157: /// <summary>
158: ///
159: /// </summary>
160: public int VLAN { get; set; }
161:
162: ////////////////////////////////////////////////////////////////////////////
163:
164: /// <summary>
165: ///
166: /// </summary>
167: public string IP { get; set; }
168:
169: ////////////////////////////////////////////////////////////////////////////
170:
171: /// <summary>
172: ///
173: /// </summary>
174: public string GATE { get; set; }
175:
176: ////////////////////////////////////////////////////////////////////////////
177:
178: /// <summary>
179: ///
180: /// </summary>
181: public string ROUTEIP { get; set; }
182:
183: ////////////////////////////////////////////////////////////////////////////
184:
185: /// <summary>
186: ///
187: /// </summary>
188: public string VAPROF { get; set; }
189:
190: ////////////////////////////////////////////////////////////////////////////
191:
192: /// <summary>
193: ///
194: /// </summary>
195: public DateTime Created { get; set; }
196:
197: ////////////////////////////////////////////////////////////////////////////
198:
199: /// <summary>
200: ///
201: /// </summary>
202: public DateTime Updated { get; set; }
203:
204: ////////////////////////////////////////////////////////////////////////////
205:
206: /// <summary>
207: ///
208: /// </summary>
209: public virtual Ia.Ngn.Cl.Model.Access Access { get; set; }
210:
211: ////////////////////////////////////////////////////////////////////////////
212:
213: /// <summary>
214: ///
215: /// </summary>
216: [NotMapped]
217: public Ia.Ngn.Cl.Model.Business.Huawei.Ont.EquipmentType EquipmentType
218: {
219: get
220: {
221: //return Ia.Ngn.Cl.Model.Business.Huawei.Ont.EquipmentTypeFromFamilyTypeAndEquipmentIdAndAccessId(this.FamilyType, this.EQUIPMENTID, this.Access.Id);
222: return null;
223: }
224: }
225:
226: ////////////////////////////////////////////////////////////////////////////
227:
228: /// <summary>
229: ///
230: /// </summary>
231: [NotMapped]
232: public Ia.Ngn.Cl.Model.Business.Huawei.Ont.FamilyType FamilyType
233: {
234: get
235: {
236: return (from e in Ia.Ngn.Cl.Model.Business.Huawei.Ont.EquipmentTypeList where e.SystemNameList.Contains(this.EQUIPMENTID) select e.FamilyType).Distinct().Single();
237: }
238: }
239:
240: ////////////////////////////////////////////////////////////////////////////
241: ////////////////////////////////////////////////////////////////////////////
242:
243: /// <summary>
244: ///
245: /// </summary>
246: public string ToSimpleTextString()
247: {
248: StringBuilder sb;
249:
250: sb = new StringBuilder();
251:
252: //sb.AppendLine("Vendor: " + Ia.Ngn.Cl.Model.Business.NetworkDesignDocument.Vendor.Huawei.Name);
253: sb.AppendLine("AccessName: " + ((this.Access != null) ? this.Access.Name : string.Empty));
254: sb.AppendLine("EquipmentType: " + this.EquipmentType);
255: sb.AppendLine("FamilyType: " + this.FamilyType);
256: sb.AppendLine("ResultCode: " + Ia.Ngn.Cl.Model.Client.Huawei.Ems.ColoredResultCodeString(this.ResultCode));
257: sb.AppendLine("StateId: " + this.StateId);
258: sb.AppendLine("DID: " + this.DID);
259: sb.AppendLine("FN: " + this.FN);
260: sb.AppendLine("SN: " + this.SN);
261: sb.AppendLine("PN: " + this.PN);
262: sb.AppendLine("ONTID: " + this.ONTID);
263: sb.AppendLine("NAME: " + this.NAME);
264: sb.AppendLine("ALIAS: " + this.ALIAS);
265: sb.AppendLine("CAPABPROF: " + this.CAPABPROF);
266: sb.AppendLine("VENDORID: " + this.VENDORID);
267: sb.AppendLine("EQUIPMENTID: " + this.EQUIPMENTID);
268: sb.AppendLine("MAINSOFTVERSION: " + this.MAINSOFTVERSION);
269: sb.AppendLine("AUTH: " + this.AUTH);
270: sb.AppendLine("SERIALNUM: " + this.SERIALNUM);
271: sb.AppendLine("DEV: " + this.DEV);
272: sb.AppendLine("VLAN: " + this.VLAN);
273: sb.AppendLine("IP: " + this.IP);
274: sb.AppendLine("GATE: " + this.GATE);
275: sb.AppendLine("ROUTEIP: " + this.ROUTEIP);
276: sb.AppendLine("VAPROF: " + this.VAPROF);
277:
278: return sb.ToString();
279: }
280:
281: ////////////////////////////////////////////////////////////////////////////
282: ////////////////////////////////////////////////////////////////////////////
283: }
284:
285: ////////////////////////////////////////////////////////////////////////////
286: ////////////////////////////////////////////////////////////////////////////
287: }