Public general use code classes and xml files that we've compiled and used over the years:
Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Nokia's Fixed Telecommunications Network (FTN) data model.
1: using Microsoft.EntityFrameworkCore;
2: using System;
3: using System.Collections.Generic;
4: using System.Data;
5: using System.Linq;
6: using System.Text;
7: using System.Web;
8:
9: namespace Ia.Ftn.Cl.Model.Data.Nokia
10: {
11: ////////////////////////////////////////////////////////////////////////////
12:
13: /// <summary publish="true">
14: /// Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Nokia's Fixed Telecommunications Network (FTN) data model.
15: /// </summary>
16: ///
17: /// <remarks>
18: /// Copyright © 2014-2019 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
19: ///
20: /// 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
21: /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
22: ///
23: /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
24: /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
25: ///
26: /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
27: ///
28: /// Copyright notice: This notice may not be removed or altered from any source distribution.
29: /// </remarks>
30: public class Ims
31: {
32: private static List<string> agcfGatewayRecordIp1sWithinWhichSubPartiesHaveServiceBundle2CategoryList, agcfGatewayRecordIp1sThatIndicateFsdb0List;
33:
34: private static readonly object objectLock = new object();
35:
36: ////////////////////////////////////////////////////////////////////////////
37:
38: /// <summary>
39: ///
40: /// </summary>
41: public Ims() { }
42:
43: ////////////////////////////////////////////////////////////////////////////
44:
45: /// <summary>
46: ///
47: /// </summary>
48: public static List<Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord> AgcfGatewayRecordsWithinNddOntListWithWrongSecondaryIpList()
49: {
50: string ip;
51: Dictionary<string, string> agcfGatewayRecordIpToMateExternalIPAddrDictionary;
52: Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord agcfGatewayRecord;
53: List<Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont> ontList;
54: List<Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord> agcfGatewayRecordList, agcfGatewayRecordList2;
55:
56: ontList = Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntList;
57: agcfGatewayRecordList = Ia.Ftn.Cl.Model.Data.Nokia.AgcfGatewayRecord.List();
58:
59: agcfGatewayRecordIpToMateExternalIPAddrDictionary = Ia.Ftn.Cl.Model.Data.Nokia.AgcfGatewayRecord.IpToMateExternalIPAddrDictionary;
60:
61: agcfGatewayRecordList2 = new List<Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord>();
62:
63: foreach (var v in ontList)
64: {
65: if (agcfGatewayRecordIpToMateExternalIPAddrDictionary.ContainsKey(v.Ip))
66: {
67: ip = agcfGatewayRecordIpToMateExternalIPAddrDictionary[v.Ip];
68:
69: if (ip != v.MgcSecondaryIp)
70: {
71: agcfGatewayRecord = (from gr in agcfGatewayRecordList
72: where gr.IP1 == v.Ip
73: select gr).SingleOrDefault();
74:
75: if (agcfGatewayRecord != null)
76: {
77: agcfGatewayRecordList2.Add(agcfGatewayRecord);
78: }
79: }
80: }
81: }
82:
83: return agcfGatewayRecordList2;
84: }
85:
86: ////////////////////////////////////////////////////////////////////////////
87:
88: /// <summary>
89: ///
90: /// </summary>
91: public static List<string> ServiceWhereSubscriberAlternateOtasRealmGroupNumberDoesNotEqualSubPartyAssocOtasRealmGroupNumberList()
92: {
93: List<string> list;
94:
95: using (var db = new Ia.Ftn.Cl.Model.Db())
96: {
97: list = (from su in db.Subscribers
98: join sp in db.SubParties on su.SubParty.Id equals sp.Id
99: //join ep in db.AgcfEndpoints on sp.AgcfEndpoint.Id equals ep.Id
100: where sp.AssocOtasRealm.Substring(0, 26) != su.AlternateOtasRealm.Substring(0, 26)
101: // "stas-stdn.fsimsgroup0-001." length = 26
102: select su.PartyId).AsNoTracking().ToList();
103: }
104:
105: return list;
106: }
107:
108: ////////////////////////////////////////////////////////////////////////////
109:
110: /// <summary>
111: ///
112: /// </summary>
113: public static void CreateH248SubscriberAndSubPartyAndAgcfEndpoint(Ia.Ftn.Cl.Model.Client.Nokia.Ims ims, int gwId, string service, int flatTermId, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt, out string result)
114: {
115: Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response entNgfsSubscriberResponse, entNgfsAgcfEndpointResponse;
116:
117: ims.EntNgfsSubscriberAndNgfsSubPartyV2_H248(service, gwId, nddOnt, out entNgfsSubscriberResponse);
118:
119: if (entNgfsSubscriberResponse.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful)
120: {
121: ims.EntNgfsAgcfEndpointV2(service, gwId, flatTermId, nddOnt, out entNgfsAgcfEndpointResponse);
122:
123: // remove number if creation of endpoint failed
124: if (entNgfsAgcfEndpointResponse.ResultCode != Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful)
125: {
126: ims.DltNgfsSubscriberAndNgfsSubPartyV2(service, nddOnt, out entNgfsSubscriberResponse);
127: }
128: else
129: {
130:
131: }
132: }
133: else
134: {
135: entNgfsAgcfEndpointResponse = new Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response();
136:
137: entNgfsAgcfEndpointResponse.ResultCode = Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Null;
138: }
139:
140: result = service + "," + gwId + "," + flatTermId + "," + entNgfsSubscriberResponse.ResultCode.ToString() + "," + entNgfsAgcfEndpointResponse.ResultCode.ToString();
141: }
142:
143: ////////////////////////////////////////////////////////////////////////////
144:
145: /// <summary>
146: ///
147: /// </summary>
148: public static void CreateSipSubscriber(Ia.Ftn.Cl.Model.Client.Nokia.Ims ims, string service, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt, out string result)
149: {
150: ims.EntNgfsSubscriberAndNgfsSubPartyV2_Sip(service, nddOnt, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response response);
151:
152: result = service + "," + response.ResultCode.ToString();
153: }
154:
155: ////////////////////////////////////////////////////////////////////////////
156:
157: /// <summary>
158: ///
159: /// </summary>
160: public static void Modify248SubscriberAndSubPartyAndDeleteAgcfEndpointToSip(Ia.Ftn.Cl.Model.Client.Nokia.Ims ims, string service, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt, out string result)
161: {
162: Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response edNgfsSubscriberResponse, dltNgfsAgcfEndpointResponse;
163:
164: ims.EdNgfsSubscriberAndNgfsSubPartyV2_H248ToSip(service, nddOnt, out edNgfsSubscriberResponse);
165:
166: if (edNgfsSubscriberResponse.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful)
167: {
168: ims.DltNgfsAgcfEndpointV2(service, nddOnt, out dltNgfsAgcfEndpointResponse);
169: }
170: else
171: {
172: dltNgfsAgcfEndpointResponse = new Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response();
173:
174: dltNgfsAgcfEndpointResponse.ResultCode = Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Null;
175: }
176:
177: result = service + "," + edNgfsSubscriberResponse.ResultCode.ToString() + "," + dltNgfsAgcfEndpointResponse.ResultCode.ToString();
178: }
179:
180: ////////////////////////////////////////////////////////////////////////////
181:
182: /// <summary>
183: ///
184: /// </summary>
185: public static void DeleteAgcfEndpointAndH248SubscriberAndSubParty(Ia.Ftn.Cl.Model.Client.Nokia.Ims ims, string service, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt, out string result)
186: {
187: ims.DltNgfsAgcfEndpointV2(service, nddOnt, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response dltNgfsAgcfEndpointResponse);
188:
189: ims.DltNgfsSubscriberAndNgfsSubPartyV2(service, nddOnt, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response dltNgfsSubscriberResponse);
190:
191: result = service + "," + dltNgfsSubscriberResponse.ResultCode.ToString() + "," + dltNgfsAgcfEndpointResponse.ResultCode.ToString();
192: }
193:
194: ////////////////////////////////////////////////////////////////////////////
195:
196: /// <summary>
197: ///
198: /// </summary>
199: public static void DeleteAgcfEndpointAndH248SubscriberAndSubParty(Ia.Ftn.Cl.Model.Client.Nokia.Ims ims, string service, string primarySwitch, string fsdb, out string result)
200: {
201: ims.DltNgfsAgcfEndpointV2(service, primarySwitch, fsdb, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response dltNgfsAgcfEndpointResponse);
202:
203: ims.DltNgfsSubscriberAndNgfsSubPartyV2(service, primarySwitch, fsdb, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response dltNgfsSubscriberResponse);
204:
205: result = service + "," + dltNgfsSubscriberResponse.ResultCode.ToString() + "," + dltNgfsAgcfEndpointResponse.ResultCode.ToString();
206: }
207:
208: ////////////////////////////////////////////////////////////////////////////
209:
210: /// <summary>
211: ///
212: /// </summary>
213: public static void DeleteH248SubscriberAndSubParty(Ia.Ftn.Cl.Model.Client.Nokia.Ims ims, string service, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt, out string result)
214: {
215: // I use this function sometimes to delete wrong subscriber entries by staff
216:
217: ims.DltNgfsSubscriberAndNgfsSubPartyV2(service, nddOnt, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response dltNgfsSubscriberResponse);
218:
219: result = service + "," + dltNgfsSubscriberResponse.ResultCode.ToString();
220: }
221:
222: ////////////////////////////////////////////////////////////////////////////
223:
224: /// <summary>
225: ///
226: /// </summary>
227: public static void DeleteSipSubscriber(Ia.Ftn.Cl.Model.Client.Nokia.Ims ims, string service, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt, out string result)
228: {
229: ims.DltNgfsSubscriberAndNgfsSubPartyV2(service, nddOnt, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response dltNgfsSubscriberResponse);
230:
231: result = service + "," + dltNgfsSubscriberResponse.ResultCode.ToString();
232: }
233:
234: ////////////////////////////////////////////////////////////////////////////
235: ////////////////////////////////////////////////////////////////////////////
236:
237:
238:
239:
240:
241:
242: ////////////////////////////////////////////////////////////////////////////
243: ////////////////////////////////////////////////////////////////////////////
244:
245: /// <summary>
246: ///
247: /// </summary>
248: public static void UpdateSupplementaryService(Ia.Ftn.Cl.Model.Client.Nokia.Ims ims, string service, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt, Ia.Ftn.Cl.Model.Business.Service.SupplementaryService supplementaryService, bool supplementaryServiceState, out string result)
249: {
250: Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response response;
251:
252: switch (supplementaryService)
253: {
254: case (Ia.Ftn.Cl.Model.Business.Service.SupplementaryService.CallerId):
255: {
256: ims.EdNgfsSubscriberV2_CallingLineId(service, nddOnt, supplementaryServiceState, out response);
257: result = service + "," + nddOnt.Access.Name + ",CallerId: " + supplementaryServiceState.ToString().ToLower() + "," + response.ResultCode.ToString();
258: break;
259: }
260: case (Ia.Ftn.Cl.Model.Business.Service.SupplementaryService.AbbriviatedCalling):
261: {
262: ims.EdNgfsSubscriberV2_OneDigitSpeedDial(service, nddOnt, supplementaryServiceState, out response);
263: result = service + "," + nddOnt.Access.Name + ",AbbriviatedCalling: " + supplementaryServiceState.ToString().ToLower() + "," + response.ResultCode.ToString();
264: break;
265: }
266: case (Ia.Ftn.Cl.Model.Business.Service.SupplementaryService.CallForwarding):
267: {
268: ims.EdNgfsSubscriberV2_CallForwardingVari(service, nddOnt, supplementaryServiceState, out response);
269: result = service + "," + nddOnt.Access.Name + ",CallForwarding: " + supplementaryServiceState.ToString().ToLower() + "," + response.ResultCode.ToString();
270: break;
271: }
272: case (Ia.Ftn.Cl.Model.Business.Service.SupplementaryService.CallWaiting):
273: {
274: ims.EdNgfsSubscriberV2_CallWaiting(service, nddOnt, supplementaryServiceState, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response subscriberResponse);
275:
276: if (nddOnt.Pon.PonGroup.Olt.IsSip == false) // if H.248
277: {
278: result = service + "," + nddOnt.Access.Name + ",CallWaiting: " + supplementaryServiceState.ToString().ToLower() + ", subscriber: " + subscriberResponse.ResultCode.ToString();
279: }
280: else
281: {
282: ims.EdNgfsAgcfEndpointV2_CallWaiting(service, nddOnt, supplementaryServiceState, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response agcfEndpointResponse);
283:
284: result = service + "," + nddOnt.Access.Name + ",CallWaiting: " + supplementaryServiceState.ToString().ToLower() + ", subscriber: " + subscriberResponse.ResultCode.ToString() + ", agcfEndpoint: " + agcfEndpointResponse.ResultCode.ToString();
285: }
286:
287: break;
288: }
289: case (Ia.Ftn.Cl.Model.Business.Service.SupplementaryService.ConferenceCall):
290: {
291: ims.EdNgfsSubscriberV2_ConferenceCall(service, nddOnt, supplementaryServiceState, out response);
292: result = service + "," + nddOnt.Access.Name + ",ConferenceCall: " + supplementaryServiceState.ToString().ToLower() + "," + response.ResultCode.ToString();
293: break;
294: }
295: case (Ia.Ftn.Cl.Model.Business.Service.SupplementaryService.WakeupCall):
296: {
297: ims.EdNgfsSubscriberV2_ReminderCall(service, nddOnt, supplementaryServiceState, out response);
298: result = service + "," + nddOnt.Access.Name + ",WakeupCall: " + supplementaryServiceState.ToString().ToLower() + "," + response.ResultCode.ToString();
299: break;
300: }
301: case (Ia.Ftn.Cl.Model.Business.Service.SupplementaryService.InternationalCallingUserControlled):
302: {
303: ims.EdNgfsSubscriberV2_InternationalCallingUserControlled(service, nddOnt, supplementaryServiceState, out response);
304: result = service + "," + nddOnt.Access.Name + ",InternationalCallingUserControlled: " + supplementaryServiceState.ToString().ToLower() + "," + response.ResultCode.ToString();
305: break;
306: }
307: case (Ia.Ftn.Cl.Model.Business.Service.SupplementaryService.InternationalCalling):
308: {
309: ims.EdNgfsSubscriberV2_InternationalCalling(service, nddOnt, supplementaryServiceState, out response);
310: result = service + "," + nddOnt.Access.Name + ",InternationalCalling: " + supplementaryServiceState.ToString().ToLower() + "," + response.ResultCode.ToString();
311: break;
312: }
313: case (Ia.Ftn.Cl.Model.Business.Service.SupplementaryService.ServiceSuspension):
314: {
315: ims.EdNgfsSubscriberV2_ServiceSuspension(service, nddOnt, supplementaryServiceState, out response);
316: result = service + "," + nddOnt.Access.Name + ",ServiceSuspension: " + supplementaryServiceState.ToString().ToLower() + "," + response.ResultCode.ToString();
317: break;
318: }
319: default:
320: {
321: result = service + ",unknown SupplementaryService: " + supplementaryServiceState.ToString().ToLower();
322: break;
323: }
324: }
325: }
326:
327: ////////////////////////////////////////////////////////////////////////////
328:
329: /// <summary>
330: ///
331: /// </summary>
332: public static void AssignServiceSuspensionStateToServiceSubscriber(Ia.Ftn.Cl.Model.Client.Nokia.Ims ims, string service, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt, bool serviceSuspensionState, out string result)
333: {
334: ims.EdNgfsSubscriberV2_ServiceSuspension(service, nddOnt, serviceSuspensionState, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response response);
335:
336: result = service + "," + nddOnt.Access.Name + ",service suspension: " + serviceSuspensionState.ToString().ToLower() + "," + response.ResultCode.ToString();
337: }
338:
339: ////////////////////////////////////////////////////////////////////////////
340:
341: /// <summary>
342: ///
343: /// </summary>
344: public static Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord ReadAgcfGatewayRecordForGwId(Ia.Ftn.Cl.Model.Client.Nokia.Ims ims, int gwId, out string result)
345: {
346: bool b;
347: string r;
348: Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord agcfGatewayRecord;
349:
350: r = string.Empty;
351:
352: agcfGatewayRecord = ims.RtrvNgfsAgcfGatewayRecordV2(gwId, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response response);
353:
354: if (response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful || response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PlxServiceObjectDoesNotExist)
355: {
356: b = Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateAgcfGatewayRecord(gwId, response, agcfGatewayRecord, out r);
357: }
358:
359: result = "GatewayRecord: " + gwId + ": " + response.ResultCode.ToString() + ": " + r;
360:
361: return agcfGatewayRecord;
362: }
363:
364: /*
365: ////////////////////////////////////////////////////////////////////////////
366:
367: /// <summary>
368: ///
369: /// </summary>
370: public static void ReadAgcfEndpointListForGwId(Ia.Ftn.Cl.Model.Client.Nokia.Ims ims, int gwId, out string result)
371: {
372: bool b;
373: int agcfGatewayRecordId;
374: Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt;
375: Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord agcfGatewayRecord;
376: List<Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint> agcfEndpointList;
377:
378: // below: read the AgcfGatewayRecord
379: agcfGatewayRecordId = Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord.AgcfGatewayRecordId(Ia.Ftn.Cl.Model.Business.Nokia.AgcfGatewayTable.NgfsAgcfGatewayTableAid, gwId);
380: agcfGatewayRecord = Ia.Ftn.Cl.Model.Data.Nokia.AgcfGatewayRecord.Read(agcfGatewayRecordId);
381:
382: if (agcfGatewayRecord != null)
383: {
384: nddOnt = Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntIpToOntDictionary.ContainsKey(agcfGatewayRecord.IP1) ? Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntIpToOntDictionary[agcfGatewayRecord.IP1] : null;
385:
386: if (nddOnt != null)
387: {
388: agcfEndpointList = ims.RtrvNgfsAgcfEndpointV2List(agcfGatewayRecord.GwId, nddOnt, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response response);
389:
390: if (response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful || response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PlxServiceObjectDoesNotExist || response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.SuccessfulButNoParameters)
391: {
392: b = Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateNgfsAgcfEndpointList(gwId, agcfGatewayRecordId, response, agcfEndpointList);
393: }
394: else if (response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.SessionInvalid)
395: {
396: }
397: else throw new Exception(@"Undefined result code """ + response + @""" seen in Ia.Ftn.Cl.Model.Data.Nokia.Ims.ResultCode");
398:
399: result = "Endpoint: GwId:" + gwId + ", " + response.ResultCode.ToString();
400: }
401: else
402: {
403: result = "Endpoint: " + "Error: nddOnt == null, GwId:" + gwId;
404: }
405: }
406: else
407: {
408: result = "Endpoint: " + "GwId:" + gwId + ", Exception: " + @"agcfGatewayRecord is null, agcfGatewayRecordsId=" + agcfGatewayRecordId;
409: }
410: }
411: */
412:
413: ////////////////////////////////////////////////////////////////////////////
414:
415: /// <summary>
416: ///
417: /// </summary>
418: public static void CreateAgcfGatewayRecordForGwId(Ia.Ftn.Cl.Model.Client.Nokia.Ims ims, int gwId, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt, out string result)
419: {
420: ims.EntNgfsAgcfGwCombinedRecV2(gwId, nddOnt, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response response);
421:
422: result = response.ResultCode.ToString();
423: }
424:
425: ////////////////////////////////////////////////////////////////////////////
426:
427: /// <summary>
428: ///
429: /// </summary>
430: public static void ReadUpdateAgcfGatewayRecordAndAgcfEndpointListAndSubPartyAndSubscriberAndServiceForGwId(Ia.Ftn.Cl.Model.Client.Nokia.Ims nokiaIms/*, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt*/, int gwId, out string result)
431: {
432: bool agcfGatewayRecordUpdated, agcfEndpointListUpdated, ngfsSubPartyUpdated, ngfsSubscriberUpdated;
433: int agcfGatewayRecordId, imsService;
434: string service, primarySwitch, partyId, prividUser, subPartyId, r;
435: //Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt;
436: Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord agcfGatewayRecord;
437: Ia.Ftn.Cl.Model.Nokia.SubParty subParty;
438: Ia.Ftn.Cl.Model.Nokia.Subscriber subscriber;
439: List<Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint> agcfEndpointList;
440:
441: // Read GwId->Ep(s)->Sp->Sub, and ask about non FSDB sub search on XML
442:
443: result = "gwId: " + gwId;
444:
445: agcfGatewayRecordId = Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord.AgcfGatewayRecordId(Ia.Ftn.Cl.Model.Business.Nokia.AgcfGatewayTable.NgfsAgcfGatewayTableAid, gwId);
446: agcfGatewayRecord = nokiaIms.RtrvNgfsAgcfGatewayRecordV2(gwId, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response response);
447:
448: if (response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful || response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PlxServiceObjectDoesNotExist)
449: {
450: agcfGatewayRecordUpdated = Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateAgcfGatewayRecord(gwId, response, agcfGatewayRecord, out r);
451:
452: if (!string.IsNullOrEmpty(r)) result += ", UpdateAgcfGatewayRecord: " + r;
453:
454: if (agcfGatewayRecord != null)
455: {
456: imsService = Ia.Ftn.Cl.Model.Business.Nokia.Ims.ImsServiceFromAgcfSipIaPort(agcfGatewayRecord.AgcfSipIaPort);
457: primarySwitch = Ia.Ftn.Cl.Model.Business.Nokia.Ims.PrimarySwitchFromAgcfGatewayRecord(agcfGatewayRecord.IsPrimary);
458:
459: //if (nddOnt != null) result += " " + nddOnt.Access.Name;
460: //else result += " warning: nddOnt is null for IP: " + agcfGatewayRecord.IP1;
461:
462: agcfEndpointList = nokiaIms.RtrvNgfsAgcfEndpointV2List(agcfGatewayRecord.GwId, primarySwitch, imsService, out response);
463:
464: if (response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful || response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PlxServiceObjectDoesNotExist || response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.SuccessfulButNoParameters)
465: {
466: agcfEndpointListUpdated = Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateNgfsAgcfEndpointList(gwId, agcfGatewayRecordId, response, agcfEndpointList);
467:
468: agcfEndpointList = Ia.Ftn.Cl.Model.Data.Nokia.AgcfEndpoint.List(gwId);
469:
470: if (agcfEndpointList != null)
471: {
472: foreach (Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint agcfEndpoint in agcfEndpointList)
473: {
474: prividUser = agcfEndpoint.PrividUser;
475: partyId = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.PartyId(prividUser);
476:
477: subParty = nokiaIms.RtrvNgfsSubPartyV2(partyId, primarySwitch, imsService, out response);
478:
479: if (response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful || response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PlxServiceObjectDoesNotExist)
480: {
481: ngfsSubPartyUpdated = Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateNgfsSubParty(partyId, agcfEndpoint.Id, response, subParty);
482:
483: // below: read the SubParty
484: subPartyId = Ia.Ftn.Cl.Model.Nokia.SubParty.SubPartyId(partyId);
485: subParty = Ia.Ftn.Cl.Model.Data.Nokia.SubParty.Read(subPartyId);
486:
487: if (subParty != null)
488: {
489: subscriber = nokiaIms.RtrvNgfsSubscriberV2(partyId, primarySwitch, imsService, out response);
490:
491: if (response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful || response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PlxServiceObjectDoesNotExist)
492: {
493: service = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.Service(partyId);
494:
495: ngfsSubscriberUpdated = Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateNgfsSubscriber(partyId, subPartyId, response, subscriber);
496:
497: Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateServiceFromAgcfGatewayRecordAndAgcfEndpointAndSubPartyAndSubscriber(service, agcfGatewayRecord, agcfEndpoint, subParty, subscriber);
498:
499: result += "," + service;
500: }
501: else
502: {
503: result += " error: subscriber: " + response.ResultCode.ToString();
504: }
505: }
506: else
507: {
508: result += " subParty is null";
509: }
510: }
511: else
512: {
513: result += " error: subParty: " + response.ResultCode.ToString();
514: }
515: }
516: }
517: else
518: {
519: result += " agcfEndpointList is null";
520: }
521: }
522: else
523: {
524: result += " error: agcfEndpointList: " + response.ResultCode.ToString();
525: }
526: }
527: else
528: {
529: result += " agcfGatewayRecord is null";
530: }
531: }
532: else
533: {
534: result += " error: agcfGatewayRecord: " + response.ResultCode.ToString();
535: }
536:
537: // temp
538: //Ia.Ftn.Cl.Model.Data.Nokia.Ims.ReadAgcfGatewayRecordFromSkbForGwId(nokiaIms, gwId, out r2);
539: //result += ". AgcfGatewayRecord (SKB): " + r2;
540: }
541:
542: ////////////////////////////////////////////////////////////////////////////
543:
544: /// <summary>
545: ///
546: /// </summary>
547: public static void ReadUpdateSubPartyAndSubscriberAndServiceForService(Ia.Ftn.Cl.Model.Client.Nokia.Ims nokiaIms, string _service, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt, out string result)
548: {
549: bool updated;
550: int imsService;
551: string service, primarySwitch, partyId, subPartyId;
552: Ia.Ftn.Cl.Model.Nokia.SubParty subParty;
553: Ia.Ftn.Cl.Model.Nokia.Subscriber subscriber;
554: Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response subPartyResponse, subscriberResponse;
555:
556: result = string.Empty;
557:
558: partyId = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.PartyId(_service);
559: subPartyId = Ia.Ftn.Cl.Model.Nokia.SubParty.SubPartyId(partyId);
560: service = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.Service(partyId);
561:
562: if (nddOnt != null)
563: {
564: imsService = nddOnt.ImsService;
565: primarySwitch = nddOnt.PrimarySwitch;
566:
567: subParty = nokiaIms.RtrvNgfsSubPartyV2(subPartyId, primarySwitch, imsService, out subPartyResponse);
568: subscriber = nokiaIms.RtrvNgfsSubscriberV2(partyId, primarySwitch, imsService, out subscriberResponse);
569:
570: updated = Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateNgfsSubPartyAndNgfsSubscriberWithoutEndPoint(subPartyId, subParty, subPartyResponse, partyId, subscriber, subscriberResponse);
571: Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateServiceFromSubPartyAndSubscriber(service, nddOnt.Access.Id);
572: }
573: else
574: {
575: /*
576: foreach (Ia.Ftn.Cl.Model.Business.Nokia.Ims.ImsBasicService ibs in Ia.Ftn.Cl.Model.Business.Nokia.Ims.ImsBasicServiceList)
577: {
578: Ia.Ftn.Cl.Model.Data.Nokia.Ims.ReadSubPartyAndSubscriber(nokiaIms, service, ibs.PrimarySwitch, ibs.Fsdb, ibs.Service, out string r);
579:
580: result += r + ",";
581: }
582: */
583: }
584: }
585:
586: ////////////////////////////////////////////////////////////////////////////
587:
588: /// <summary>
589: ///
590: /// </summary>
591: public static void ReadSubPartyAndSubscriber(Ia.Ftn.Cl.Model.Client.Nokia.Ims nokiaIms, string _service, string primarySwitch, string fsdb, int imsService, out string result)
592: {
593: bool updated;
594: string service, partyId, subPartyId;
595: Ia.Ftn.Cl.Model.Nokia.SubParty subParty;
596: Ia.Ftn.Cl.Model.Nokia.Subscriber subscriber;
597: Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response subPartyResponse, subscriberResponse;
598:
599: result = string.Empty;
600:
601: partyId = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.PartyId(_service);
602: subPartyId = Ia.Ftn.Cl.Model.Nokia.SubParty.SubPartyId(partyId);
603: service = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.Service(partyId);
604:
605: subParty = nokiaIms.RtrvNgfsSubPartyV2(subPartyId, primarySwitch, imsService, out subPartyResponse);
606: subscriber = nokiaIms.RtrvNgfsSubscriberV2(partyId, primarySwitch, imsService, out subscriberResponse);
607:
608: updated = Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateNgfsSubPartyAndNgfsSubscriberWithoutEndPoint(subPartyId, subParty, subPartyResponse, partyId, subscriber, subscriberResponse);
609: Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateServiceFromSubPartyAndSubscriber(service, string.Empty);
610: }
611:
612: ////////////////////////////////////////////////////////////////////////////
613:
614: /// <summary>
615: ///
616: /// </summary>
617: public static void DeleteAgcfGatewayRecordForGwId(Ia.Ftn.Cl.Model.Client.Nokia.Ims nokiaIms, Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord agcfGatewayRecord, out string result)
618: {
619: string primarySwitch, secondarySwitch;
620:
621: primarySwitch = Ia.Ftn.Cl.Model.Business.Nokia.Ims.PrimarySwitchFromAgcfGatewayRecord(agcfGatewayRecord.IsPrimary);
622: secondarySwitch = Ia.Ftn.Cl.Model.Business.Nokia.Ims.SecondarySwitchFromAgcfGatewayRecord(agcfGatewayRecord.IsPrimary);
623:
624: nokiaIms.DltNgfsAgcfGwCombinedRecV2(agcfGatewayRecord.GwId, primarySwitch, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response primarySwitchDeleteResponse);
625: nokiaIms.DltNgfsAgcfGwCombinedRecV2(agcfGatewayRecord.GwId, secondarySwitch, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response secondarySwitchDeleteResponse);
626:
627: result = "Primary: " + primarySwitchDeleteResponse.ResultCode.ToString() + " (FailureReason: " + primarySwitchDeleteResponse.FailureReason.ToString() + "), Secondary: " + secondarySwitchDeleteResponse.ResultCode.ToString() + " (FailureReason: " + secondarySwitchDeleteResponse.FailureReason.ToString() + "). ";
628: }
629:
630: ////////////////////////////////////////////////////////////////////////////
631:
632: /// <summary>
633: ///
634: /// </summary>
635: public static void DeleteAgcfGatewayRecordForGwId(Ia.Ftn.Cl.Model.Client.Nokia.Ims nokiaIms, int gwId, out string result)
636: {
637: string firstSwitch, secondSwitch;
638:
639: firstSwitch = Ia.Ftn.Cl.Model.Business.Nokia.Ims.TEC;
640: secondSwitch = Ia.Ftn.Cl.Model.Business.Nokia.Ims.SKB;
641:
642: nokiaIms.DltNgfsAgcfGwCombinedRecV2(gwId, firstSwitch, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response primarySwitchDeleteResponse);
643: nokiaIms.DltNgfsAgcfGwCombinedRecV2(gwId, secondSwitch, out Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response secondarySwitchDeleteResponse);
644:
645: result = "First: " + primarySwitchDeleteResponse.ResultCode.ToString() + ", Second: " + secondarySwitchDeleteResponse.ResultCode.ToString() + ". ";
646: }
647:
648: /*
649: ////////////////////////////////////////////////////////////////////////////
650:
651: /// <summary>
652: ///
653: /// </summary>
654: public static void ReadAgcfEndpointAndSubPartyAndSubscriberForService(Ia.Ftn.Cl.Model.Client.Nokia.Ims ims, int gwId, string service, out string result)
655: {
656: bool ngfsSubPartyUpdated, ngfsSubscriberUpdated;
657: int imsService;
658: string primarySwitch, partyId, prividUser, subPartyId;
659: Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt;
660: Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord agcfGatewayRecord;
661: Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint agcfEndpoint;
662: Ia.Ftn.Cl.Model.Nokia.SubParty subParty;
663: Ia.Ftn.Cl.Model.Nokia.Subscriber subscriber;
664: Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response response;
665:
666: result = "service: " + service + ", gwId: " + gwId;
667:
668: prividUser = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.PrividUser(service);
669: partyId = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.PartyId(service);
670:
671: Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord agcfGatewayRecord;
672:
673: agcfEndpoint = ims.RtrvNgfsAgcfEndpointV2(prividUser, primarySwitch, imsService, out response);
674:
675: if (response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful || response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PLX_SERVICE_OBJECT_DOES_NOT_EXIST || response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.SuccessfulButNoParameters)
676: {
677: agcfEndpoint = Ia.Ftn.Cl.Model.Data.Nokia.AgcfEndpoint.Read(prividUser);
678:
679: if (agcfEndpoint != null)
680: {
681: nddOnt = (from q in Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntList where q.Ip == agcfEndpoint.AgcfGatewayRecord.IP1 select q).SingleOrDefault();
682: imsService = Ia.Ftn.Cl.Model.Business.Nokia.Ims.ImsServiceFromAgcfSipIaPort(agcfEndpoint.AgcfGatewayRecord.AgcfSipIaPort);
683: primarySwitch = Ia.Ftn.Cl.Model.Business.Nokia.Ims.PrimarySwitchFromAgcfGatewayRecord(agcfEndpoint.AgcfGatewayRecord.IsPrimary);
684:
685: if (nddOnt != null) result += " " + nddOnt.Access.Name;
686: else result += " warning: nddOnt is null for IP: " + agcfEndpoint.AgcfGatewayRecord.IP1;
687:
688: subParty = ims.RtrvNgfsSubPartyV2(partyId, primarySwitch, imsService, out response);
689:
690: if (response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful || response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PLX_SERVICE_OBJECT_DOES_NOT_EXIST)
691: {
692: ngfsSubPartyUpdated = Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateNgfsSubParty(partyId, agcfEndpoint.Id, response, subParty);
693:
694: // below: read the SubParty
695: subPartyId = Ia.Ftn.Cl.Model.Nokia.SubParty.SubPartyId(partyId);
696: subParty = Ia.Ftn.Cl.Model.Nokia.SubParty.Read(subPartyId);
697:
698: if (subParty != null)
699: {
700: subscriber = ims.RtrvNgfsSubscriberV2(partyId, primarySwitch, imsService, out response);
701:
702: if (response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful || response.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PLX_SERVICE_OBJECT_DOES_NOT_EXIST)
703: {
704: service = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.Service(partyId);
705:
706: ngfsSubscriberUpdated = Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateNgfsSubscriber(partyId, subPartyId, response, subscriber);
707:
708: Ia.Ftn.Cl.Model.Data.Nokia.Ims.UpdateServiceFromAgcfEndpointAndSubPartyAndSubscriber(service, agcfEndpoint, subParty, subscriber);
709:
710: result += "," + service;
711: }
712: else
713: {
714: result += " error: subscriber: " + response.ResultCode.ToString();
715: }
716: }
717: else
718: {
719: result += " subParty is null";
720: }
721: }
722: else
723: {
724: result += " error: subParty: " + response.ResultCode.ToString();
725: }
726: }
727: else
728: {
729: result += " agcfEndpoint is null";
730: }
731: }
732: else
733: {
734: result += " error: agcfEndpointList: " + response.ResultCode.ToString();
735: }
736: }
737: */
738:
739: ////////////////////////////////////////////////////////////////////////////
740:
741: /// <summary>
742: ///
743: /// </summary>
744: public static bool UpdateAgcfGatewayRecord(int gwId, Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response response, Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord newAgcfGatewayRecord, out string result)
745: {
746: bool updated;
747: int id, tableId;
748: Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord agcfGatewayRecord;
749:
750: tableId = Ia.Ftn.Cl.Model.Business.Nokia.AgcfGatewayTable.NgfsAgcfGatewayTableAid;
751:
752: result = string.Empty;
753:
754: using (var db = new Ia.Ftn.Cl.Model.Db())
755: {
756: id = Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord.AgcfGatewayRecordId(tableId, gwId);
757:
758: agcfGatewayRecord = (from gr in db.AgcfGatewayRecords where gr.Id == id select gr).Include(gr => gr.AgcfEndpoints).SingleOrDefault();
759:
760: switch (response.ResultCode)
761: {
762: case Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful:
763: {
764: if (agcfGatewayRecord == null)
765: {
766: newAgcfGatewayRecord.Created = newAgcfGatewayRecord.Updated = DateTime.UtcNow.AddHours(3);
767: db.AgcfGatewayRecords.Add(newAgcfGatewayRecord);
768:
769: updated = true;
770: }
771: else
772: {
773: if (agcfGatewayRecord.Update(newAgcfGatewayRecord))
774: {
775: db.AgcfGatewayRecords.Attach(agcfGatewayRecord);
776: db.Entry(agcfGatewayRecord).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
777:
778: updated = true;
779: }
780: else updated = false;
781: }
782:
783: break;
784: }
785: case Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PlxServiceObjectDoesNotExist:
786: {
787: if (agcfGatewayRecord != null)
788: {
789: // below: delete if foreign key is not null or zero
790: if (agcfGatewayRecord.AgcfEndpoints == null || agcfGatewayRecord.AgcfEndpoints.Count == 0)
791: {
792: db.AgcfGatewayRecords.Remove(agcfGatewayRecord);
793:
794: updated = true;
795: }
796: else
797: {
798: updated = false;
799:
800: result = "AGCF gateway record for GwId " + gwId + " does not exist in IMS, but agcfGatewayRecord.AgcfEndpoints != null && agcfGatewayRecord.AgcfEndpoints.Count > 0. ";
801: }
802: }
803: else updated = false;
804:
805: break;
806: }
807: default: updated = false; break;
808: }
809:
810: db.SaveChanges();
811: }
812:
813: return updated;
814: }
815:
816: ////////////////////////////////////////////////////////////////////////////
817:
818: /// <summary>
819: ///
820: /// </summary>
821: public static bool UpdateNgfsAgcfEndpoint(string prividUser, Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response response, Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint newAgcfEndpoint)
822: {
823: bool isOk;
824: int agcfGatewayRecordsId;
825: string id;
826: Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint agcfEndpoint;
827:
828: isOk = false;
829:
830: using (var db = new Ia.Ftn.Cl.Model.Db())
831: {
832: id = Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint.AgcfEndpointId(prividUser);
833:
834: agcfEndpoint = (from ep in db.AgcfEndpoints where ep.Id == id select ep).SingleOrDefault();
835:
836: switch (response.ResultCode)
837: {
838: case Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful:
839: {
840: if (agcfEndpoint == null)
841: {
842: newAgcfEndpoint.Created = newAgcfEndpoint.Updated = DateTime.UtcNow.AddHours(3);
843: db.AgcfEndpoints.Add(newAgcfEndpoint);
844: }
845: else
846: {
847: // below: reference
848: agcfGatewayRecordsId = Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord.AgcfGatewayRecordId(Ia.Ftn.Cl.Model.Business.Nokia.AgcfGatewayTable.NgfsAgcfGatewayTableAid, newAgcfEndpoint.GwId);
849: newAgcfEndpoint.AgcfGatewayRecord = (from gr in db.AgcfGatewayRecords where gr.Id == agcfGatewayRecordsId select gr).SingleOrDefault();
850:
851: if (agcfEndpoint.Update(newAgcfEndpoint))
852: {
853: db.AgcfEndpoints.Attach(agcfEndpoint);
854: db.Entry(agcfEndpoint).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
855: }
856: }
857:
858: break;
859: }
860: case Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PlxServiceObjectDoesNotExist:
861: {
862: if (agcfEndpoint != null)
863: {
864: // below: skip delete if the foreign key is not null
865: if (agcfEndpoint.SubParties == null)
866: {
867: db.AgcfEndpoints.Remove(agcfEndpoint);
868: }
869: }
870: break;
871: }
872: }
873:
874: db.SaveChanges();
875:
876: isOk = true;
877: }
878:
879: return isOk;
880: }
881:
882: ////////////////////////////////////////////////////////////////////////////
883:
884: /// <summary>
885: ///
886: /// </summary>
887: public static bool UpdateNgfsAgcfEndpointList(int gwId, int agcfGatewayRecordId, Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response response, List<Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint> newAgcfEndpointList)
888: {
889: bool updated;
890: Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord agcfGatewayRecord;
891: Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint agcfEndpoint;
892: List<Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint> agcfEndpointList;
893:
894: updated = false;
895:
896: using (var db = new Ia.Ftn.Cl.Model.Db())
897: {
898: agcfEndpointList = (from ep in db.AgcfEndpoints where ep.GwId == gwId select ep).Include(ep => ep.SubParties).ToList();
899:
900: switch (response.ResultCode)
901: {
902: case Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful:
903: {
904: // below: add or update read endpoints
905: foreach (Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint newAgcfEndpoint in newAgcfEndpointList)
906: {
907: // below: reference
908: agcfGatewayRecord = (from gr in db.AgcfGatewayRecords where gr.Id == agcfGatewayRecordId select gr).SingleOrDefault();
909: agcfEndpoint = (from ep in db.AgcfEndpoints where ep.Id == newAgcfEndpoint.Id select ep).SingleOrDefault();
910: newAgcfEndpoint.AgcfGatewayRecord = agcfGatewayRecord;
911:
912: if (agcfEndpoint == null)
913: {
914: newAgcfEndpoint.Created = newAgcfEndpoint.Updated = DateTime.UtcNow.AddHours(3);
915: db.AgcfEndpoints.Add(newAgcfEndpoint);
916:
917: updated = updated || true;
918: }
919: else
920: {
921: if (agcfEndpoint.Update(newAgcfEndpoint))
922: {
923: db.AgcfEndpoints.Attach(agcfEndpoint);
924: db.Entry(agcfEndpoint).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
925:
926: updated = updated || true;
927: }
928: else updated = updated || false;
929: }
930: }
931:
932: // below: remove stored endpoint that do not exist in read
933: if (agcfEndpointList != null && agcfEndpointList.Count > 0)
934: {
935: foreach (Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint storedAgcfEndpoint in agcfEndpointList)
936: {
937: agcfEndpoint = (from a in newAgcfEndpointList where a.Id == storedAgcfEndpoint.Id select a).SingleOrDefault();
938:
939: if (agcfEndpoint == null && (storedAgcfEndpoint.SubParties == null || storedAgcfEndpoint.SubParties.Count == 0))
940: {
941: db.AgcfEndpoints.Remove(storedAgcfEndpoint);
942:
943: updated = updated || true;
944: }
945: }
946: }
947:
948: break;
949: }
950: case Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.SuccessfulButNoParameters:
951: case Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PlxServiceObjectDoesNotExist:
952: {
953: if (agcfEndpointList != null && agcfEndpointList.Count > 0)
954: {
955: foreach (Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint deletedAgcfEndpoint in agcfEndpointList)
956: {
957: // below: delete if foreign key is not null or zero
958: if (deletedAgcfEndpoint.SubParties == null || deletedAgcfEndpoint.SubParties.Count == 0)
959: {
960: db.AgcfEndpoints.Remove(deletedAgcfEndpoint);
961:
962: updated = updated || true;
963: }
964: else updated = updated || false;
965:
966: }
967: }
968: break;
969: }
970: default: updated = updated || false; break;
971: }
972:
973: db.SaveChanges();
974: }
975:
976: return updated;
977: }
978:
979: ////////////////////////////////////////////////////////////////////////////
980:
981: /// <summary>
982: ///
983: /// </summary>
984: public static bool UpdateNgfsSubParty(string partyId, string agcfEndpointId, Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response response, Ia.Ftn.Cl.Model.Nokia.SubParty newSubParty)
985: {
986: bool updated;
987: string id;
988: Ia.Ftn.Cl.Model.Nokia.SubParty subParty;
989:
990: using (var db = new Ia.Ftn.Cl.Model.Db())
991: {
992: id = Ia.Ftn.Cl.Model.Nokia.SubParty.SubPartyId(partyId);
993:
994: subParty = (from sp in db.SubParties where sp.Id == id select sp).Include(sp => sp.Subscribers).SingleOrDefault();
995:
996: switch (response.ResultCode)
997: {
998: case Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful:
999: {
1000: // below: reference
1001: agcfEndpointId = Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint.AgcfEndpointId(agcfEndpointId);
1002: newSubParty.AgcfEndpoint = (from ep in db.AgcfEndpoints where ep.Id == agcfEndpointId select ep).SingleOrDefault();
1003:
1004: if (subParty == null)
1005: {
1006: newSubParty.Created = newSubParty.Updated = DateTime.UtcNow.AddHours(3);
1007: db.SubParties.Add(newSubParty);
1008:
1009: updated = true;
1010: }
1011: else
1012: {
1013: // below: they don't
1014: // <PrimaryPUID>icsSubAgcfpuid</PrimaryPUID> in <SubParty> element of ent-ngfs-subscriber-v2 has to match <Dn>icsSubAgcfpuid</Dn> in ent-ngfs-agcfendpoint-v2
1015:
1016: if (subParty.Update(newSubParty))
1017: {
1018: db.SubParties.Attach(subParty);
1019: db.Entry(subParty).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
1020:
1021: updated = true;
1022: }
1023: else updated = false;
1024: }
1025:
1026: break;
1027: }
1028: case Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PlxServiceObjectDoesNotExist:
1029: {
1030: if (subParty != null)
1031: {
1032: // below: delete if foreign key is not null or zero
1033: if (subParty.Subscribers == null || subParty.Subscribers.Count == 0)
1034: {
1035: db.SubParties.Remove(subParty);
1036:
1037: updated = true;
1038: }
1039: else updated = false;
1040: }
1041: else updated = false;
1042: break;
1043: }
1044: default: updated = false; break;
1045: }
1046:
1047: db.SaveChanges();
1048: }
1049:
1050: return updated;
1051: }
1052:
1053: ////////////////////////////////////////////////////////////////////////////
1054:
1055: /// <summary>
1056: ///
1057: /// </summary>
1058: public static bool UpdateNgfsSubPartyAndNgfsSubscriberWithoutEndPoint(string subPartyId, Ia.Ftn.Cl.Model.Nokia.SubParty retrievedSubParty, Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response retrievedSubPartyResponse, string partyId, Ia.Ftn.Cl.Model.Nokia.Subscriber retrievedSubscriber, Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response retrievedSubscriberResponse)
1059: {
1060: bool updated;
1061: Ia.Ftn.Cl.Model.Nokia.SubParty subParty;
1062: Ia.Ftn.Cl.Model.Nokia.Subscriber subscriber;
1063:
1064: updated = false;
1065:
1066: using (var db = new Ia.Ftn.Cl.Model.Db())
1067: {
1068: subParty = (from sp in db.SubParties where sp.Id == subPartyId select sp).SingleOrDefault();
1069: subscriber = (from s in db.Subscribers where s.Id == partyId select s).SingleOrDefault();
1070:
1071: if (retrievedSubParty != null && retrievedSubPartyResponse.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful && retrievedSubscriber != null && retrievedSubscriberResponse.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful)
1072: {
1073: if (subParty == null)
1074: {
1075: retrievedSubParty.Created = retrievedSubParty.Updated = DateTime.UtcNow.AddHours(3);
1076: db.SubParties.Add(retrievedSubParty);
1077:
1078: updated = true;
1079: }
1080: else
1081: {
1082: if (subParty.Update(retrievedSubParty))
1083: {
1084: db.SubParties.Attach(subParty);
1085: db.Entry(subParty).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
1086:
1087: updated = true;
1088: }
1089: }
1090:
1091: // below: reference
1092: retrievedSubscriber.SubParty = (from sp in db.SubParties where sp.Id == retrievedSubParty.Id select sp).SingleOrDefault();
1093:
1094: if (subscriber == null)
1095: {
1096: retrievedSubscriber.Created = retrievedSubscriber.Updated = DateTime.UtcNow.AddHours(3);
1097: db.Subscribers.Add(retrievedSubscriber);
1098:
1099: updated = true;
1100: }
1101: else
1102: {
1103: if (subscriber.Update(retrievedSubscriber))
1104: {
1105: db.Subscribers.Attach(subscriber);
1106: db.Entry(subscriber).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
1107:
1108: updated = true;
1109: }
1110: }
1111: }
1112: else if (retrievedSubParty == null && retrievedSubPartyResponse.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PlxServiceObjectDoesNotExist && retrievedSubscriber == null && retrievedSubscriberResponse.ResultCode == Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PlxServiceObjectDoesNotExist)
1113: {
1114: if (subscriber != null)
1115: {
1116: db.Subscribers.Remove(subscriber);
1117:
1118: updated = true;
1119: }
1120:
1121: if (subParty != null)
1122: {
1123: db.SubParties.Remove(subParty);
1124:
1125: updated = true;
1126: }
1127: }
1128: else
1129: {
1130:
1131: }
1132:
1133: db.SaveChanges();
1134: }
1135:
1136: return updated;
1137: }
1138:
1139: ////////////////////////////////////////////////////////////////////////////
1140:
1141: /// <summary>
1142: ///
1143: /// </summary>
1144: public static bool UpdateNgfsSubscriber(string partyId, string subPartyId, Ia.Ftn.Cl.Model.Business.Nokia.Ims.Response response, Ia.Ftn.Cl.Model.Nokia.Subscriber newSubscriber)
1145: {
1146: bool updated;
1147: string id;
1148: Ia.Ftn.Cl.Model.Nokia.Subscriber subscriber;
1149:
1150: using (var db = new Ia.Ftn.Cl.Model.Db())
1151: {
1152: id = Ia.Ftn.Cl.Model.Nokia.Subscriber.SubscriberId(partyId);
1153:
1154: subscriber = (from s in db.Subscribers where s.Id == id select s).SingleOrDefault();
1155:
1156: switch (response.ResultCode)
1157: {
1158: case Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.Successful:
1159: {
1160: // below: reference
1161: newSubscriber.SubParty = (from s in db.SubParties where s.Id == subPartyId select s).SingleOrDefault();
1162:
1163: if (subscriber == null)
1164: {
1165: newSubscriber.Created = newSubscriber.Updated = DateTime.UtcNow.AddHours(3);
1166: db.Subscribers.Add(newSubscriber);
1167:
1168: updated = true;
1169: }
1170: else
1171: {
1172: if (subscriber.Update(newSubscriber))
1173: {
1174: db.Subscribers.Attach(subscriber);
1175: db.Entry(subscriber).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
1176:
1177: updated = true;
1178: }
1179: else updated = false;
1180: }
1181:
1182: break;
1183: }
1184: case Ia.Ftn.Cl.Model.Client.Nokia.Ims.ResultCode.PlxServiceObjectDoesNotExist:
1185: {
1186: if (subscriber != null)
1187: {
1188: db.Subscribers.Remove(subscriber);
1189:
1190: updated = true;
1191: }
1192: else updated = false;
1193:
1194: break;
1195: }
1196: default: updated = false; break;
1197: }
1198:
1199: db.SaveChanges();
1200: }
1201:
1202: return updated;
1203: }
1204:
1205: ////////////////////////////////////////////////////////////////////////////
1206:
1207: /// <summary>
1208: ///
1209: /// </summary>
1210: public static bool UpdateServiceFromAgcfGatewayRecordAndAgcfEndpointAndSubPartyAndSubscriber(string service, Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord agcfGatewayRecord, Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint agcfEndpoint, Ia.Ftn.Cl.Model.Nokia.SubParty subParty, Ia.Ftn.Cl.Model.Nokia.Subscriber subscriber)
1211: {
1212: bool insert, update, delete;
1213: int serviceType;
1214: string serviceId;
1215: Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt;
1216: Ia.Ftn.Cl.Model.Service2 service2, newService;
1217:
1218: insert = update = delete = false;
1219: //result = new Ia.Cl.Models.Result();
1220:
1221: serviceType = Ia.Ftn.Cl.Model.Business.Service.ServiceType.ImsService;
1222: serviceId = Ia.Ftn.Cl.Model.Business.Service2.ServiceId(service, serviceType);
1223:
1224: using (var db = new Ia.Ftn.Cl.Model.Db())
1225: {
1226: if (agcfGatewayRecord != null && agcfEndpoint != null && subParty != null && subscriber != null)
1227: {
1228: newService = new Ia.Ftn.Cl.Model.Service2();
1229:
1230: newService.Id = serviceId;
1231: newService.AreaCode = Ia.Ftn.Cl.Model.Business.Service.CountryCode;
1232: newService.Service = service;
1233: newService.ServiceType = serviceType;
1234:
1235: newService.CallerId = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.CallingLineIdIsAssigned(subscriber._CallingLineId);
1236: newService.AbbriviatedCalling = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.OneDigitSpeedDialIsAssigned(subscriber._OneDigitSpeedDial);
1237: newService.CallForwarding = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.CallForwardingIsAssigned(subscriber._CallForwardingVari);
1238: newService.CallWaiting = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.CallWaitingIsAssigned(subscriber._CallWaiting, agcfEndpoint.CallWaitingLc);
1239: newService.ConferenceCall = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.ConferenceCallIsAssigned(subscriber._ConferenceCalling);
1240: newService.InternationalCalling = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.InternationalCallingIsAssigned(subscriber._CallBarring);
1241: newService.InternationalCallingUserControlled = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.InternationalCallingUserControlledIsAssigned(subscriber._OutgoingCallBarring);
1242:
1243: newService.AlarmCall = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.ReminderCallIsAssigned(subscriber._ReminderCall);
1244: newService.WakeupCall = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.ReminderCallIsAssigned(subscriber._ReminderCall);
1245:
1246: newService.ServiceSuspension = subParty.ServiceSuspension;
1247: //newService.CallBarring = subParty.ServiceSuspension;
1248:
1249: newService.Pin = int.TryParse(subParty.Pin, out int i) ? i : 0;
1250:
1251: nddOnt = Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntIpToOntDictionary.ContainsKey(agcfGatewayRecord.IP1) ? Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntIpToOntDictionary[agcfGatewayRecord.IP1] : null;
1252:
1253: if (nddOnt != null) newService.Access = (from a in db.Accesses where a.Id == nddOnt.Access.Id select a).SingleOrDefault();
1254: else newService.Access = null;
1255:
1256: service2 = (from s in db.Service2
1257: where s.ServiceType == Ia.Ftn.Cl.Model.Business.Service.ServiceType.ImsService && s.Id == newService.Id
1258: select s).SingleOrDefault();
1259:
1260: if (service2 == null)
1261: {
1262: newService.Created = newService.Updated = DateTime.UtcNow.AddHours(3);
1263: db.Service2.Add(newService);
1264:
1265: insert = true;
1266: }
1267: else
1268: {
1269: if (service2.Update(newService))
1270: {
1271: db.Service2.Attach(service2);
1272: db.Entry(service2).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
1273:
1274: update = true;
1275: }
1276: else update = false;
1277: }
1278: }
1279: else
1280: {
1281: service2 = (from s in db.Service2
1282: where s.ServiceType == Ia.Ftn.Cl.Model.Business.Service.ServiceType.ImsService && s.Id == serviceId
1283: select s).SingleOrDefault();
1284:
1285: if (service2 != null)
1286: {
1287: db.Service2.Remove(service2);
1288:
1289: delete = true;
1290: }
1291: }
1292:
1293: db.SaveChanges();
1294: }
1295:
1296: //result.AddSuccess(service + ": state: " + Ia.Ftn.Cl.Model.Ui.Text.ExpressionOfInsertOrUpdateOrDelete(insert, update, delete));
1297:
1298: return insert || update || delete;
1299: }
1300:
1301: ////////////////////////////////////////////////////////////////////////////
1302:
1303: /// <summary>
1304: ///
1305: /// </summary>
1306: public static bool UpdateServiceFromSubPartyAndSubscriber(string service, string accessId)
1307: {
1308: bool insert, update, delete;
1309: int serviceType;
1310: string serviceId;
1311: Ia.Ftn.Cl.Model.Nokia.SubParty subParty;
1312: Ia.Ftn.Cl.Model.Nokia.Subscriber subscriber;
1313: Ia.Ftn.Cl.Model.Service2 service2, newService;
1314:
1315: insert = update = delete = false;
1316: //result = new Ia.Cl.Models.Result();
1317:
1318: serviceType = Ia.Ftn.Cl.Model.Business.Service.ServiceType.ImsService;
1319: serviceId = Ia.Ftn.Cl.Model.Business.Service2.ServiceId(service, serviceType);
1320:
1321: using (var db = new Ia.Ftn.Cl.Model.Db())
1322: {
1323: var partyId = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.PartyId(service);
1324: var subPartyId = Ia.Ftn.Cl.Model.Nokia.SubParty.SubPartyId(partyId);
1325:
1326: subParty = (from sp in db.SubParties where sp.Id == subPartyId select sp).SingleOrDefault();
1327: subscriber = (from s in db.Subscribers where s.Id == partyId select s).SingleOrDefault();
1328:
1329: if (subParty != null && subscriber != null)
1330: {
1331: newService = new Ia.Ftn.Cl.Model.Service2();
1332:
1333: newService.Id = serviceId;
1334: newService.AreaCode = Ia.Ftn.Cl.Model.Business.Service.CountryCode;
1335: newService.Service = service;
1336: newService.ServiceType = serviceType;
1337:
1338: newService.CallerId = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.CallingLineIdIsAssigned(subscriber._CallingLineId);
1339: newService.AbbriviatedCalling = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.OneDigitSpeedDialIsAssigned(subscriber._OneDigitSpeedDial);
1340: newService.CallForwarding = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.CallForwardingIsAssigned(subscriber._CallForwardingVari);
1341: newService.CallWaiting = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.CallWaitingIsAssigned(subscriber._CallWaiting, false);// agcfEndpoint.CallWaitingLc);
1342: newService.ConferenceCall = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.ConferenceCallIsAssigned(subscriber._ConferenceCalling);
1343: newService.InternationalCalling = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.InternationalCallingIsAssigned(subscriber._CallBarring);
1344: newService.InternationalCallingUserControlled = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.InternationalCallingUserControlledIsAssigned(subscriber._OutgoingCallBarring);
1345:
1346: newService.AlarmCall = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.ReminderCallIsAssigned(subscriber._ReminderCall);
1347: newService.WakeupCall = Ia.Ftn.Cl.Model.Business.Nokia.Subscriber.ReminderCallIsAssigned(subscriber._ReminderCall);
1348:
1349: newService.ServiceSuspension = subParty.ServiceSuspension;
1350: //newService.CallBarring = subParty.ServiceSuspension;
1351:
1352: newService.Pin = int.TryParse(subParty.Pin, out int i) ? i : 0;
1353:
1354: if (!string.IsNullOrEmpty(accessId)) newService.Access = (from a in db.Accesses where a.Id == accessId select a).SingleOrDefault();
1355: else newService.Access = null;
1356:
1357: service2 = (from s in db.Service2
1358: where s.ServiceType == Ia.Ftn.Cl.Model.Business.Service.ServiceType.ImsService && s.Id == newService.Id
1359: select s).SingleOrDefault();
1360:
1361: if (service2 == null)
1362: {
1363: newService.Created = newService.Updated = DateTime.UtcNow.AddHours(3);
1364: db.Service2.Add(newService);
1365:
1366: insert = true;
1367: }
1368: else
1369: {
1370: if (service2.Update(newService))
1371: {
1372: db.Service2.Attach(service2);
1373: db.Entry(service2).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
1374:
1375: update = true;
1376: }
1377: else update = false;
1378: }
1379: }
1380: else
1381: {
1382: service2 = (from s in db.Service2
1383: where s.ServiceType == Ia.Ftn.Cl.Model.Business.Service.ServiceType.ImsService && s.Id == serviceId
1384: select s).SingleOrDefault();
1385:
1386: if (service2 != null)
1387: {
1388: db.Service2.Remove(service2);
1389:
1390: delete = true;
1391: }
1392: }
1393:
1394: db.SaveChanges();
1395: }
1396:
1397: //result.AddSuccess(service + ": state: " + Ia.Ftn.Cl.Model.Ui.Text.ExpressionOfInsertOrUpdateOrDelete(insert, update, delete));
1398:
1399: return insert || update || delete;
1400: }
1401:
1402: /*
1403: ////////////////////////////////////////////////////////////////////////////
1404:
1405: /// <summary>
1406: ///
1407: /// </summary>
1408: public static bool UpdateServiceList(Dictionary<long, Ia.Ftn.Cl.Model.Service> dnServiceDictionary)
1409: {
1410: bool isOk;
1411: int serviceType;
1412: long dn;
1413: string serviceId;
1414: Ia.Ftn.Cl.Model.Service service;
1415: Ia.Ftn.Cl.Model.Service2 service2, newService2;
1416:
1417: isOk = false;
1418:
1419: using (var db = new Ia.Ftn.Cl.Model.Ftn())
1420: {
1421: // below:
1422: foreach (KeyValuePair<long, Ia.Ftn.Cl.Model.Service> u in dnServiceDictionary)
1423: {
1424: dn = u.Key;
1425: service = u.Value;
1426:
1427: serviceType = Ia.Ftn.Cl.Model.Business.Service.ServiceType.ImsService;
1428: serviceId = Ia.Ftn.Cl.Model.Service2.ServiceId(dn.ToString().Remove(0, 3), serviceType); // temp: remove 3 digits
1429:
1430: // below:
1431: if (service != null)
1432: {
1433: newService2 = new Ia.Ftn.Cl.Model.Service2();
1434:
1435: newService2.Id = serviceId;
1436: newService2.AreaCode = Ia.Ftn.Cl.Model.Data.Service.CountryCode;
1437: newService2.Service = dn.ToString();
1438: newService2.ServiceType = serviceType;
1439:
1440: //newService2.ServiceSuspension = ??
1441: newService2.CallBarring = service.OCBUC_ass;
1442: newService2.CallForwarding = service.CFU_ass;
1443: newService2.ConferenceCall = service.CONF;
1444: //newService2.ConferenceCall = service.TPS_ass;
1445:
1446: newService2.AlarmCall = service.ALM_ass;
1447: newService2.CallWaiting = service.CW_ass;
1448: newService2.Pin = service.PIN_code;
1449:
1450: newService2.CallerId = service.CLIP;
1451:
1452: service2 = (from q in db.Service2s where s.ServiceType == Ia.Ftn.Cl.Model.Business.Service.ServiceType.FtnService && q.Id == newService2.Id select q).SingleOrDefault();
1453:
1454: if (service2 == null)
1455: {
1456: newService2.Created = newService2.Updated = DateTime.UtcNow.AddHours(3);
1457: db.Service2s.Add(newService2);
1458: }
1459: else
1460: {
1461: if (service2.Update(newService2))
1462: {
1463: db.Service2s.Attach(service2);
1464: db.Entry(service2).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
1465: }
1466: }
1467: }
1468: else
1469: {
1470: service2 = (from q in db.Service2s where s.ServiceType == Ia.Ftn.Cl.Model.Business.Service.ServiceType.ImsService && q.Id == serviceId select q).SingleOrDefault();
1471:
1472: if (service2 != null) db.Service2s.Remove(service2);
1473: }
1474: }
1475:
1476: db.SaveChanges();
1477:
1478: isOk = true;
1479: }
1480:
1481: return isOk;
1482: }
1483: */
1484:
1485: ////////////////////////////////////////////////////////////////////////////
1486:
1487: /// <summary>
1488: ///
1489: /// </summary>
1490: public static List<int> AllPossibleGatewayIdList
1491: {
1492: get
1493: {
1494: // below: GwId are defined by Nokia
1495:
1496: List<int> allPossibleGatewayIdList;
1497:
1498: allPossibleGatewayIdList = new List<int>(Ia.Ftn.Cl.Model.Business.Nokia.Ims.LastGatewayId - Ia.Ftn.Cl.Model.Business.Nokia.Ims.FirstGatewayId);
1499:
1500: //allPossibleGatewayIdList = Ia.Ftn.Cl.Model.Data.Nokia.Default.GatewayIdList;
1501:
1502: for (int i = Ia.Ftn.Cl.Model.Business.Nokia.Ims.FirstGatewayId; i <= Ia.Ftn.Cl.Model.Business.Nokia.Ims.LastGatewayId; i++)
1503: {
1504: allPossibleGatewayIdList.Add(i);
1505: }
1506:
1507: return allPossibleGatewayIdList;
1508: }
1509: }
1510:
1511: ////////////////////////////////////////////////////////////////////////////
1512:
1513: /// <summary>
1514: ///
1515: /// </summary>
1516: public static List<Ia.Ftn.Cl.Model.Ont> AllPossibleOntNotInAgcfGatewayRecordList(Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Olt olt)
1517: {
1518: DiscrepancyBetweenOntListAndAgctGatewayRecordList(olt, out List<Ia.Ftn.Cl.Model.Ont> ontsNotInAgcfGatewayRecordsList, out List<Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord> agcfGatewayRecordsNoInOntsList);
1519:
1520: return ontsNotInAgcfGatewayRecordsList;
1521: }
1522:
1523: ////////////////////////////////////////////////////////////////////////////
1524:
1525: /// <summary>
1526: ///
1527: /// </summary>
1528: public static List<Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont> NddOntNotInAgcfGatewayRecordList(Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Olt olt)
1529: {
1530: List<Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont> ontList;
1531: List<Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont> ftnOntsNotInAgcfGatewayRecordsList;
1532: List<Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord> agcfGatewayRecordList;
1533:
1534: // below: FTN ONT list
1535: ontList = (from o in Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntList
1536: where o.Pon.PonGroup.Olt.Id == olt.Id
1537: select o).ToList();
1538:
1539: using (var db = new Ia.Ftn.Cl.Model.Db())
1540: {
1541: // below: AgcfGatewayRecord list
1542: agcfGatewayRecordList = (from a in db.AgcfGatewayRecords select a).AsNoTracking().ToList();
1543: }
1544:
1545: // below: ONTs not in AgcfGatewayRecord list
1546: ftnOntsNotInAgcfGatewayRecordsList = (from no in ontList
1547: join a in agcfGatewayRecordList on no.Ip equals a.IP1
1548: into gj
1549: from sub in gj.DefaultIfEmpty()
1550: where sub == null
1551: select no).ToList();
1552:
1553: return ftnOntsNotInAgcfGatewayRecordsList;
1554: }
1555:
1556: ////////////////////////////////////////////////////////////////////////////
1557:
1558: /// <summary>
1559: ///
1560: /// </summary>
1561: public static List<Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont> NddNokiaSwitchOntInNonSipOltWithAccessButNoAgcfGatewayRecordList()
1562: {
1563: var accessIdDictionary = Ia.Ftn.Cl.Model.Data.Access.IdDictionary;
1564:
1565: var ontList = Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntList;
1566:
1567: var nddOntWithinAccessList = (from o in ontList
1568: where o.Pon.PonGroup.Olt.IsSip == false
1569: && o.Pon.PonGroup.Olt.Odf.Router.Vendor == Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Vendor.Nokia
1570: && accessIdDictionary.ContainsKey(o.Access.Id)
1571: //&& accessIdList.Contains(o.Access.Id) // very slow
1572: select o).ToList();
1573:
1574: var agcfGatewayRecordIp1List = Ia.Ftn.Cl.Model.Data.Nokia.AgcfGatewayRecord.IpList();
1575:
1576: // below: ONTs in Accesses but not in AgcfGatewayRecord list
1577: var nddOntList = (from no in nddOntWithinAccessList
1578: join grip1 in agcfGatewayRecordIp1List on no.Ip equals grip1
1579: into gj
1580: from sub in gj.DefaultIfEmpty()
1581: where sub == null
1582: select no).ToList();
1583:
1584: return nddOntList;
1585: }
1586:
1587: ////////////////////////////////////////////////////////////////////////////
1588:
1589: /// <summary>
1590: ///
1591: /// </summary>
1592: public static List<Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord> AgcfGatewayRecordWithNoNddNokiaSwitchOntInNonSipOltAndNullOrEmptyAgcfEndpointList()
1593: {
1594: List<string> accessIdList;
1595: List<Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont> ontList, nddOntWithNoAccessList;
1596: List<Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord> agcfGatewayRecordList, agcfGatewayRecordWithNoNddOntList, agcfGatewayRecordWithNoNddOntAccessList;
1597: List<Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont> nokiaSwitchOntInNonSipOltList;
1598:
1599: using (var db = new Ia.Ftn.Cl.Model.Db())
1600: {
1601: accessIdList = (from a in db.Accesses select a.Id).AsNoTracking().ToList();
1602:
1603: agcfGatewayRecordList = (from a in db.AgcfGatewayRecords
1604: select a)/*.Include(u => u.AgcfEndpoints)*/.AsNoTracking().ToList();
1605:
1606: ontList = Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntList;
1607:
1608: nokiaSwitchOntInNonSipOltList = (from o in ontList
1609: where o.Pon.PonGroup.Olt.IsSip == false
1610: && o.Pon.PonGroup.Olt.Odf.Router.Vendor == Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Vendor.Nokia
1611: select o).ToList();
1612:
1613: // below: AgcfGatewayRecord with no corresponding NDD ONT entries
1614: agcfGatewayRecordWithNoNddOntList = (from gr in agcfGatewayRecordList
1615: join no in nokiaSwitchOntInNonSipOltList
1616: on gr.IP1 equals no.Ip
1617: into gj
1618: from sub in gj.DefaultIfEmpty()
1619: where sub == null
1620: select gr).ToList();
1621:
1622: // below: NDD ONTs with no access
1623: nddOntWithNoAccessList = (from o in nokiaSwitchOntInNonSipOltList
1624: join a in accessIdList on o.Access.Id equals a
1625: into gj
1626: from sub in gj.DefaultIfEmpty()
1627: where sub == null
1628: select o).ToList();
1629:
1630: // below: AgcfGatewayRecord with no corresponding NDD ONT access entries
1631: agcfGatewayRecordWithNoNddOntAccessList = (from gr in agcfGatewayRecordList
1632: join no in nddOntWithNoAccessList
1633: on gr.IP1 equals no.Ip
1634: select gr).ToList();
1635: }
1636:
1637: return agcfGatewayRecordWithNoNddOntList.Union(agcfGatewayRecordWithNoNddOntAccessList).ToList();
1638: }
1639:
1640: ////////////////////////////////////////////////////////////////////////////
1641:
1642: /// <summary>
1643: ///
1644: /// </summary>
1645: public static List<Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont> NddOntWithAgcfGatewayRecordAndNotEmptyAgcfEndpointAndNullAccessList()
1646: {
1647: List<string> accessIdList;
1648: List<Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont> nddOntWithNoAccessList, nddOntWithAgcfGatewayRecordAndNotEmptyAgcfEndpointAndNullAccessList;
1649: List<Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord> agcfGatewayRecordList, agcfGatewayRecordWithNddOntAndNotEmptyAgcfEndpointList;
1650:
1651: using (var db = new Ia.Ftn.Cl.Model.Db())
1652: {
1653: accessIdList = (from a in db.Accesses select a.Id).AsNoTracking().ToList();
1654:
1655: agcfGatewayRecordList = (from a in db.AgcfGatewayRecords select a).Include(u => u.AgcfEndpoints).AsNoTracking().ToList();
1656:
1657: // below: AgcfGatewayRecord with corresponding NDD ONT entries and not empty AgcfEndpoints
1658: agcfGatewayRecordWithNddOntAndNotEmptyAgcfEndpointList = (from gr in agcfGatewayRecordList
1659: join no in Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntList
1660: on gr.IP1 equals no.Ip
1661: where gr.AgcfEndpoints != null && gr.AgcfEndpoints.Count > 0
1662: select gr).ToList();
1663:
1664: // below: NDD ONTs with no access
1665: nddOntWithNoAccessList = (from o in Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntList
1666: join a in accessIdList on o.Access.Id equals a
1667: into gj
1668: from sub in gj.DefaultIfEmpty()
1669: where sub == null
1670: select o).ToList();
1671:
1672: // below: AgcfGatewayRecord with corresponding NDD ONT entries and not empty AgcfEndpoints, but with no corresponding NDD ONT access entries
1673: nddOntWithAgcfGatewayRecordAndNotEmptyAgcfEndpointAndNullAccessList = (from no in nddOntWithNoAccessList
1674: join gr in agcfGatewayRecordList
1675: on no.Ip equals gr.IP1
1676: select no).ToList();
1677: }
1678:
1679: return nddOntWithAgcfGatewayRecordAndNotEmptyAgcfEndpointAndNullAccessList.ToList();
1680: }
1681:
1682: ////////////////////////////////////////////////////////////////////////////
1683:
1684: /// <summary>
1685: ///
1686: /// </summary>
1687: public static List<Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont> NddOntWithNoAccessList()
1688: {
1689: List<string> accessIdList;
1690: List<Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont> nddOntList;
1691:
1692: using (var db = new Ia.Ftn.Cl.Model.Db())
1693: {
1694: accessIdList = (from a in db.Accesses select a.Id).AsNoTracking().ToList();
1695:
1696: // below:
1697: nddOntList = (from o in Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntList
1698: join a in accessIdList on o.Access.Id equals a
1699: into gj
1700: from sub in gj.DefaultIfEmpty()
1701: where sub == null
1702: select o).ToList();
1703: }
1704:
1705: return nddOntList;
1706: }
1707:
1708: ////////////////////////////////////////////////////////////////////////////
1709:
1710: /// <summary>
1711: ///
1712: /// </summary>
1713: public static List<Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord> AllPossibleAgcfGatewayRecordsNoInOntsList(Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Olt olt)
1714: {
1715: DiscrepancyBetweenOntListAndAgctGatewayRecordList(olt, out List<Ia.Ftn.Cl.Model.Ont> ontsNotInAgcfGatewayRecordsList, out List<Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord> agcfGatewayRecordsNoInOntsList);
1716:
1717: return agcfGatewayRecordsNoInOntsList;
1718: }
1719:
1720: ////////////////////////////////////////////////////////////////////////////
1721:
1722: /// <summary>
1723: ///
1724: /// </summary>
1725: private static void DiscrepancyBetweenOntListAndAgctGatewayRecordList(Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Olt olt, out List<Ia.Ftn.Cl.Model.Ont> ontsNotInAgcfGatewayRecordsList, out List<Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord> agcfGatewayRecordsNoInOntsList)
1726: {
1727: List<Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont> ontList;
1728: List<Ia.Ftn.Cl.Model.Ont> ftnOntList;
1729: List<Ia.Ftn.Cl.Model.Nokia.AgcfGatewayRecord> agcfGatewayRecordList;
1730:
1731: // below: FTN ONT list
1732: ontList = (from o in Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntList
1733: where o.Pon.PonGroup.Olt.Id == olt.Id
1734: select o).ToList();
1735:
1736: using (var db = new Ia.Ftn.Cl.Model.Db())
1737: {
1738: // below: ONT list
1739: ftnOntList = (from o in db.Onts
1740: where o.Access != null && o.Access.Olt == olt.Id
1741: select o).AsNoTracking().ToList();
1742:
1743: // below: AgcfGatewayRecord list
1744: agcfGatewayRecordList = (from a in db.AgcfGatewayRecords select a).AsNoTracking().ToList();
1745: }
1746:
1747: // below: ONTs not in AgcfGatewayRecord list
1748: ontsNotInAgcfGatewayRecordsList = (from o in ftnOntList
1749: join no in ontList on o.Id equals no.Id
1750: join a in agcfGatewayRecordList on no.Ip equals a.IP1
1751: into gj
1752: from sub in gj.DefaultIfEmpty()
1753: where sub == null
1754: select o).ToList();
1755:
1756: // below: AgcfGatewayRecords with IPs that are not in FTN ONT list
1757: agcfGatewayRecordsNoInOntsList = (from a in agcfGatewayRecordList
1758: join no in ontList on a.IP1 equals no.Ip
1759: into gj
1760: from sub in gj.DefaultIfEmpty()
1761: where sub == null
1762: select a).ToList();
1763:
1764: }
1765:
1766: ////////////////////////////////////////////////////////////////////////////
1767:
1768: /// <summary>
1769: ///
1770: /// </summary>
1771: private static List<Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint> AgcfEndpointsWithNoSubPartyReferenceList
1772: {
1773: get
1774: {
1775: List<Ia.Ftn.Cl.Model.Nokia.AgcfEndpoint> agcfEndpointList;
1776:
1777: using (var db = new Ia.Ftn.Cl.Model.Db())
1778: {
1779: agcfEndpointList = (from e in db.AgcfEndpoints
1780: join s in db.SubParties on e equals s.AgcfEndpoint
1781: into gj
1782: from u in gj.DefaultIfEmpty()
1783: where u == null
1784: select e).ToList();
1785: }
1786:
1787: return agcfEndpointList;
1788: }
1789: }
1790:
1791: ////////////////////////////////////////////////////////////////////////////
1792:
1793: /// <summary>
1794: ///
1795: /// </summary>
1796: public static List<string> ServiceProvisionedManuallyWithNonStandardHenceNotFunctionalPartyIdNames
1797: {
1798: get
1799: {
1800: List<string> list;
1801:
1802: list = new List<string>();
1803:
1804: using (var db = new Ia.Ftn.Cl.Model.Db())
1805: {
1806: // exclude 1-800 numbers and numbers without AgcfEndpoints
1807:
1808: // select Id from Subscribers where Id not like '+965________'
1809: var subscriberSubpartyIdList = (from s in db.Subscribers where !(s.Id.StartsWith("+965") && s.Id.Length == 12) && !s.Id.StartsWith("+96518") select s.SubParty.Id).ToList();
1810:
1811: // select DisplayName,PartyId from SubParties where AgcfEndpoint_Id not like 'priv____________'
1812: var subPartyIdList = (from sp in db.SubParties where !(sp.AgcfEndpoint.Id.StartsWith("priv") && sp.AgcfEndpoint.Id.Length == 16) && !sp.Id.StartsWith("+96518") && sp.AgcfEndpoint != null select sp.Id).ToList();
1813:
1814: // select PrividUser, GwId from AgcfEndpoints where Id not like 'priv____________'
1815: var agcfEndpointDnList = (from ep in db.AgcfEndpoints where !(ep.Id.StartsWith("priv") && ep.Id.Length == 16) && !ep.Dn.StartsWith("+96518") select ep.Dn).ToList();
1816:
1817: list.AddRange(subscriberSubpartyIdList);
1818: list.AddRange(subPartyIdList);
1819: list.AddRange(agcfEndpointDnList);
1820: }
1821:
1822: return list;
1823: }
1824: }
1825:
1826: ////////////////////////////////////////////////////////////////////////////
1827: ////////////////////////////////////////////////////////////////////////////
1828:
1829: /// <summary>
1830: ///
1831: /// </summary>
1832: public static List<string> AgcfGatewayRecordIp1sWithinWhichSubPartiesHaveServiceBundle2CategoryList
1833: {
1834: get
1835: {
1836: if (agcfGatewayRecordIp1sWithinWhichSubPartiesHaveServiceBundle2CategoryList == null || agcfGatewayRecordIp1sWithinWhichSubPartiesHaveServiceBundle2CategoryList.Count == 0)
1837: {
1838: lock (objectLock)
1839: {
1840: agcfGatewayRecordIp1sWithinWhichSubPartiesHaveServiceBundle2CategoryList = Ia.Ftn.Cl.Model.Data.Nokia.Ims._AgcfGatewayRecordIp1sWithinWhichSubPartiesHaveServiceBundle2CategoryList;
1841: }
1842: }
1843:
1844: return agcfGatewayRecordIp1sWithinWhichSubPartiesHaveServiceBundle2CategoryList;
1845: }
1846: }
1847:
1848: ////////////////////////////////////////////////////////////////////////////
1849:
1850: /// <summary>
1851: ///
1852: /// </summary>
1853: private static List<string> _AgcfGatewayRecordIp1sWithinWhichSubPartiesHaveServiceBundle2CategoryList
1854: {
1855: get
1856: {
1857: using (var db = new Ia.Ftn.Cl.Model.Db())
1858: {
1859: agcfGatewayRecordIp1sWithinWhichSubPartiesHaveServiceBundle2CategoryList = (from sp in db.SubParties
1860: where sp.Category == "SERVICEBUNDLE2"
1861: join e in db.AgcfEndpoints on sp.AgcfEndpoint.Id equals e.Id
1862: join gr in db.AgcfGatewayRecords on e.AgcfGatewayRecord.Id equals gr.Id
1863: select gr.IP1).Distinct().ToList();
1864:
1865: /*
1866: select distinct gr.IP1 from AgcfGatewayRecords gr
1867: left outer join AgcfEndpoints ep on ep.AgcfGatewayRecord_Id = gr.Id
1868: left outer join SubParties sp on sp.AgcfEndpoint_Id = ep.Id
1869: where sp.Category = 'SERVICEBUNDLE2'
1870: */
1871: }
1872:
1873: return agcfGatewayRecordIp1sWithinWhichSubPartiesHaveServiceBundle2CategoryList;
1874: }
1875: }
1876:
1877: ////////////////////////////////////////////////////////////////////////////
1878: ////////////////////////////////////////////////////////////////////////////
1879:
1880: /// <summary>
1881: ///
1882: /// </summary>
1883: public static List<string> AgcfGatewayRecordIp1sThatIndicateFsdb0List
1884: {
1885: get
1886: {
1887: if (agcfGatewayRecordIp1sThatIndicateFsdb0List == null || agcfGatewayRecordIp1sThatIndicateFsdb0List.Count == 0)
1888: {
1889: lock (objectLock)
1890: {
1891: agcfGatewayRecordIp1sThatIndicateFsdb0List = Ia.Ftn.Cl.Model.Data.Nokia.Ims._AgcfGatewayRecordIp1sThatIndicateFsdb0List;
1892: }
1893: }
1894:
1895: return agcfGatewayRecordIp1sThatIndicateFsdb0List;
1896: }
1897: }
1898:
1899: ////////////////////////////////////////////////////////////////////////////
1900:
1901: /// <summary>
1902: ///
1903: /// </summary>
1904: private static List<string> _AgcfGatewayRecordIp1sThatIndicateFsdb0List
1905: {
1906: get
1907: {
1908: using (var db = new Ia.Ftn.Cl.Model.Db())
1909: {
1910: agcfGatewayRecordIp1sThatIndicateFsdb0List = (from gr in db.AgcfGatewayRecords where gr.AgcfSipIaPort == "agcf-stdn.imsgroup0-000" select gr.IP1).Distinct().ToList();
1911:
1912: // select distinct IP1 from AgcfGatewayRecords where AgcfSipIaPort = 'agcf-stdn.imsgroup0-000'
1913: }
1914:
1915: return agcfGatewayRecordIp1sThatIndicateFsdb0List;
1916: }
1917: }
1918:
1919: ////////////////////////////////////////////////////////////////////////////
1920: ////////////////////////////////////////////////////////////////////////////
1921: }
1922:
1923: ////////////////////////////////////////////////////////////////////////////
1924: ////////////////////////////////////////////////////////////////////////////
1925: }
- Mouse (Ia.Cl.Model) : Windows mouse movements and properties control support class.
- Winapi (Ia.Cl.Model) : WINAPI click events support class.
- ApplicationOperator (Ia.Cl.Model) : ApplicationOperator
- Access (Ia.Ftn.Cl.Model.Business) : Access support class for Fixed Telecommunications Network (FTN) business model.
- Address (Ia.Ftn.Cl.Model.Business) : Address Framework class for Fixed Telecommunications Network (FTN) business model.
- Administration (Ia.Ftn.Cl.Model.Business) : Administration support class of Fixed Telecommunications Network (FTN) business model.
- Default (Ia.Ftn.Cl.Model.Business.Application) : Default Application network information support class for the Fixed Telecommunications Network business model
- Authority (Ia.Ftn.Cl.Model.Business) : Authority support class of Fixed Telecommunications Network (FTN) business model.
- Configuration (Ia.Ftn.Cl.Model.Business) : Configuration Framework class for Fixed Telecommunications Network (FTN) business model.
- Contact (Ia.Ftn.Cl.Model.Business) : Contact support class of Fixed Telecommunications Network (FTN) business model.
- Default (Ia.Ftn.Cl.Model.Business) : Default general support class of Fixed Telecommunications Network (FTN) business model.
- Axe (Ia.Ftn.Cl.Model.Business.Ericsson) : Ericsson AXE support class of Fixed Telecommunications Network (FTN) business model.
- Subscriber (Ia.Ftn.Cl.Model.Business.Ericsson) : AXE Subscriber support class for Fixed Telecommunications Network (FTN) business model.
- Heartbeat (Ia.Ftn.Cl.Model.Business) : Heartbeat information support class for the Fixed Telecommunications Network business model
- Asbr (Ia.Ftn.Cl.Model.Business.Huawei) : AGCF Users (ASBR) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- Board (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's Board support class of Fixed Telecommunications Network (FTN) business model.
- Default (Ia.Ftn.Cl.Model.Business.Huawei) : Defaul general support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- Dev (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's Dev support class of Fixed Telecommunications Network (FTN) business model.
- Ems (Ia.Ftn.Cl.Model.Business.Huawei) : Element Management System (EMS) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- Ims (Ia.Ftn.Cl.Model.Business.Huawei) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Huawei's Fixed Telecommunications Network (FTN) business model
- Mgw (Ia.Ftn.Cl.Model.Business.Huawei) : Media Gateway (MGW) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- Nce (Ia.Ftn.Cl.Model.Business.Huawei) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Huawei's Fixed Telecommunications Network (FTN) business model
- OntSipInfo (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's EMS ONT SIP Info support class of Fixed Telecommunications Network (FTN) business model.
- Ont (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's Ont support class of Fixed Telecommunications Network (FTN) business model.
- Onu (Ia.Ngn.Cl.Model.Business.Huawei) : Huawei's ONU support class of Next Generation Network'a (NGN's) business model.
- Owsbr (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's OwSbr Entity Framework class for Fixed Telecommunications Network (FTN) business model.
- Port (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's Port support class of Fixed Telecommunications Network (FTN) business model.
- Sbr (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's Sbr Entity Framework class for Fixed Telecommunications Network (FTN) business model.
- Seruattr (Ia.Ftn.Cl.Model.Business.Huawei) : SERUATTR Signaling Service Processing System (SPS) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- SoftX (Ia.Ftn.Cl.Model.Business.Huawei) : U2020 Northbound Interface IP (SoftX) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- Sps (Ia.Ftn.Cl.Model.Business.Huawei) : Signaling Service Processing System (SPS) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- Vag (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's EMS VAG Entity Framework class for Fixed Telecommunications Network (FTN) business model.
- VoipPstnUser (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's EMS VOIP PSTN User support class of Fixed Telecommunications Network (FTN) business model.
- Ims (Ia.Ftn.Cl.Model.Business) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Fixed Telecommunications Network (FTN) business model
- Ip (Ia.Ftn.Cl.Model.Business) : IP support class of Fixed Telecommunications Network (FTN) business model.
- Mail (Ia.Ftn.Cl.Model.Business) : Mail process support class of Fixed Telecommunications Network (FTN) business model.
- Default (Ia.Ftn.Cl.Model.Business.Maintenance) : Default maintenance network information support class for the Fixed Telecommunications Network business model
- Find (Ia.Ftn.Cl.Model.Business.Maintenance) : Find subscriber and network information support class for the Fixed Telecommunications Network business model
- Script (Ia.Ftn.Cl.Model.Business.Maintenance) : Script support class for Fixed Telecommunications Network (FTN) class library model.
- Task (Ia.Ftn.Cl.Model.Business.Maintenance) : Execute backend task support class for the Fixed Telecommunications Network business model
- DatabaseInformation (Ia.Ftn.Mdaa.Cl.Model.Business) : DatabaseInformation support class for Ministry Database Analysis Application business model.
- Default (Ia.Ftn.Cl.Model.Business.Mdaa) : Default mdaa network information support class for the Fixed Telecommunications Network business model
- MinistryDatabase (Ia.Ftn.Cl.Model.Business.Mdaa) : MinistryDatabase support class for Fixed Telecommunications Network (FTN) business model.
- TableInformation (Ia.Ftn.Mdaa.Cl.Model.Business) : TableInformation support class for Ministry Database Analysis Application business model.
- Migration (Ia.Ftn.Cl.Model.Business) : Migration support class of Fixed Telecommunications Network (FTN) business model.
- Msmq (Ia.Ftn.Cl.Model.Business) : MSMQ support class for Fixed Telecommunications Network (FTN) business model.
- NetworkDesignDocument (Ia.Ftn.Cl.Model.Business) : Network Design Document support class for Fixed Telecommunications Network (FTN) business model.
- AgcfEndpoint (Ia.Ftn.Cl.Model.Business.Nokia) : AGCF Endpoint support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- AgcfGatewayRecord (Ia.Ftn.Cl.Model.Business.Nokia) : AGCF Gateway Records support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- AgcfGatewayTable (Ia.Ftn.Cl.Model.Business.Nokia) : AGCF Gateway Table support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- AmsTransaction (Ia.Ftn.Cl.Model.Nokia.Business) : Nokia AmsTransaction Entity Framework class for Fixed Telecommunications Network (FTN) business model.
- Ams (Ia.Ftn.Cl.Model.Business.Nokia) : Access Management System (AMS) support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- Ims (Ia.Ftn.Cl.Model.Business.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- OntOntPots (Ia.Ftn.Cl.Model.Business.Nokia) : ONT-ONTPOTS support class of Fixed Telecommunications Network (FTN) Nokia business model.
- OntServiceHsi (Ia.Ngn.Cl.Model.Business.Nokia) : ONT-SERVICEHSI support class of Next Generation Network'a (NGN's) Nokia business model.
- OntServiceVoip (Ia.Ftn.Cl.Model.Business.Nokia) : ONT-SERVICEVOIP support class of Fixed Telecommunications Network (FTN) Nokia business model.
- Ont (Ia.Ftn.Cl.Model.Business.Nokia) : ONT support class of Fixed Telecommunications Network (FTN) Nokia business model.
- Sdc (Ia.Ftn.Cl.Model.Business.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- SubParty (Ia.Ftn.Cl.Model.Business.Nokia) : SubParty support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- Subscriber (Ia.Ftn.Cl.Model.Business.Nokia) : Subscriber support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- Procedure (Ia.Ftn.Cl.Model.Business) : Provision support class of Fixed Telecommunications Network (FTN) business model.
- Provision (Ia.Ftn.Cl.Model.Business) : Provision support class of Fixed Telecommunications Network (FTN) business model.
- Report (Ia.Ftn.Cl.Model.Business) : Report support class of Fixed Telecommunications Network (FTN) business model.
- Secretary (Ia.Ftn.Cl.Model.Business) : Secretary support class of Fixed Telecommunications Network (FTN) business model.
- ServiceAddress (Ia.Ftn.Cl.Model.Business) : ServiceAddress Framework class for Fixed Telecommunications Network (FTN) business model.
- ServiceRequestAdministrativeIssue (Ia.Ftn.Cl.Model.Business) : Service Request Administrative Issue support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequestHistory (Ia.Ftn.Cl.Model.Business) : Service Request History support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequestHsi (Ia.Ngn.Cl.Model.Business) : Service Request Hsi support class of Next Generation Network'a (NGN's) business model.
- ServiceRequestOntDetail (Ia.Ftn.Cl.Model.Business) : Service Request Ont Detail support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequestOnt (Ia.Ftn.Cl.Model.Business) : Service Request Ont support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequestService (Ia.Ftn.Cl.Model.Business) : Service Request Service support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequestStatisticalVariable (Ia.Ftn.Cl.Model.Business) : ServiceRequestStatisticalVariable support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequestType (Ia.Ftn.Cl.Model.Business) : Service Request Type support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequest (Ia.Ftn.Cl.Model.Business) : Service Request support class of Fixed Telecommunications Network (FTN) business model.
- ServiceSerialRequestService (Ia.Ftn.Cl.Model.Business) : Service Serial Request Service support class of Fixed Telecommunications Network (FTN) business model.
- ServiceServiceRequestOnt (Ia.Ftn.Cl.Model.Business) : ServiceServiceRequestOnt support class for Fixed Telecommunications Network (FTN) business model.
- Service (Ia.Ftn.Cl.Model.Business) : Service support class of Fixed Telecommunications Network (FTN) business model.
- Service2 (Ia.Ftn.Cl.Model.Business) : Service Entity Framework class for Fixed Telecommunications Network (FTN) business model.
- Ewsd (Ia.Ftn.Cl.Model.Business.Siemens) : Nokia's Siemens EWSD support class of Fixed Telecommunications Network (FTN) business model.
- Subscriber (Ia.Ftn.Cl.Model.Business.Siemens) : EWSD Subscriber support class for Fixed Telecommunications Network (FTN) business model.
- Transction (Ia.Ftn.Cl.Model.Business) : Transction support class of Fixed Telecommunications Network (FTN) business model.
- Axe (Ia.Ftn.Cl.Model.Client.Ericsson) : Ericsson's AXE support class for Ericsson's PSTN Exchange Migration to Fixed Telecommunications Network (FTN) client model.
- Ems (Ia.Ftn.Cl.Model.Client.Huawei) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) client support class for Huawei's Fixed Telecommunications Network (FTN) EMS client model.
- Ims (Ia.Ftn.Cl.Model.Client.Huawei) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) client support class for Huawei's Fixed Telecommunications Network (FTN) client model.
- SoftX (Ia.Ftn.Cl.Model.Client.Huawei) : U2020 Northbound Interface IP (SoftX) support class for Huawei's Fixed Telecommunications Network (FTN) client model.
- Sps (Ia.Ftn.Cl.Model.Client.Huawei) : Signaling Service Processing System (SPS) support class for Huawei's Fixed Telecommunications Network (FTN) SPS client model.
- Ams (Ia.Ftn.Cl.Model.Client.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) client support class for Nokia's Fixed Telecommunications Network (FTN) AMS client model.
- Ims (Ia.Ftn.Cl.Model.Client.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) client support class for Nokia's Fixed Telecommunications Network (FTN) client model.
- Sdc (Ia.Ftn.Cl.Model.Client.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) client support class for Nokia's Fixed Telecommunications Network (FTN) client model.
- Access (Ia.Ftn.Cl.Model.Data) : Access support class for Fixed Telecommunications Network (FTN) data model.
- Administration (Ia.Ftn.Cl.Model.Data) : Administration support class for Fixed Telecommunications Network (FTN) data model.
- Contact (Ia.Ftn.Cl.Model.Data) : Contact Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- Default (Ia.Ftn.Cl.Model.Data) : Default support class for Fixed Telecommunications Network (FTN) data model.
- Axe (Ia.Ftn.Cl.Model.Data.Ericsson) : Ericsson AXE support class of Fixed Telecommunications Network (FTN) data model.
- Subscriber (Ia.Ftn.Cl.Model.Data.Ericsson) : AXE Subscriber support class for Fixed Telecommunications Network (FTN) data model.
- Event (Ia.Ftn.Cl.Model.Data) : Nokia AMS Event support class for Fixed Telecommunications Network (FTN) data model.
- Guide (Ia.Ftn.Cl.Model.Data) : Guide support class for Fixed Telecommunications Network (FTN) data model.
- Help (Ia.Ftn.Cl.Model.Data) : Help class for Fixed Telecommunications Network (FTN) data model.
- Asbr (Ia.Ftn.Cl.Model.Data.Huawei) : AGCF Users (ASBR) support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- Board (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's Board support class of Fixed Telecommunications Network (FTN) data model.
- Default (Ia.Ftn.Cl.Model.Data.Huawei) : Defaul general support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- Dev (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's Dev support class of Fixed Telecommunications Network (FTN) data model.
- Ems (Ia.Ftn.Cl.Model.Data.Huawei) : Access Management System (AMS) support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- Ims (Ia.Ftn.Cl.Model.Data.Huawei) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Huawei's Fixed Telecommunications Network (FTN) data model
- Mgw (Ia.Ftn.Cl.Model.Data.Huawei) : Media Gateway (MGW) support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- OntSipInfo (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's EMS ONT SIP INFO support class of Fixed Telecommunications Network (FTN) data model.
- Ont (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's Ont support class of Fixed Telecommunications Network (FTN) data model.
- Onu (Ia.Ngn.Cl.Model.Data.Huawei) : Huawei ONU support class for Next Generation Network (NGN) data model.
- Owsbr (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's Owsbr Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- Port (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's Port support class of Fixed Telecommunications Network (FTN) data model.
- Sbr (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's Sbr Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- Seruattr (Ia.Ftn.Cl.Model.Data.Huawei) : SERUATTR Signaling Service Processing System (SPS) support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- SoftX (Ia.Ftn.Cl.Model.Data.Huawei) : U2020 Northbound Interface IP (SoftX) support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- Sps (Ia.Ftn.Cl.Model.Data.Huawei) : Signaling Service Processing System (SPS) support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- Vag (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's EMS VAG Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- VoipPstnUser (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's EMS VOIP PSTN User support class of Fixed Telecommunications Network (FTN) data model.
- Ims (Ia.Ftn.Cl.Model.Data) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Fixed Telecommunications Network (FTN) data model
- Mail (Ia.Ftn.Cl.Model.Data) : Mail class for Fixed Telecommunications Network (FTN) data model.
- Cache (Ia.Ngn.Cl.Model.Data.Maintenance) : Cache support class for the Next Generation Network data model
- Find (Ia.Ftn.Cl.Model.Data.Maintenance) : Find subscriber and network information support class for the Fixed Telecommunications Network data model
- MinistryDatabase (Ia.Ftn.Cl.Model.Data) : MinistryDatabase support class for Fixed Telecommunications Network (FTN) data model.
- Migration (Ia.Ftn.Cl.Model.Data) : Migration support class of Fixed Telecommunications Network (FTN) data model.
- Miscellaneous (Ia.Ftn.Cl.Model.Data) : Miscellaneous Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- Msmq (Ia.Ftn.Cl.Model.Data) : MSMQ support class for Fixed Telecommunications Network (FTN) data model.
- NetworkDesignDocument (Ia.Ftn.Cl.Model.Data) : Network Design Document support class for Fixed Telecommunications Network (FTN) data model.
- AgcfEndpoint (Ia.Ftn.Cl.Model.Data.Nokia) : AGCF Endpoint support class for Nokia data model.
- AgcfGatewayRecord (Ia.Ftn.Cl.Model.Data.Nokia) : AGCF Gateway Records support class for Nokia data model.
- AmsTransaction (Ia.Ftn.Cl.Model.Data.Nokia) : Nokia AmsTransaction Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- Ams (Ia.Ftn.Cl.Model.Data.Nokia) : Access Management System (AMS) support class for Nokia data model.
- Default (Ia.Ftn.Cl.Model.Data.Nokia) : Defaul general support class for Nokia's Fixed Telecommunications Network (FTN) data model.
- Ims (Ia.Ftn.Cl.Model.Data.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Nokia's Fixed Telecommunications Network (FTN) data model.
- OntOntPots (Ia.Ftn.Cl.Model.Data.Nokia) : ONT-ONTPOTS support class for Fixed Telecommunications Network (FTN) Nokia data model.
- OntServiceHsi (Ia.Ngn.Cl.Model.Data.Nokia) : ONT-SERVICEHSI support class for Next Generation Network (NGN) Nokia data model.
- OntServiceVoip (Ia.Ftn.Cl.Model.Data.Nokia) : ONT-SERVICEVOIP support class for Fixed Telecommunications Network (FTN) Nokia data model.
- Ont (Ia.Ftn.Cl.Model.Data.Nokia) : ONT support class for Fixed Telecommunications Network (FTN) Nokia data model.
- Sdc (Ia.Ftn.Cl.Model.Data.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Nokia's Fixed Telecommunications Network (FTN) data model.
- SubParty (Ia.Ftn.Cl.Model.Data.Nokia) : SubParty support class for Nokia's Fixed Telecommunications Network (FTN) data model.
- Subscriber (Ia.Ftn.Cl.Model.Data.Nokia) : Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- Pots (Ia.Ftn.Cl.Model.Data) : POTS legacy support class for Fixed Telecommunications Network (FTN) data model.
- Provision (Ia.Ftn.Cl.Model.Data) : Provision support class for Fixed Telecommunications Network (FTN) data model.
- ReportHistory (Ia.Ftn.Cl.Model.Data) : Report History support class for Fixed Telecommunications Network (FTN) data model.
- Report (Ia.Ftn.Cl.Model.Data) : Report support class for Fixed Telecommunications Network (FTN) data model.
- Secretary (Ia.Ftn.Cl.Model.Data) : Secretary support class of Fixed Telecommunications Network (FTN) data model.
- ServiceExemption (Ia.Ftn.Cl.Model.Data) : ServiceExemption Framework class for Fixed Telecommunications Network (FTN) data model.
- ServiceInitialState (Ia.Ngn.Cl.Model.Data) : Service Initial State Framework class for Next Generation Network (NGN) data model.
- ServiceRequestAdministrativeIssue (Ia.Ftn.Cl.Model.Data) : Service Request Administrative Issue support class for Fixed Telecommunications Network (FTN) data model.
- ServiceRequestHistory (Ia.Ftn.Cl.Model.Data) : Service Request History support class for Fixed Telecommunications Network (FTN) data model.
- ServiceRequestHsi (Ia.Ngn.Cl.Model.Data) : Service Request Hsi support class for Next Generation Network (NGN) data model.
- ServiceRequestOntDetail (Ia.Ftn.Cl.Model.Data) : Service Request Ont Detail support class for Fixed Telecommunications Network (FTN) data model.
- ServiceRequestOnt (Ia.Ftn.Cl.Model.Data) : Service Request Ont support class for Fixed Telecommunications Network (FTN) data model.
- ServiceRequestService (Ia.Ftn.Cl.Model.Data) : Service Request Service support class for Fixed Telecommunications Network (FTN) data model.
- ServiceRequestType (Ia.Ftn.Cl.Model.Data) : Service Request Type support class for Fixed Telecommunications Network (FTN) data model.
- ServiceRequest (Ia.Ftn.Cl.Model.Data) : Service Request support class for Fixed Telecommunications Network (FTN) data model.
- Service (Ia.Ftn.Cl.Model.Data) : Service support class for Fixed Telecommunications Network (FTN) data model.
- Service2 (Ia.Ftn.Cl.Model.Data) : Service support class for Fixed Telecommunications Network (FTN) data model.
- Ewsd (Ia.Ftn.Cl.Model.Data.Siemens) : Nokia's Siemens EWSD support class of Fixed Telecommunications Network (FTN) data model.
- Subscriber (Ia.Ftn.Cl.Model.Data.Siemens) : EWSD Subscriber support class for Fixed Telecommunications Network (FTN) data model.
- Staff (Ia.Ftn.Cl.Model.Data) : Staff support class for Fixed Telecommunications Network (FTN) data model.
- Transaction (Ia.Ftn.Cl.Model.Data) : Transaction support class for Fixed Telecommunications Network (FTN) data model.
- Access (Ia.Ftn.Cl.Model) : Access Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Contact (Ia.Ftn.Cl.Model) : Contact Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- AxeSubscriber (Ia.Ftn.Cl.Model.Ericsson) : AXE Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Event (Ia.Ftn.Cl.Model) : Event Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Asbr (Ia.Ftn.Cl.Model.Huawei) : Huawei's AGCF Users (ASBR) Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- EmsBoard (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS Board Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- EmsDev (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS Dev Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Mgw (Ia.Ftn.Cl.Model.Huawei) : Huawei's Media Gateway (MGW) Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Msan (Ia.Ngn.Cl.Model.Huawei) : Huawei's Msan Entity Framework class for Next Generation Network (NGN) entity model.
- EmsOntSipInfo (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS ONT SIP INFO Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- EmsOnt (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS Ont Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Onu (Ia.Ngn.Cl.Model.Huawei) : Huawei's ONU Entity Framework class for Next Generation Network (NGN) entity model.
- Owsbr (Ia.Ftn.Cl.Model.Huawei) : Huawei's Owsbr Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- EmsPort (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS Port Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Sbr (Ia.Ftn.Cl.Model.Huawei) : Huawei's Sbr Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Seruattr (Ia.Ftn.Cl.Model.Huawei) : SERUATTR Signaling Service Processing System (SPS) support class for Huawei's Fixed Telecommunications Network (FTN) entity model.
- EmsVag (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS VAG Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- EmsVoipPstnUser (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS VOIP PSTN User Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Inventory (Ia.Ftn.Cl.Model) : Inventory Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- LogicalCircuit (Ia.Ngn.Cl.Model) : Logical-Circuit Entity Framework class for Next Generation Network (NGN) entity model.
- Miscellaneous (Ia.Ftn.Cl.Model) : Miscellaneous Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- NddPon (Ia.Ngn.Cl.Model.NetworkDesignDocument) : Network Design Document support class for Next Generation Network (NGN) entity model.
- AgcfEndpoint (Ia.Ftn.Cl.Model.Nokia) : AGCF Endpoint Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- AgcfGatewayRecord (Ia.Ftn.Cl.Model.Nokia) : AGCF Gateway Record Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- AlInitialInstallation (Ia.Ngn.Cl.Model.AlcatelLucent) : Alcatel-Lucent Initial Installation Entity Framework class for Next Generation Network (NGN) entity model.
- AmsTransaction (Ia.Ftn.Cl.Model.Nokia) : Nokia AmsTransaction Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- SubParty (Ia.Ftn.Cl.Model.Nokia) : SubParty Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Subscriber (Ia.Ftn.Cl.Model.Nokia) : Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- OntOntPots (Ia.Ftn.Cl.Model) : ONT-ONTPOTS Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- OntServiceHsi (Ia.Ngn.Cl.Model) : ONT-SERVICEHSI Entity Framework class for Next Generation Network (NGN) entity model.
- OntServiceVoip (Ia.Ftn.Cl.Model) : ONT-SERVICEVOIP Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Ont (Ia.Ftn.Cl.Model) : ONT Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ReportHistory (Ia.Ftn.Cl.Model) : Report History Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Report (Ia.Ftn.Cl.Model) : Report Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceExemption (Ia.Ftn.Cl.Model) : ServiceExemption Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceInitialState (Ia.Ngn.Cl.Model) : Service Initial State Entity Framework class for Next Generation Network (NGN) entity model.
- ServiceRequestAdministrativeIssue (Ia.Ftn.Cl.Model) : Service Request Administrative Issue Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceRequestHistory (Ia.Ftn.Cl.Model) : Service Request History Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceRequestHsi (Ia.Ngn.Cl.Model) : Service Request Hsi Entity Framework class for Next Generation Network (NGN) entity model.
- ServiceRequestOntDetail (Ia.Ftn.Cl.Model) : Service Request Ont Detail Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceRequestOnt (Ia.Ftn.Cl.Model) : Service Request Ont Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceRequestService (Ia.Ftn.Cl.Model) : Service Request Service Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceRequestType (Ia.Ftn.Cl.Model) : Service Request Type Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceRequest (Ia.Ftn.Cl.Model) : Service Request Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Service2 (Ia.Ftn.Cl.Model) : Service Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- EwsdSubscriber (Ia.Ftn.Cl.Model.Siemens) : EWSD Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Staff (Ia.Ftn.Cl.Model) : Staff Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Transaction (Ia.Ftn.Cl.Model) : Transaction Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Chat (Ia.Ftn.Cl.Model.Telegram) : Telegram Chat/Group/User support class of Fixed Telecommunications Network (FTN) business and data model.
- Access (Ia.Ftn.Cl.Model.Ui) : Access support class for Fixed Telecommunications Network (FTN) ui model.
- Default (Ia.Ftn.Cl.Model.Ui.Administration) : Administration support class for Fixed Telecommunications Network (FTN) ui model.
- Framework (Ia.Ftn.Cl.Model.Ui.Administration) : Network Design Document support class for Fixed Telecommunications Network (FTN) UI model.
- Default (Ia.Ftn.Cl.Model.Ui) : Default support class for Fixed Telecommunications Network (FTN) ui model.
- Subscriber (Ia.Ftn.Cl.Model.Ui.Ericsson) : AXE Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- EmsOnt (Ia.Ftn.Cl.Model.Ui.Huawei) : Huawei's EMS Ont Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- Sbr (Ia.Ftn.Cl.Model.Ui.Huawei) : Huawei's Sbr Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- InventoryForDataGridView (Ia.Ftn.Cl.Model.Ui) : Inventory For DataGridView support class for Fixed Telecommunications Network (FTN) ui model.
- Mail (Ia.Ftn.Cl.Model.Ui) : Mail process support class of Fixed Telecommunications Network (FTN) UI model.
- AccessFamilyTypeAreaBlock (Ia.Ftn.Cl.Model.Ui.Maintenance) : Maintenance support class for Fixed Telecommunications Network (FTN) ui model.
- Find (Ia.Ftn.Cl.Model.Ui.Maintenance) : Find subscriber and network information support class for the Fixed Telecommunications Network ui model
- Ams (Ia.Ftn.Cl.Model.Ui.Maintenance.Transaction) : Ams support class for Fixed Telecommunications Network (FTN) ui model.
- Default (Ia.Ftn.Cl.Model.Ui.Maintenance.Report) : Maintenance Report data support class for the Fixed Telecommunications Network ui model
- NetworkDesignDocument (Ia.Ftn.Cl.Model.Ui) : Network Design Document support class for Fixed Telecommunications Network (FTN) UI model.
- AgcfEndpoint (Ia.Ftn.Cl.Model.Ui.Nokia) : AGCF Endpoint Entity Framework class for Fixed Telecommunications Network (FTN) ui model.
- AgcfGatewayRecord (Ia.Ftn.Cl.Model.Ui.Nokia) : AGCF Gateway Record Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- SubParty (Ia.Ftn.Cl.Model.Ui.Nokia) : SubParty Entity Framework class for Fixed Telecommunications Network (FTN) ui model.
- Subscriber (Ia.Ftn.Cl.Model.Ui.Nokia) : Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) ui model.
- Performance (Ia.Ftn.Cl.Model.Ui) : Performance support class for Fixed Telecommunications Network (FTN) ui model.
- Access (Ia.Ftn.Cl.Model.Ui.Provision) : Access support class for Fixed Telecommunications Network (FTN) ui model.
- ReportAccessServiceRequest (Ia.Ftn.Cl.Model.Ui) : Report Access Service Request support class for Fixed Telecommunications Network (FTN) ui model.
- Report (Ia.Ftn.Cl.Model.Ui) : Report support class for Fixed Telecommunications Network (FTN) ui model.
- ServiceAccessFlatTermId (Ia.Ftn.Cl.Model.Ui) : ServiceAccessFlatTermId support class for Fixed Telecommunications Network (FTN) ui model.
- ServiceCustomerAddressAccessStatisticalAccessName (Ia.Ftn.Cl.Model.Ui) : ServiceRequest ServiceRequestService Access Statistic support class for Fixed Telecommunications Network (FTN) ui model.
- ServiceRequestAdministrativeIssue (Ia.Ftn.Cl.Model.Ui) : Service Request Administrative Issue Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- ServiceRequestService (Ia.Ftn.Cl.Model.Ui) : Service Request Service Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- Service2 (Ia.Ftn.Cl.Model.Ui) : Service class for Fixed Telecommunications Network (FTN) UI model.
- Subscriber (Ia.Ftn.Cl.Model.Ui.Siemens) : EWSD Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- Text (Ia.Ftn.Cl.Model.Ui) : Text support class for Fixed Telecommunications Network (FTN) ui model.
- Administration (Ia.Ftn.Wa.Model.Business) : Administration support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- Contact (Ia.Ftn.Wa.Model.Business) : Contact support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- Default (Ia.Ftn.Wa.Model.Business) : Administration support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- Script (Ia.Ftn.Wa.Model.Business.Maintenance) : Script support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- AccessController (Ia.Ngn.Ofn.Wa.Api.Model.Controller) : Access API Controller class of Optical Fiber Network (OFN) model.
- EncryptionController (Ia.Ngn.Ofn.Wa.Api.Controller.Cryptography) : Cryptography, Encryption Controller
- Default2Controller (Ia.Ftn.Wa.Api.Model.Controller) : Default API Controller class of Optical Fiber Network (OFN) model.
- MaintenanceController (Ia.Ngn.Ofn.Wa.Api.Model.Controller) : Maintenance API Controller class of Optical Fiber Network (OFN) model.
- ServiceRequestAdministrativeIssueController (Ia.Ngn.Ofn.Wa.Api.Model.Controller) : Service Request Administrative Issue API Controller class of Optical Fiber Network (OFN) model.
- ServiceRequestTypeController (Ia.Ngn.Ofn.Wa.Api.Model.Controller) : Service Request Type API Controller class of Optical Fiber Network (OFN) model.
- ServiceRequestController (Ia.Ngn.Ofn.Wa.Api.Model.Controller) : Service Request API Controller class of Optical Fiber Network (OFN) model.
- ServiceController (Ia.Ngn.Ofn.Wa.Api.Model.Controller) : Service API Controller class of Optical Fiber Network (OFN) model.
- Administration (Ia.Ftn.Wa.Model.Data) : Administration support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- Script (Ia.Ftn.Wa.Model.Data) : Script support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- Default (Ia.Ftn.Wa.Model.Ui) : Default support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- Mouse (Ia.Cl.Model) : Windows mouse movements and properties control support class.
- Winapi (Ia.Cl.Model) : WINAPI click events support class.
- Agent (Ia.Cl.Model) : Agent model
- ApplicationConfiguration (Ia.Cl.Model) : Webhook API Controller class.
- Authentication (Ia.Cl.Model) : Manage and verify user logging and passwords. The administrator will define the user's password and logging website. The service will issue a true of false according to authentication.
- Storage (Ia.Cl.Models.Azure) : Azure Cloud related support functions.
- Default (Ia.Cl.Models.Business.Nfc) : Default NFC Near-Field Communication (NFC) Support Business functions
- Inventory (Ia.Cl.Models.Business.Nfc) : Inventory NFC Near-Field Communication (NFC) Support Business functions
- Tag (Ia.Cl.Models.Business.Nfc) : TAG NFC Near-Field Communication (NFC) Support Business functions
- Country (Ia.Cl.Model) : Country geographic coordinates and standard UN naming conventions.
- Germany (Ia.Cl.Model) : German cities and states.
- Kuwait (Ia.Cl.Model) : Kuwait provinces, cities, and areas.
- SaudiArabia (Ia.Cl.Model) : Saudi Arabia provinces, cities, and areas.
- Encryption (Ia.Cl.Models.Cryptography) : Symmetric Key Algorithm (Rijndael/AES) to encrypt and decrypt data.
- Default (Ia.Cl.Models.Data) : Support class for data model
- Default (Ia.Cl.Models.Data.Nfc) : Default NFC Near-Field Communication (NFC) Support Data functions
- Inventory (Ia.Cl.Models.Data.Nfc) : Inventory NFC Near-Field Communication (NFC) Support Data functions
- Project (Ia.Cl.Models.Nfc.Data) : Project Support class for NFC data model
- Tag (Ia.Cl.Models.Data.Nfc) : TAG NFC Near-Field Communication (NFC) Support Data functions
- Default (Ia.Cl.Models.Db) : Database support class.
- Msmq (Ia.Cl.Models.Db) : MSMQ Database support class. This handles storing and retrieving MSMQ storage.
- MySql (Ia.Model.Db) : MySQL supporting class.
- Object (Ia.Cl.Models.Db) : Object entity class
- Odbc (Ia.Cl.Models.Db) : ODBC support class.
- OleDb (Ia.Cl.Models.Db) : OLEDB support class
- Oracle (Ia.Cl.Models.Db) : Oracle support class.
- Sqlite (Ia.Cl.Models.Db) : SQLite support class.
- SqlServer (Ia.Cl.Models.Db) : SQL Server support class.
- SqlServerCe (Ia.Cs.Db) : SQL Server CE support class.
- Temp (Ia.Cl.Models.Db) : Temporary Storage support class.
- Text (Ia.Cl.Models.Db) : Text Database support class. This handles storing and retrieving text storage.
- Xml (Ia.Cl.Models.Db) : XML Database support class. This handles storing and retrieving XDocument storage.
- Default (Ia.Cl.Model) : General use static class of common functions used by most applications.
- Gv (Ia.Model.Design) : ASP.NET design related support class.
- Enumeration () : Enumeration class. Extends enumeration to class like behaviour.
- Extention () : Extention methods for different class objects.
- File (Ia.Cl.Model) : File manipulation related support class.
- Ftp (Ia.Cl.Model) : A wrapper class for .NET 2.0 FTP
- Location (Ia.Cl.Models.Geography) : Geographic location related function, location, coordinates (latitude, longitude), bearing, degree and radian conversions, CMap value for resolution, and country geographic info-IP from MaxMind.
- GeoIp (Ia.Cl.Model) : GeoIp class of Internet Application project model.
- Gmail (Ia.Cl.Model) : Gmail API support class
- StaticMap (Ia.Cl.Models.Google) : Google support class.
- Drive (Ia.Cl.Models.Google) : Google Drive Directory and File support class.
- Heartbeat (Ia.Cl.Model) : Heartbeat class.
- Hijri (Ia.Cl.Model) : Hijri date handler class.
- HtmlHelper (Ia.Cl.Model) : HtmlHelper for ASP.Net Core.
- Html (Ia.Cl.Model) : Handle HTML encoding, decoding functions.
- Http (Ia.Cl.Model) : Contains functions that relate to posting and receiving data from remote Internet/Intranet pages
- Identity (Ia.Cl.Model) : ASP.NET Identity support class.
- Image (Ia.Cl.Model) : Image processing support class.
- Imap (Ia.Cl.Model) : IMAP support class.
- Language (Ia.Cl.Model) : Language related support class including langauge list and codes.
- Individual (Ia.Cl.Models.Life) : Individual object.
- Main (Ia.Cl.Models.Life) : General base class for life entities. Make it link through delegates to create and update database objects.
- Log (Ia.Cl.Model) : Log file support class.
- Mouse (Ia.Cl.Model) : Windows mouse movements and properties control support class.
- Msmq (Ia.Cl.Model) : MSMQ (Microsoft Message Queuing) Support class.
- Newspaper (Ia.Cl.Model) : Newspaper and publication display format support class.
- Inventory (Ia.Cl.Models.Nfc) : Inventory NFC Near-Field Communication (NFC) Support Entity functions
- Tag (Ia.Cl.Models.Nfc) : TAG NFC Near-Field Communication (NFC) Support Entity functions
- Ocr (Ia.Cl.Model) : Handles OCR operations.
- Packet (Ia.Cl.Model) : Packet model
- PrayerTime (Ia.Cl.Model) : Prayer times support class.
- Punycode (Ia.Cl.Model) : Punycode support class.
- QrCode (Ia.Cl.Model) : QR Code support class.
- Result (Ia.Cl.Model) : Result support class.
- Seo (Ia.Cl.Model) : Search Engine Optimization (SEO) support class.
- DynamicSiteMapProvider () : Sitemap support class.
- Sms (Ia.Cl.Model) : SMS API service support class. Handles sending and recieving SMS messages through the ClickATell.com SMS API Service gateway. Requires subscription.
- Smtp (Ia.Cl.Model) : SMTP send mail server suppot class.
- Socket (Ia.Cl.Model) : Search Engine Optimization (SEO) support class.
- Sound (Ia.Cl.Model) : Sound support class.
- Stopwatch (Ia.Cl.Model) : Stopwatch model
- TagHelper (Ia.Cl.Models.T) : TagHelper for ASP.Net Core.
- Telnet (Ia.Cl.Model) : Telnet communication support class.
- Trace (Ia.Cl.Model) : Trace function to try to identifiy a user using IP addresses, cookies, and session states.
- Default (Ia.Cl.Models.Ui) : Default support UI class
- Upload (Ia.Cl.Model) : Handle file uploading functions.
- Utf8 (Ia.Cl.Model) : Handle UTF8 issues.
- Weather (Ia.Cl.Model) : Weather class
- Winapi (Ia.Cl.Model) : WINAPI click events support class.
- Word (Ia.Cl.Model) : Word object.
- Twitter (Ia.Cl.Model) : Twitter API support class.
- Xml (Ia.Cl.Model) : XML support class.
- Zip (Ia.Cl.Model) : Zip
- Business (Ia.Islamic.Koran.Belief.Model) : Koran Reference Network support functions: Business model
- Default (Ia.Islamic.Cl.Model.Business) : Koran Reference Network Class Library support functions: Business model
- PrayerTime (Ia.Islamic.Koran.Cl.Model.Business) : Prayer Time Business class of Islamic Koran Reference Network project model.
- Word (Ia.Islamic.Cl.Model.Business) : Koran Reference Network Class Library support functions: business model
- DefaultController (Ia.Ngn.Cl.Model.Api.Controller) : Service Suspension API Controller class of Next Generation Network'a (NGN's) model.
- KoranController (Ia.Islamic.Koran.Cl.Model.Api.Controller) : Koran API Controller class of Islamic Koran Reference Network project model.
- PrayerTimeController (Ia.Islamic.Koran.Cl.Model.Api.Controller) : Prayer Time API Controller class of Islamic Koran Reference Network project model.
- Chapter (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: data model
- Default (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: Data model
- Koran (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: data model
- VerseTopic (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: data model
- Verse (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: data model
- Koran (Ia.Islamic.Cl.Model.Context) : Koran Reference Network Data Context
- Ef (Ia.Cl.Model) : Entity Framework support function
- Chapter (Ia.Islamic.Cl.Model) : Chapter Koran Reference Network Class Library support functions: Entity model
- Koran (Ia.Islamic.Cl.Model) : Koran Koran Reference Network Class Library support functions: Entity model
- VerseTopic (Ia.Islamic.Cl.Model) : VerseTopic Koran Reference Network Class Library support functions: Entity model
- Verse (Ia.Islamic.Cl.Model) : Verse Koran Reference Network Class Library support functions: Entity model
- WordVerse (Ia.Islamic.Cl.Model) : WordVerse Koran Reference Network Class Library support functions: Entity model
- Word (Ia.Islamic.Cl.Model) : Word Koran Reference Network Class Library support functions: Entity model
- Translation (Ia.Islamic.Cl.Model) : Koran Reference Network Class Library support functions: Data model
- VerseTopicUi (Ia.Islamic.Cl.Model.Ui) : Koran Reference Network Class Library support functions: UI model
- Default (Ia.Islamic.Koran.Wa.Model.Ui) : Koran Reference Network Class Library support functions: UI model
- Default (Ia.Islamic.Koran.Wfa.Model.Business) : Koran Reference Network Windows Form support functions: Business model
- Preparation (Ia.Islamic.Koran.Wfa.Model.Business) : Koran Reference Network Windows Form support functions: Business model
- Default (Ia.Islamic.Koran.Wfa.Model.Data) : Koran Reference Network Windows Form support functions: Data model
- Kanji (Ia.Learning.Cl.Model.Business) : Kanji business support class
- Kanji (Ia.Learning.Cl.Model.Data) : Kanji support class
- Default (Ia.Learning.Cl.Model) : Default data support functions
- MoeBook (Ia.Learning.Cl.Model) : Ministry of Education Books support class for Learning data model.
- Business (Ia.Learning.Kafiya.Model) : Default business support class.
- Data (Ia.Learning.Kafiya.Model) : Default data support class.
- Default (Ia.Learning.Kanji.Model.Business) : Default business support class.
- Default (Ia.Learning.Kanji.Model.Ui) : Default UI support class.
- Newspaper (Ia.Cl.Model) : Newspaper and publication display format support class.
- Default (Ia.Statistics.Cl.Model.Boutiqaat) : Structure of the boutiqaat.com website.
- Default (Ia.Statistics.Cl.Model.Dabdoob) : Structure of the dabdoob.com website.
- Default (Ia.Statistics.Cl.Model.EnglishBookshop) : Structure of the theenglishbookshop.com website.
- Default (Ia.Statistics.Cl.Model.FantasyWorldToys) : Structure of the fantasyworldtoys.com website.
- Default (Ia.Statistics.Cl.Model.HsBookstore) : Structure of the hsbookstore.com website.
- Default (Ia.Statistics.Cl.Model.LuluHypermarket) : Structure of the lulutypermarket.com website.
- Default (Ia.Statistics.Cl.Model.Natureland) : Structure of the natureland.net website.
- Site (Ia.Statistics.Cl.Model) : Site support class for Optical Fiber Network (OFN) data model.
- Default (Ia.Statistics.Cl.Model.SultanCenter) : Structure of the sultan-center.com website.
- Default (Ia.Statistics.Cl.Model.Taw9eel) : Structure of the taw9eel.com website.
- Default (Ia.TentPlay.Cl.Model.Business) : Support class for TentPlay business model
- Default (Ia.TentPlay.Cl.Model.Business.Trek) : Support class for TentPlay Trek business model
- FeatureClassDistanceToCapital (Ia.TentPlay.Cl.Model.Business.Trek) : FeatureClassDistanceToCapital Support class for TentPlay business model
- FeatureClass (Ia.TentPlay.Cl.Model.Business.Trek) : FeatureClass Support class for TentPlay Trek business model
- FeatureDesignation (Ia.TentPlay.Cl.Model.Business.Trek) : FeatureClass Support class for TentPlay Trek business model
- FeatureName (Ia.TentPlay.Cl.Model.Business.Trek) : Support class for TentPlay Trek business model
- Feature (Ia.TentPlay.Cl.Model.Business.Trek) : Feature class for TentPlay Trek business model
- CompanyInformation (Ia.TentPlay.Cl.Model.Data) : CompanyInformation Support class for TentPlay data model
- Default (Ia.TentPlay.Cl.Model.Data) : Support class for TentPlay data model
- ApplicationInformation (Ia.TentPlay.Cl.Model.Data.Trek) : ApplicationInformation Support class for TentPlay Trek data model
- Default (Ia.TentPlay.Cl.Model.Data.Trek) : Default class for TentPlay Trek data model
- FeatureClass (Ia.TentPlay.Cl.Model.Data.Trek) : FeatureClass Support class for TentPlay Trek business model
- FeatureDesignation (Ia.TentPlay.Cl.Model.Data.Trek) : FeatureDesignation Support class for TentPlay Trek data model
- Feature (Ia.TentPlay.Cl.Model.Data.Trek) : Feature Support class for TentPlay entity data
- NgaCountryWaypoint (Ia.TentPlay.Waypoint.Cl.Model.Data) : NgaCountryWaypoint Support class for TentPlay Waypoint entity data
- Score (Ia.TentPlay.Cl.Model.Memorise) : Score entity functions
- FeatureDesignation (Ia.TentPlay.Cl.Model.Trek) : FeatureDesignation Support class for TentPlay Trek entity model
- Feature (Ia.TentPlay.Cl.Model.Trek) : Feature Support class for TentPlay entity model
- ApplicationInformation (Ia.TentPlay.Cl.Model.Memorise) : ApplicationInformation Support class for TentPlay Memorise model
- Default (Ia.TentPlay.Cl.Model.Memorise) : Default class for TentPlay Memorise data model
- German (Ia.TentPlay.Cl.Model.Memorise) : German class
- Kana (Ia.TentPlay.Cl.Model.Memorise) : Kana class
- Kanji (Ia.TentPlay.Cl.Model.Memorise) : Kanji class
- Math (Ia.TentPlay.Cl.Model.Memorise) : Math Class
- MorseCode (Ia.TentPlay.Cl.Model.Memorise) : Morse code class
- PhoneticAlphabet (Ia.TentPlay.Cl.Model.Memorise) : Phonetic Alphabet
- Russian (Ia.TentPlay.Cl.Model.Memorise) : Russian class
- Test (Ia.TentPlay.Cl.Model.Memorise) : Test Class
- Default (Ia.TentPlay.Cl.Model.Ui.Trek) : Default class for TentPlay Trek UI model