Public general use code classes and xml files that we've compiled and used over the years:
Administration support class for Fixed Telecommunications Network (FTN) data model.
1: using Microsoft.AspNet.Identity.EntityFramework;
2: using System;
3: using System.Collections.Generic;
4: using System.Configuration;
5: using System.Data;
6: using System.Globalization;
7: using System.IO;
8: using System.Linq;
9: using System.Reflection;
10: using System.Web;
11: using System.Web.Security;
12: using System.Xml.Linq;
13:
14: namespace Ia.Ftn.Cl.Model.Data
15: {
16: ////////////////////////////////////////////////////////////////////////////
17:
18: /// <summary publish="true">
19: /// Administration support class for Fixed Telecommunications Network (FTN) data model.
20: /// </summary>
21: ///
22: /// <remarks>
23: /// Copyright © 2006-2021 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
24: ///
25: /// 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
26: /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
27: ///
28: /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
29: /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
30: ///
31: /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
32: ///
33: /// Copyright notice: This notice may not be removed or altered from any source distribution.
34: /// </remarks>
35: public class Administration
36: {
37: private static XDocument xDocument;
38: private static List<Ia.Ftn.Cl.Model.Business.Administration.Framework> frameworkList;
39: private static List<Ia.Ftn.Cl.Model.Business.Administration.Category> categoryList;
40: private static List<Ia.Ftn.Cl.Model.Business.Administration.StaffFramework> staffFrameworkList;
41: private static List<Ia.Ftn.Cl.Model.Business.Administration.StaffContact> staffContactList;
42: private static List<Ia.Ftn.Cl.Model.Business.Administration.Statistic.KuwaitArea> statisticList;
43:
44: private static readonly object objectLock = new object();
45:
46: /// <summary/>
47: public static string ApplicationRoleName { get { return ConfigurationManager.AppSettings["applicationRoleName"].ToString(); } }
48:
49: /// <summary/>
50: public static string ApplicationUserName { get { return ConfigurationManager.AppSettings["applicationUserName"].ToString(); } }
51:
52: /// <summary/>
53: public static string ApplicationUserPassword { get { return ConfigurationManager.AppSettings["applicationUserPassword"].ToString(); } }
54:
55: /// <summary/>
56: public static string ApplicationUserEmail { get { return ConfigurationManager.AppSettings["applicationUserEmail"].ToString(); } }
57:
58:
59: /// <summary/>
60: public static string ApplicationArabicFirstName = "جاسم";
61:
62: /// <summary/>
63: public static string ApplicationArabicMiddleName = "يعقوب";
64:
65: /// <summary/>
66: public static string ApplicationArabicLastName = "الشملان";
67:
68:
69: ////////////////////////////////////////////////////////////////////////////
70:
71: /// <summary>
72: ///
73: /// </summary>
74: public Administration() { }
75:
76: ////////////////////////////////////////////////////////////////////////////
77:
78: /// <summary>
79: ///
80: /// </summary>
81: public static List<Ia.Ftn.Cl.Model.Business.Administration.Framework> FrameworkList
82: {
83: get
84: {
85: if (frameworkList == null || frameworkList.Count == 0)
86: {
87: lock (objectLock)
88: {
89: frameworkList = Ia.Ftn.Cl.Model.Data.Administration._FrameworkList();
90: }
91: }
92:
93: return frameworkList;
94: }
95: }
96:
97: ////////////////////////////////////////////////////////////////////////////
98:
99: /// <summary>
100: ///
101: /// </summary>
102: private static List<Ia.Ftn.Cl.Model.Business.Administration.Framework> _FrameworkList()
103: {
104: int i;
105: string id, parentId;
106: string arabicName, coloredArabicName, siteNameList;
107: Ia.Ftn.Cl.Model.Business.Administration.Framework framework;
108:
109: var frameworkList = new List<Ia.Ftn.Cl.Model.Business.Administration.Framework>(Ia.Ftn.Cl.Model.Business.Administration.InitialFrameworkListLength); // needed to prevent errors
110:
111: var lightBackgroundColorList = Ia.Ftn.Cl.Model.Ui.Default.LightBackgroundColorList;
112:
113: foreach (XElement xe in XDocument.Element("administration").Element("frameworkList").Descendants("framework"))
114: {
115: id = XmlBasedTwoDigitPerId(xe);
116: parentId = Ia.Ftn.Cl.Model.Business.Administration.Framework.ParentId(id);
117: arabicName = xe.Attribute("arabicName").Value;
118:
119: i = int.Parse(id);
120:
121: coloredArabicName = @"<span style=""color:" + lightBackgroundColorList[i % lightBackgroundColorList.Count] + @""">" + arabicName + "</span>";
122:
123: framework = new Ia.Ftn.Cl.Model.Business.Administration.Framework();
124:
125: framework.Id = id;
126: framework.Level = xe.Ancestors().Count();
127: framework.Type = xe.Attribute("type").Value;
128: framework.Name = xe.Attribute("name").Value;
129: framework.ArabicName = arabicName;
130:
131: if (xe.Attribute("phone") != null && !string.IsNullOrEmpty(xe.Attribute("phone").Value)) framework.Phone = xe.Attribute("phone").Value;
132: else framework.Phone = string.Empty;
133:
134: framework.ColoredArabicName = coloredArabicName;
135:
136: if (xe.Attribute("siteNameList") != null && !string.IsNullOrEmpty(xe.Attribute("siteNameList").Value))
137: {
138: siteNameList = xe.Attribute("siteNameList").Value;
139: framework.Sites = (from s in Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.SiteList where siteNameList.Contains(s.Name) select s).ToList();
140: }
141: else if (xe.Parent.Attribute("siteNameList") != null && !string.IsNullOrEmpty(xe.Parent.Attribute("siteNameList").Value))
142: {
143: siteNameList = xe.Parent.Attribute("siteNameList").Value;
144: framework.Sites = (from s in Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.SiteList where siteNameList.Contains(s.Name) select s).ToList();
145: }
146: else framework.Sites = new List<Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Site>();
147:
148: frameworkList.Add(framework);
149: }
150:
151: // Parents, authorities and children
152: foreach (Ia.Ftn.Cl.Model.Business.Administration.Framework f in frameworkList)
153: {
154: parentId = Ia.Ftn.Cl.Model.Business.Administration.Framework.ParentId(f.Id);
155:
156: f.Parent = (from _f in frameworkList where _f.Id == parentId select _f).SingleOrDefault();
157:
158: f.Children = new List<Ia.Ftn.Cl.Model.Business.Administration.Framework>();
159:
160: if (f.Parent != null) f.Parent.Children.Add(f);
161: }
162:
163: // Children or self
164: foreach (var f in frameworkList)
165: {
166: f.ChildrenOrSelf = (from _f in frameworkList where _f.Id == f.Id select _f).Union(f.Children).ToList();
167: }
168:
169: // Siblings
170: foreach (var f in frameworkList.ToList())
171: {
172: //f.Siblings = new List<Ia.Ftn.Cl.Model.Business.Administration.Framework>();
173:
174: f.Siblings = (from _f in frameworkList where _f.Parent == f.Parent && _f.Id != f.Id select _f).ToList();
175:
176: f.SiblingsOrSelf = (from _f in frameworkList where _f.Id == f.Id select _f).Union(f.Siblings).ToList();
177: }
178:
179: // Descendants
180: foreach (var f in frameworkList.ToList())
181: {
182: //f.Descendants = new List<Ia.Ftn.Cl.Model.Business.Administration.Framework>();
183:
184: f.Descendants = (from _f in frameworkList
185: where _f.Id != f.Id && //_f.Id > f.Id &&
186: (_f.Parent != null && (_f.Parent == f
187: || _f.Parent.Parent != null && (_f.Parent.Parent == f
188: || _f.Parent.Parent.Parent != null && (_f.Parent.Parent.Parent == f
189: || _f.Parent.Parent.Parent.Parent != null && _f.Parent.Parent.Parent.Parent == f)))
190: )
191: select _f).ToList();
192:
193: f.DescendantsOrSelf = (from _f in frameworkList where _f.Id == f.Id select _f).Union(f.Descendants).ToList();
194: }
195:
196: // Ancestors
197: foreach (var f in frameworkList.ToList())
198: {
199: //f.Ancestors = new List<Ia.Ftn.Cl.Model.Business.Administration.Framework>();
200:
201: f.Ancestors = (from _f in frameworkList
202: where _f.Id != f.Id && //_f.Id < f.Id &&
203: (f.Parent != null && (f.Parent == _f
204: || f.Parent.Parent != null && (f.Parent.Parent == _f
205: || f.Parent.Parent.Parent != null && (f.Parent.Parent.Parent == _f
206: || f.Parent.Parent.Parent.Parent != null && f.Parent.Parent.Parent.Parent == _f)))
207: )
208: select _f).ToList();
209:
210: f.AncestorsOrSelf = (from _f in frameworkList where _f.Id == f.Id select _f).Union(f.Ancestors).ToList();
211: }
212:
213: return frameworkList.ToList();
214: }
215:
216: ////////////////////////////////////////////////////////////////////////////
217:
218: /// <summary>
219: ///
220: /// </summary>
221: private static string XmlBasedOneDigitPerId(XElement xeIn)
222: {
223: return XmlBasedId(xeIn, 1);
224: }
225:
226: ////////////////////////////////////////////////////////////////////////////
227:
228: /// <summary>
229: ///
230: /// </summary>
231: private static string XmlBasedTwoDigitPerId(XElement xeIn)
232: {
233: return XmlBasedId(xeIn, 2);
234: }
235:
236: ////////////////////////////////////////////////////////////////////////////
237:
238: /// <summary>
239: ///
240: /// </summary>
241: private static string XmlBasedId(XElement xe, int digit)
242: {
243: string id;
244:
245: id = string.Empty;
246:
247: while (xe.HasAttributes && xe.Attribute("id") != null)
248: {
249: id = xe.Attribute("id").Value.PadLeft(digit, '0') + id;
250: xe = xe.Parent;
251: }
252:
253: return id;
254: }
255:
256: ////////////////////////////////////////////////////////////////////////////
257:
258: /// <summary>
259: ///
260: /// </summary>
261: public static List<Ia.Ftn.Cl.Model.Business.Administration.Category> CategoryList
262: {
263: get
264: {
265: if (categoryList == null || categoryList.Count == 0)
266: {
267: lock (objectLock)
268: {
269: categoryList = Ia.Ftn.Cl.Model.Data.Administration._CategoryList;
270: }
271: }
272:
273: return categoryList;
274: }
275: }
276:
277: ////////////////////////////////////////////////////////////////////////////
278:
279: /// <summary>
280: ///
281: /// </summary>
282: private static List<Ia.Ftn.Cl.Model.Business.Administration.Category> _CategoryList
283: {
284: get
285: {
286: Ia.Ftn.Cl.Model.Business.Administration.Category category;
287:
288: var categoryList = new List<Ia.Ftn.Cl.Model.Business.Administration.Category>();
289:
290: foreach (XElement xe in XDocument.Element("administration").Elements("category"))
291: {
292: category = new Ia.Ftn.Cl.Model.Business.Administration.Category()
293: {
294: Name = xe.Attribute("name").Value,
295: Regex = xe.Attribute("regex").Value,
296: Description = (xe.Attribute("description") != null) ? xe.Attribute("description").Value : string.Empty,
297: Color = (xe.Attribute("color") != null) ? xe.Attribute("color").Value : string.Empty
298: };
299:
300: categoryList.Add(category);
301: }
302:
303: return categoryList.ToList();
304: }
305: }
306:
307: ////////////////////////////////////////////////////////////////////////////
308:
309: /// <summary>
310: ///
311: /// </summary>
312: public static List<Ia.Ftn.Cl.Model.Business.Administration.StaffContact> StaffContactList
313: {
314: get
315: {
316: if (staffContactList == null || staffContactList.Count == 0)
317: {
318: lock (objectLock)
319: {
320: staffContactList = Ia.Ftn.Cl.Model.Data.Administration._StaffContactList;
321: }
322: }
323:
324: return staffContactList;
325: }
326: }
327:
328: ////////////////////////////////////////////////////////////////////////////
329:
330: /// <summary>
331: ///
332: /// </summary>
333: private static List<Ia.Ftn.Cl.Model.Business.Administration.StaffContact> _StaffContactList
334: {
335: get
336: {
337: var staffContactList = new List<Ia.Ftn.Cl.Model.Business.Administration.StaffContact>();
338:
339: foreach (var staff in Ia.Ftn.Cl.Model.Data.Staff.List)
340: {
341: if (staff.IdentityUser != null && staff.IdentityUser.Email != null)
342: {
343: var staffContact = new Ia.Ftn.Cl.Model.Business.Administration.StaffContact() { Staff = staff };
344:
345: staffContactList.Add(staffContact);
346: }
347: }
348:
349: foreach (var contact in Ia.Ftn.Cl.Model.Data.Contact.List)
350: {
351: if (contact.Email != null)
352: {
353: var staffContact = new Ia.Ftn.Cl.Model.Business.Administration.StaffContact() { Contact = contact };
354:
355: staffContactList.Add(staffContact);
356: }
357: }
358:
359: return staffContactList.ToList();
360: }
361: }
362:
363: ////////////////////////////////////////////////////////////////////////////
364:
365: /// <summary>
366: ///
367: /// </summary>
368: public static List<Ia.Ftn.Cl.Model.Business.Administration.StaffFramework> StaffFrameworkList
369: {
370: get
371: {
372: if (staffFrameworkList == null || staffFrameworkList.Count == 0)
373: {
374: lock (objectLock)
375: {
376: staffFrameworkList = Ia.Ftn.Cl.Model.Data.Administration._StaffFrameworkList;
377: }
378: }
379:
380: return staffFrameworkList;
381: }
382: }
383:
384: ////////////////////////////////////////////////////////////////////////////
385:
386: /// <summary>
387: ///
388: /// </summary>
389: private static List<Ia.Ftn.Cl.Model.Business.Administration.StaffFramework> _StaffFrameworkList
390: {
391: get
392: {
393: var staffList = (from s in Ia.Ftn.Cl.Model.Data.Staff.List
394: select new Ia.Ftn.Cl.Model.Business.Administration.StaffFramework
395: {
396: Id = s.Id,
397: FrameworkId = s.Framework.Id,
398: IsStaff = true,
399: Name = s.FirstAndMiddleName
400: }
401: ).ToList();
402:
403: var frameworkList = (from f in Ia.Ftn.Cl.Model.Data.Administration.FrameworkList
404: select new Ia.Ftn.Cl.Model.Business.Administration.StaffFramework
405: {
406: Id = f.Id,
407: FrameworkId = f.Id,
408: IsFramework = true,
409: Name = f.FullyQualifiedArabicName //.ArabicName
410: }
411: ).ToList();
412:
413: staffFrameworkList = staffList.Union(frameworkList).ToList();
414:
415: return staffFrameworkList.ToList();
416: }
417: }
418:
419: ////////////////////////////////////////////////////////////////////////////
420: ////////////////////////////////////////////////////////////////////////////
421:
422: /// <summary>
423: ///
424: /// </summary>
425: public static int ServiceRequestServicesWithNullAccessCount()
426: {
427: using (var db = new Ia.Ftn.Cl.Model.Db())
428: {
429: return (from srs in db.ServiceRequestServices
430: where srs.Access == null
431: select srs.Id).Count();
432: }
433: }
434:
435: ////////////////////////////////////////////////////////////////////////////
436:
437: /// <summary>
438: ///
439: /// </summary>
440: public static int ServicesWithNullAccessCount()
441: {
442: using (var db = new Ia.Ftn.Cl.Model.Db())
443: {
444: return (from s in db.Service2
445: where s.ServiceType == Ia.Ftn.Cl.Model.Business.Service.ServiceType.ImsService && s.Access == null
446: select s.Id).Count();
447: }
448: }
449:
450: ////////////////////////////////////////////////////////////////////////////
451:
452: /// <summary>
453: ///
454: /// </summary>
455: public static List<Ia.Ftn.Cl.Model.Business.Administration.Statistic.KuwaitArea> ServiceAccessStatisticWithinKuwaitFtnAreaCachedDaily
456: {
457: get
458: {
459: if (statisticList == null || statisticList.Count == 0)
460: {
461: if (HttpContext.Current != null && HttpContext.Current.Application["statisticList" + DateTime.Now.Day] != null)
462: {
463: statisticList = HttpContext.Current.Application["statisticList" + DateTime.Now.Day] as List<Ia.Ftn.Cl.Model.Business.Administration.Statistic.KuwaitArea>;
464: }
465: else
466: {
467: lock (objectLock)
468: {
469: statisticList = null;
470: statisticList = Ia.Ftn.Cl.Model.Data.Administration.ServiceAccessStatisticWithinKuwaitFtnArea();
471:
472: if (HttpContext.Current != null) HttpContext.Current.Application["statisticList" + DateTime.Now.Day] = statisticList;
473: }
474: }
475: }
476:
477: return statisticList;
478: }
479: }
480:
481: ////////////////////////////////////////////////////////////////////////////
482:
483: /// <summary>
484: ///
485: /// </summary>
486: public static List<Ia.Ftn.Cl.Model.Business.Administration.Statistic.KuwaitArea> ServiceAccessStatisticWithinKuwaitFtnArea()
487: {
488: if (statisticList == null || statisticList.Count == 0)
489: {
490: int fourDigitDomain, fiveDigitDomain;
491: int totalService, totalNokiaService, totalHuaweiService, totalServiceRequestService, totalAccessCapacity, totalNokiaOnt, totalHuaweiOnt, totalNokiaAccess, totalHuaweiAccess, totalAccessReady, totalAccessUsed;
492: string accessId;
493: Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Vendor vendor;
494: Ia.Ftn.Cl.Model.Business.Administration.Statistic.KuwaitArea kuwaitAreaStatistic;
495: Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Olt olt;
496:
497: statisticList = new List<Ia.Ftn.Cl.Model.Business.Administration.Statistic.KuwaitArea>();
498: statisticList.Clear();
499:
500: totalService = totalNokiaService = totalHuaweiService = totalServiceRequestService = totalAccessCapacity = totalNokiaOnt = totalHuaweiOnt = totalNokiaAccess = totalHuaweiAccess = totalAccessReady = totalAccessUsed = totalService = totalServiceRequestService = 0;
501:
502: //kuwaitFtnAreaList = new List<Ia.Ftn.Cl.Model.Business.Service.KuwaitFtnArea>(); // I need to clear it because I add an item in it below
503: var kuwaitFtnAreaList = Ia.Ftn.Cl.Model.Data.Service.KuwaitFtnAreaList;
504:
505: var ontAccessIdToSeviceListDictionary = Ia.Ftn.Cl.Model.Data.Service2.OntAccessIdToSeviceListDictionary();
506:
507: var ontList = Ia.Ftn.Cl.Model.Data.Nokia.Ont.ListIncludeAccess();
508: var emsOntList = Ia.Ftn.Cl.Model.Data.Huawei.Ont.ListIncludeAccess();
509: var accessList = Ia.Ftn.Cl.Model.Data.Access.List();
510: var accessIdToOltIdDictionary = Ia.Ftn.Cl.Model.Data.Access.IdToOltIdDictionary;
511:
512: var accessIdToKuwaitFtnAreaIdDictionary = Ia.Ftn.Cl.Model.Data.Access.IdToKuwaitFtnAreaIdDictionary;
513:
514: var serviceRequestServiceProvisionedServiceIdToAccessIdDictionary = Ia.Ftn.Cl.Model.Data.ServiceRequestService.ProvisionedServiceIdToAccessIdDictionary;
515: var serviceIdToAccessIdDictionary = Ia.Ftn.Cl.Model.Data.Service2.ServiceIdToAccessIdDictionary;
516:
517: var accessesWithProvisionedAndReadyOntsIdToKuwaitFtnAreaIdDictionary = Ia.Ftn.Cl.Model.Data.Access.AccessWithProvisionedAndReadyOntIdToKuwaitFtnAreaIdDictionary;
518:
519: var domainToRouterVendorDictionary = Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.DomainToRouterVendorDictionary;
520:
521: var unknown = new Ia.Ftn.Cl.Model.Business.Administration.Statistic.KuwaitArea("Unknown", "غير معرف");
522:
523: //ontIdToOltIdDictionary = Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntIdToOltIdDictionary;
524:
525: // - ONT capacity, usage, # of services in an ONT, type of ONT
526: // - Graphics
527: /*
528: update statistics
529: Vendor,
530: number perfix,
531: 4 in ONT,
532: 0 in ONT,
533: Acces: ONT used by subscribers
534: */
535:
536: foreach (var kna in kuwaitFtnAreaList)
537: {
538: kuwaitAreaStatistic = new Ia.Ftn.Cl.Model.Business.Administration.Statistic.KuwaitArea();
539:
540: kuwaitAreaStatistic.Name = kna.NameArabicName;
541:
542: kuwaitAreaStatistic.Symbol = kna.Symbol;
543:
544: kuwaitAreaStatistic.ServiceRequestService = 0;
545:
546: kuwaitAreaStatistic.NokiaService = 0;
547: kuwaitAreaStatistic.HuaweiService = 0;
548: kuwaitAreaStatistic.Service = 0;
549:
550: foreach (KeyValuePair<string, string> kvp in serviceIdToAccessIdDictionary)
551: {
552: accessId = kvp.Value;
553:
554: if (accessIdToKuwaitFtnAreaIdDictionary.ContainsKey(accessId))
555: {
556: if (accessIdToKuwaitFtnAreaIdDictionary[accessId] == kna.Id)
557: {
558: kuwaitAreaStatistic.Service++;
559:
560: fiveDigitDomain = int.Parse(kvp.Key.Substring(0, 5));
561:
562: if (domainToRouterVendorDictionary.ContainsKey(fiveDigitDomain)) vendor = domainToRouterVendorDictionary[fiveDigitDomain];
563: else
564: {
565: fourDigitDomain = int.Parse(kvp.Key.Substring(0, 4));
566:
567: if (domainToRouterVendorDictionary.ContainsKey(fourDigitDomain))
568: {
569: vendor = domainToRouterVendorDictionary[fourDigitDomain];
570: }
571: else vendor = null;
572: }
573:
574: if (vendor == Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Vendor.Nokia) kuwaitAreaStatistic.NokiaService++;
575: else if (vendor == Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Vendor.Huawei) kuwaitAreaStatistic.HuaweiService++;
576: else
577: {
578: unknown.Service++;
579:
580: //throw new Exception("Vendor is unknown");
581: }
582:
583: }
584: }
585: }
586:
587: kuwaitAreaStatistic.NokiaHuaweiService = (kuwaitAreaStatistic.NokiaService + kuwaitAreaStatistic.HuaweiService) + " (" + kuwaitAreaStatistic.NokiaService + "/" + kuwaitAreaStatistic.HuaweiService + ")";
588:
589:
590: foreach (KeyValuePair<string, string> kvp in serviceRequestServiceProvisionedServiceIdToAccessIdDictionary)
591: {
592: if (accessIdToKuwaitFtnAreaIdDictionary.ContainsKey(kvp.Value))
593: {
594: if (accessIdToKuwaitFtnAreaIdDictionary[kvp.Value] == kna.Id)
595: {
596: kuwaitAreaStatistic.ServiceRequestService++;
597: }
598: }
599: }
600:
601: //statistic.SiteAccessCapacity = kna.Site.Routers.SelectMany(u => u.Odfs.SelectMany(y => y.Olts)).Count() * 1024;
602: //statistic.SiteAccessCapacity = f.Sum(u => kna.Site.Routers.Any(u => u.Odfs.Any(y => y.Olts.Any(z => z.Id == u.Value)))) * 1024;
603: //kuwaitAreaStatistic.AccessProvisioned = accessIdToKuwaitFtnAreaIdDictionary.Count(u => u.Value == kna.Id);
604: //kuwaitAreaStatistic.AccessUtilized = 0;
605:
606: // below: this does not include SSR accesses for area
607: kuwaitAreaStatistic.AccessCapacity = (from o in Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OltList
608: where o.Symbol == kna.Symbol
609: select o).Sum(o => o.NumberOfPons * o.NumberOfOntsInPon);
610:
611: kuwaitAreaStatistic.NokiaOnt = 0;
612: kuwaitAreaStatistic.HuaweiOnt = 0;
613:
614: foreach (var o in ontList)
615: {
616: if (o.Access != null)
617: {
618: if (accessIdToKuwaitFtnAreaIdDictionary.ContainsKey(o.Access.Id))
619: {
620: if (accessIdToKuwaitFtnAreaIdDictionary[o.Access.Id] == kna.Id)
621: {
622: kuwaitAreaStatistic.NokiaOnt++;
623: }
624: }
625: }
626: else
627: {
628: }
629: }
630:
631: foreach (var o in emsOntList)
632: {
633: if (o.Access != null)
634: {
635: if (accessIdToKuwaitFtnAreaIdDictionary.ContainsKey(o.Access.Id))
636: {
637: if (accessIdToKuwaitFtnAreaIdDictionary[o.Access.Id] == kna.Id)
638: {
639: kuwaitAreaStatistic.HuaweiOnt++;
640: }
641: }
642: }
643: else
644: {
645: }
646: }
647:
648: kuwaitAreaStatistic.NokiaHuaweiOnt = (kuwaitAreaStatistic.NokiaOnt + kuwaitAreaStatistic.HuaweiOnt) + " (" + kuwaitAreaStatistic.NokiaOnt + "/" + kuwaitAreaStatistic.HuaweiOnt + ")";
649:
650: kuwaitAreaStatistic.NokiaAccess = 0;
651: kuwaitAreaStatistic.HuaweiAccess = 0;
652:
653: foreach (var a in accessList)
654: {
655: if (accessIdToKuwaitFtnAreaIdDictionary[a.Id] == kna.Id)
656: {
657: olt = (from o in Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OltList
658: where o.Id == accessIdToOltIdDictionary[a.Id]
659: select o).SingleOrDefault();
660:
661: if (olt != null)
662: {
663: // <vendor id="1" name="Nokia" shortName="No" ... />
664: if (olt.Odf.Vendor == Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Vendor.Nokia) kuwaitAreaStatistic.NokiaAccess++;
665:
666: // <vendor id="2" name="Huawei" shortName="Hu" ... />
667: else if (olt.Odf.Vendor == Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Vendor.Huawei) kuwaitAreaStatistic.HuaweiAccess++;
668: }
669: else
670: {
671:
672: }
673: }
674: }
675:
676: kuwaitAreaStatistic.NokiaHuaweiAccess = (kuwaitAreaStatistic.NokiaAccess + kuwaitAreaStatistic.HuaweiAccess) + " (" + kuwaitAreaStatistic.NokiaAccess + "/" + kuwaitAreaStatistic.HuaweiAccess + ")";
677:
678:
679: kuwaitAreaStatistic.AccessReady = 0;
680: kuwaitAreaStatistic.AccessUsed = 0;
681:
682: foreach (var a in accessList)
683: {
684: if (accessesWithProvisionedAndReadyOntsIdToKuwaitFtnAreaIdDictionary.ContainsKey(a.Id))
685: {
686: if (accessesWithProvisionedAndReadyOntsIdToKuwaitFtnAreaIdDictionary[a.Id] == kna.Id)
687: {
688: kuwaitAreaStatistic.AccessReady++;
689:
690: if (ontAccessIdToSeviceListDictionary[a.Id].Count > 0) kuwaitAreaStatistic.AccessUsed++;
691: }
692: }
693: }
694:
695: kuwaitAreaStatistic.AccessReadyUsed = kuwaitAreaStatistic.AccessReady + "/" + kuwaitAreaStatistic.AccessUsed;
696:
697:
698: // totals:
699: totalService += kuwaitAreaStatistic.Service;
700:
701: totalNokiaService += kuwaitAreaStatistic.NokiaService;
702: totalHuaweiService += kuwaitAreaStatistic.HuaweiService;
703:
704: totalServiceRequestService += kuwaitAreaStatistic.ServiceRequestService;
705:
706: totalAccessCapacity += kuwaitAreaStatistic.AccessCapacity;
707:
708: totalNokiaOnt += kuwaitAreaStatistic.NokiaOnt;
709: totalHuaweiOnt += kuwaitAreaStatistic.HuaweiOnt;
710:
711: totalNokiaAccess += kuwaitAreaStatistic.NokiaAccess;
712: totalHuaweiAccess += kuwaitAreaStatistic.HuaweiAccess;
713:
714: totalAccessReady += kuwaitAreaStatistic.AccessReady;
715: totalAccessUsed += kuwaitAreaStatistic.AccessUsed;
716:
717: statisticList.Add(kuwaitAreaStatistic);
718: }
719:
720: statisticList = statisticList.OrderBy(u => u.Name).ToList();
721:
722: statisticList.Add(unknown);
723:
724: // totals:
725: kuwaitAreaStatistic = new Ia.Ftn.Cl.Model.Business.Administration.Statistic.KuwaitArea();
726:
727: kuwaitAreaStatistic.Name = "Total";
728:
729: kuwaitAreaStatistic.Service = totalService;
730: kuwaitAreaStatistic.NokiaService = totalNokiaService;
731: kuwaitAreaStatistic.HuaweiService = totalHuaweiService;
732: kuwaitAreaStatistic.NokiaHuaweiService = (kuwaitAreaStatistic.NokiaService + kuwaitAreaStatistic.HuaweiService) + " (" + kuwaitAreaStatistic.NokiaService + "/" + kuwaitAreaStatistic.HuaweiService + ")";
733:
734:
735: kuwaitAreaStatistic.ServiceRequestService = totalServiceRequestService;
736:
737: kuwaitAreaStatistic.AccessCapacity = totalAccessCapacity;
738:
739: kuwaitAreaStatistic.NokiaOnt = totalNokiaOnt;
740: kuwaitAreaStatistic.HuaweiOnt = totalHuaweiOnt;
741: kuwaitAreaStatistic.NokiaHuaweiOnt = (totalNokiaOnt + totalHuaweiOnt) + " (" + totalNokiaOnt + "/" + totalHuaweiOnt + ")";
742:
743: kuwaitAreaStatistic.NokiaAccess = totalNokiaAccess;
744: kuwaitAreaStatistic.HuaweiAccess = totalHuaweiAccess;
745: kuwaitAreaStatistic.NokiaHuaweiAccess = (totalNokiaAccess + totalHuaweiAccess) + " (" + totalNokiaAccess + "/" + totalHuaweiAccess + ")";
746:
747: kuwaitAreaStatistic.AccessReady = totalAccessReady;
748: kuwaitAreaStatistic.AccessUsed = totalAccessUsed;
749: kuwaitAreaStatistic.AccessReadyUsed = totalAccessReady + "/" + totalAccessUsed;
750:
751: statisticList.Add(kuwaitAreaStatistic);
752: }
753:
754: return statisticList;
755: }
756:
757: ////////////////////////////////////////////////////////////////////////////
758:
759: /// <summary>
760: ///
761: /// </summary>
762: public static List<Ia.Ftn.Cl.Model.Business.Administration.Statistic.Site> SiteStatistic()
763: {
764: int siteId;
765: int totalFiberAccessCapacity, totalFiberServiceCapacity, totalMsanServiceCapacity, totalFiberService, totalNokiaService, totalHuaweiService, totalService;
766: int totalMsanService, totalPstnService, totalEricssonService, totalSiemensService;
767: Ia.Ftn.Cl.Model.Business.Administration.Statistic.Site siteStatistic;
768: List<Ia.Ftn.Cl.Model.Business.Administration.Statistic.Site> siteStatisticList;
769:
770: siteStatisticList = new List<Ia.Ftn.Cl.Model.Business.Administration.Statistic.Site>();
771:
772: totalFiberService = totalNokiaService = totalHuaweiService = totalFiberAccessCapacity = totalFiberServiceCapacity = totalMsanServiceCapacity = 0;
773: totalMsanService = totalPstnService = totalEricssonService = totalSiemensService = 0;
774: totalService = 0;
775:
776: using (var db = new Ia.Ftn.Cl.Model.Db())
777: {
778: var oltIdToCountOfServiceDictionary = Ia.Ftn.Cl.Model.Data.Default.OltIdToCountOfServiceDictionary();
779: var oltList = Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OltList;
780:
781: var msanSiteIdToDidListDictionary = Ia.Ftn.Cl.Model.Data.Huawei.Dev.MsanSiteIdToDidListDictionary();
782: var msanSiteIdToCapacityDictionary = Ia.Ftn.Cl.Model.Data.Huawei.Dev.MsanSiteIdToCapacityDictionary();
783: var msanDidToServiceCountDictionary = Ia.Ftn.Cl.Model.Data.Default.MsanDidToMsanServiceCountDictionary();
784:
785: var pstnFiveDigitDomainToCountOfServicesDictionary = Ia.Ftn.Cl.Model.Data.Service2.PstnFiveDigitDomainToCountOfServicesDictionary();
786: var pstnToFiveDigitDomainListDictionary = Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.PstnToFiveDigitDomainListDictionary();
787:
788: var unknown = new Ia.Ftn.Cl.Model.Business.Administration.Statistic.Site(); // ("Unknown", );
789: unknown.NameArabicName = "Unknown (غير معرف)";
790: unknown.Name = "Unknown";
791:
792: foreach (var site in Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.SiteList)
793: {
794: siteStatistic = new Ia.Ftn.Cl.Model.Business.Administration.Statistic.Site();
795:
796: siteId = site.Id;
797: siteStatistic.Id = site.Id.ToString();
798: siteStatistic.NameArabicName = site.NameArabicName;
799: siteStatistic.Name = site.Name;
800:
801: siteStatistic.KuwaitAreaNameListString = string.Join(", ", site.KuwaitFtnAreas.Select(u => u.ArabicName));
802:
803: siteStatistic.PstnDomainListString = string.Join(", ", site.Pstns.SelectMany(u => u.DomainList).ToList());
804:
805: siteStatistic.MsanDomainListString = string.Join(", ", site.Msans.SelectMany(u => u.DomainList).ToList());
806:
807: siteStatistic.DomainListString = string.Join(", ", site.Routers.SelectMany(u => u.DomainList).ToList());
808:
809: siteStatistic.SymbolListString = string.Join(", ", site.AreaSymbolList.ToList());
810:
811: siteStatistic.FiberAccessCapacity = (from o in Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OltList
812: where o.Odf.Router.Site.Id == siteId
813: select o).Sum(o => o.NumberOfPons * o.NumberOfOntsInPon);
814:
815: siteStatistic.FiberServiceCapacity = site.NumberOfPossibleServicesWithinDomainList;
816:
817:
818: // Fiber
819: foreach (var olt in site.Routers.SelectMany(u => u.Odfs.SelectMany(v => v.Olts)))
820: {
821: if (oltIdToCountOfServiceDictionary.ContainsKey(olt.Id))
822: {
823: if (olt.Odf.Router.Vendor == Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Vendor.Nokia) siteStatistic.NokiaService += oltIdToCountOfServiceDictionary[olt.Id];
824: else if (olt.Odf.Router.Vendor == Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Vendor.Huawei) siteStatistic.HuaweiService += oltIdToCountOfServiceDictionary[olt.Id];
825: else
826: {
827: unknown.FiberService++;
828: }
829: }
830: }
831:
832: siteStatistic.FiberService = siteStatistic.NokiaService + siteStatistic.HuaweiService;
833: siteStatistic.FiberServiceText = siteStatistic.FiberService + " (" + siteStatistic.NokiaService + "/" + siteStatistic.HuaweiService + ")";
834:
835:
836: // MSAN
837: if (!string.IsNullOrEmpty(siteStatistic.MsanDomainListString))
838: {
839: if (msanSiteIdToDidListDictionary.ContainsKey(siteId))
840: {
841: siteStatistic.MsanServiceCapacity = msanSiteIdToCapacityDictionary[siteId];
842:
843: foreach (var msanDid in msanSiteIdToDidListDictionary[siteId])
844: {
845: if (msanDidToServiceCountDictionary.ContainsKey(msanDid))
846: {
847: siteStatistic.MsanService += msanDidToServiceCountDictionary[msanDid];
848: }
849: else
850: {
851: unknown.MsanService++;
852: }
853: }
854: }
855:
856: siteStatistic.MsanServiceText = siteStatistic.MsanService.ToString();
857: }
858:
859: siteStatistic.Service = siteStatistic.FiberService + siteStatistic.MsanService;
860: siteStatistic.ServiceText = siteStatistic.Service.ToString();
861:
862: // PSTN
863: if (!string.IsNullOrEmpty(siteStatistic.PstnDomainListString))
864: {
865: foreach (var pstn in site.Pstns)
866: {
867: var list = pstnToFiveDigitDomainListDictionary[pstn];
868:
869: foreach (var l in list)
870: {
871: if (pstnFiveDigitDomainToCountOfServicesDictionary.ContainsKey(l.ToString()))
872: {
873: if (pstn.PstnExchangeType == Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.PstnExchangeType.EricssonAxe) siteStatistic.EricssonPstnService += pstnFiveDigitDomainToCountOfServicesDictionary[l.ToString()];
874: else if (pstn.PstnExchangeType == Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.PstnExchangeType.SiemensEwsd) siteStatistic.SiemensPstnService += pstnFiveDigitDomainToCountOfServicesDictionary[l.ToString()];
875: else
876: {
877: unknown.PstnService++;
878: }
879: }
880: else
881: {
882:
883: }
884: }
885: }
886:
887: siteStatistic.PstnService = siteStatistic.EricssonPstnService + siteStatistic.SiemensPstnService;
888: siteStatistic.EricssonSiemensPstnServiceText = siteStatistic.PstnService + " (" + siteStatistic.EricssonPstnService + "/" + siteStatistic.SiemensPstnService + ")";
889: }
890:
891:
892: // totals:
893: totalFiberService += siteStatistic.FiberService;
894: totalService += siteStatistic.Service;
895:
896: totalNokiaService += siteStatistic.NokiaService;
897: totalHuaweiService += siteStatistic.HuaweiService;
898:
899: totalFiberAccessCapacity += siteStatistic.FiberAccessCapacity;
900: totalFiberServiceCapacity += siteStatistic.FiberServiceCapacity;
901:
902: totalMsanServiceCapacity += siteStatistic.MsanServiceCapacity;
903: totalMsanService += siteStatistic.MsanService;
904:
905: totalPstnService += siteStatistic.PstnService;
906:
907: totalEricssonService += siteStatistic.EricssonPstnService;
908: totalSiemensService += siteStatistic.SiemensPstnService;
909:
910: siteStatisticList.Add(siteStatistic);
911: }
912:
913: // MSAN: collect count of numbers in DIDs *not* within site DIDs
914: var didList = msanSiteIdToDidListDictionary.Values.SelectMany(x => x).ToList();
915:
916: foreach (var d in msanDidToServiceCountDictionary)
917: {
918: if (!didList.Contains(d.Key)) unknown.MsanService += d.Value;
919: }
920:
921: siteStatisticList = siteStatisticList.OrderBy(u => u.Name).ToList();
922:
923: siteStatisticList.Add(unknown);
924:
925: // below: last totals row
926: siteStatistic = new Ia.Ftn.Cl.Model.Business.Administration.Statistic.Site();
927:
928: siteStatistic.NameArabicName = "Total (مجموع)";
929: siteStatistic.Name = "Total";
930:
931: siteStatistic.FiberService = totalFiberService;
932: siteStatistic.NokiaService = totalNokiaService;
933: siteStatistic.HuaweiService = totalHuaweiService;
934: siteStatistic.FiberServiceText = (siteStatistic.NokiaService + siteStatistic.HuaweiService) + " (" + siteStatistic.NokiaService + "/" + siteStatistic.HuaweiService + ")";
935:
936: siteStatistic.FiberAccessCapacity = totalFiberAccessCapacity;
937: siteStatistic.FiberServiceCapacity = totalFiberServiceCapacity;
938:
939: siteStatistic.MsanService = totalMsanService;
940: siteStatistic.MsanServiceCapacity = totalMsanServiceCapacity;
941: siteStatistic.MsanServiceText = totalMsanService.ToString();
942:
943: siteStatistic.PstnService = totalPstnService;
944: siteStatistic.EricssonPstnService = totalEricssonService;
945: siteStatistic.SiemensPstnService = totalSiemensService;
946: siteStatistic.EricssonSiemensPstnServiceText = (siteStatistic.EricssonPstnService + siteStatistic.SiemensPstnService) + " (" + siteStatistic.EricssonPstnService + "/" + siteStatistic.SiemensPstnService + ")";
947:
948: siteStatistic.Service = totalService;
949: siteStatistic.ServiceText = siteStatistic.Service.ToString();
950:
951: siteStatisticList.Add(siteStatistic);
952: }
953:
954: return siteStatisticList;
955: }
956:
957: ////////////////////////////////////////////////////////////////////////////
958:
959: /// <summary>
960: ///
961: /// </summary>
962: public class YearMonthProvisionedDeprovisionServiceProvisioningStatistic
963: {
964: public int Year { get; set; }
965:
966: public int Month { get; set; }
967:
968: public string MonthName
969: {
970: get
971: {
972: return CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(this.Month);
973: }
974: }
975:
976: public string YearMonth { get { return Year + "-" + Month.ToString().PadLeft(2, '0'); } }
977:
978: public int Provisioned { get; set; }
979:
980: public int Deprovisioned { get; set; }
981:
982: public int Total { get; set; }
983: }
984:
985: ////////////////////////////////////////////////////////////////////////////
986:
987: /// <summary>
988: ///
989: /// </summary>
990: public static List<YearMonthProvisionedDeprovisionServiceProvisioningStatistic> ServiceProvisioningInImsSwitchAndAccessNetworkStatistic()
991: {
992: List<YearMonthProvisionedDeprovisionServiceProvisioningStatistic> list;
993:
994: using (var db = new Ia.Ftn.Cl.Model.Db())
995: {
996: var sqlServer = new Ia.Cl.Models.Db.SqlServer();
997:
998: var dbtable = sqlServer.Select(@"
999: select
1000: YEAR(sr.RequestDateTime) Year, MONTH(sr.RequestDateTime) Month,
1001: SUM(case WHEN sr.ServiceId = 1 or sr.ServiceId = 129 or sr.ServiceId = 54 then 1 else 0 end) Provisioned,
1002: SUM(case WHEN sr.ServiceId = 40 then 1 else 0 end) Deprovisioned
1003: --count(srs.Provisioned)
1004: from ServiceRequestServices srs
1005: left outer join ServiceRequests sr on srs.Id = sr.ServiceRequestService_Id
1006: where (sr.ServiceId = 1 or sr.ServiceId = 129 or sr.ServiceId = 54 or sr.ServiceId = 40)
1007: group by YEAR(sr.RequestDateTime), MONTH(sr.RequestDateTime)
1008: order by YEAR(sr.RequestDateTime), MONTH(sr.RequestDateTime)
1009: ");
1010:
1011: /*
1012: -- <service id="1" arabicName="خط هاتف" />
1013: -- <service id="129" arabicName="خط هاتف مع نداء آلي"/>
1014: -- <service id="54" arabicName="اعادة تركيب" />
1015: -- <service id="40" arabicName="رفع خط" />
1016: *
1017: */
1018:
1019: // I tried every possible way to use LINQ but failed. As a last resort I used SqlServer directly
1020:
1021: var total = 0;
1022: list = new List<YearMonthProvisionedDeprovisionServiceProvisioningStatistic>();
1023:
1024: foreach (DataRow row in dbtable.Rows)
1025: {
1026: var item = new YearMonthProvisionedDeprovisionServiceProvisioningStatistic();
1027:
1028: item.Year = int.Parse(row["Year"].ToString());
1029: item.Month = int.Parse(row["Month"].ToString());
1030: item.Provisioned = int.Parse(row["Provisioned"].ToString());
1031: item.Deprovisioned = int.Parse(row["Deprovisioned"].ToString());
1032:
1033: total += item.Provisioned - item.Deprovisioned;
1034: item.Total = total;
1035:
1036: list.Add(item);
1037: }
1038: }
1039:
1040: return list;
1041: }
1042:
1043: ////////////////////////////////////////////////////////////////////////////
1044:
1045: /// <summary>
1046: ///
1047: /// </summary>
1048: public static List<YearMonthProvisionedDeprovisionServiceProvisioningStatistic> ServiceProvisioningInFtnSwitchNetworkStatistic()
1049: {
1050: List<YearMonthProvisionedDeprovisionServiceProvisioningStatistic> list;
1051:
1052: using (var db = new Ia.Ftn.Cl.Model.Db())
1053: {
1054: var sqlServer = new Ia.Cl.Models.Db.SqlServer();
1055:
1056: var dbtable = sqlServer.Select(@"
1057: select
1058: YEAR(sr.RequestDateTime) Year, MONTH(sr.RequestDateTime) Month,
1059: SUM(case WHEN sr.ServiceId = 1 or sr.ServiceId = 129 or sr.ServiceId = 54 then 1 else 0 end) Provisioned,
1060: SUM(case WHEN sr.ServiceId = 40 then 1 else 0 end) Deprovisioned
1061: --count(srs.Provisioned)
1062: from ServiceRequests sr
1063: where (sr.ServiceId = 1 or sr.ServiceId = 129 or sr.ServiceId = 54 or sr.ServiceId = 40)
1064: group by YEAR(sr.RequestDateTime), MONTH(sr.RequestDateTime)
1065: order by YEAR(sr.RequestDateTime), MONTH(sr.RequestDateTime)
1066: ");
1067:
1068: /*
1069: -- <service id="1" arabicName="خط هاتف" />
1070: -- <service id="129" arabicName="خط هاتف مع نداء آلي"/>
1071: -- <service id="54" arabicName="اعادة تركيب" />
1072: -- <service id="40" arabicName="رفع خط" />
1073: *
1074: */
1075:
1076: // I tried every possible way to use LINQ but failed. As a last resort I used SqlServer directly
1077:
1078: var total = 0;
1079: list = new List<YearMonthProvisionedDeprovisionServiceProvisioningStatistic>();
1080:
1081: foreach (DataRow row in dbtable.Rows)
1082: {
1083: var item = new YearMonthProvisionedDeprovisionServiceProvisioningStatistic();
1084:
1085: item.Year = int.Parse(row["Year"].ToString());
1086: item.Month = int.Parse(row["Month"].ToString());
1087: item.Provisioned = int.Parse(row["Provisioned"].ToString());
1088: item.Deprovisioned = int.Parse(row["Deprovisioned"].ToString());
1089:
1090: total += item.Provisioned - item.Deprovisioned;
1091: item.Total = total;
1092:
1093: list.Add(item);
1094: }
1095: }
1096:
1097: return list;
1098: }
1099:
1100: /*
1101: ////////////////////////////////////////////////////////////////////////////
1102:
1103: /// <summary>
1104: ///
1105: /// </summary>
1106: public static List<Ia.Ftn.Cl.Model.Business.Administration.Statistic> PhoneStatistic(string timePeriod)
1107: {
1108: List<Ia.Ftn.Cl.Model.Business.Administration.Statistic> phoneStatisticList;
1109:
1110: /*
1111: string s, where;
1112: DateTime from, to;
1113: DataTable dt;
1114:
1115: if (timePeriod != null)
1116: {
1117: from = DateTime.Parse(timePeriod);
1118: to = DateTime.Parse(timePeriod);
1119: to = to.AddMonths(1);
1120:
1121: where = " AND (sr.request_time >= '" + sqlserver.SmallDateTime(from) + "' AND sr.request_time < '" + sqlserver.SmallDateTime(to) + "') ";
1122: }
1123: else where = string.Empty;
1124: * /
1125:
1126: using (var db = new Ia.Ftn.Cl.Model.Ftn())
1127: {
1128: phoneStatisticList = (from a in Ia.Ftn.Cl.Model.Data.Service.KuwaitFtnAreaList
1129: group a by a.Id into grp
1130: orderby grp.Key
1131: select new Ia.Ftn.Cl.Model.Business.Administration.Statistic()
1132: {
1133: Id = grp.Key.ToString(),
1134: Name = grp.SingleOrDefault().NameArabicName,
1135: //ServiceRequests = (from sr in db.ServiceRequests where sr.AreaId == grp.Key && sr.ServiceRequestService != null select sr.Id).Count().ToString(),
1136: ServiceRequestServices = (from srs in db.ServiceRequestServices where srs.Access != null && srs.Access.AreaId == grp.Key select srs.Id).Count(),
1137: Services = (from s in db.Service2s where s.ServiceType == Ia.Ftn.Cl.Model.Business.Service.ServiceType.ImsService && s.Access != null && s.Access.AreaId == grp.Key select s.Id).Count(),
1138: InternationalCalling = (from srs in db.ServiceRequestServices where srs.Access != null && srs.Access.AreaId == grp.Key && srs.InternationalCalling == true select srs.Id).Count(),
1139: InternationalCallingUserControlled = (from srs in db.ServiceRequestServices where srs.Access != null && srs.Access.AreaId == grp.Key && srs.InternationalCallingUserControlled == true select srs.Id).Count(),
1140: CallWaiting = (from srs in db.ServiceRequestServices where srs.Access != null && srs.Access.AreaId == grp.Key && srs.CallWaiting == true select srs.Id).Count(),
1141:
1142: AlarmCall = (from srs in db.ServiceRequestServices where srs.Access != null && srs.Access.AreaId == grp.Key && srs.AlarmCall == true select srs.Id).Count(),
1143:
1144: CallBarring = (from srs in db.ServiceRequestServices where srs.Access != null && srs.Access.AreaId == grp.Key && srs.CallBarring == true select srs.Id).Count(),
1145: CallerId = (from srs in db.ServiceRequestServices where srs.Access != null && srs.Access.AreaId == grp.Key && srs.CallerId == true select srs.Id).Count(),
1146: CallForwarding = (from srs in db.ServiceRequestServices where srs.Access != null && srs.Access.AreaId == grp.Key && srs.CallForwarding == true select srs.Id).Count(),
1147: ConferenceCall = (from srs in db.ServiceRequestServices where srs.Access != null && srs.Access.AreaId == grp.Key && srs.ConferenceCall == true select srs.Id).Count(),
1148: ServiceSuspension = (from srs in db.ServiceRequestServices where srs.Access != null && srs.Access.AreaId == grp.Key && srs.ServiceSuspension == true select srs.Id).Count()
1149: }).ToList();
1150:
1151: /*
1152: if (dt != null)
1153: {
1154: // below: the totals rows
1155: dr = dt.NewRow();
1156:
1157: dr["SRS_AccessIdNotNull"] = dt.Compute("SUM (SRS_AccessIdNotNull)", "").ToString();
1158: dr["IMS_AccessIdNotNull"] = dt.Compute("SUM (IMS_AccessIdNotNull)", "").ToString();
1159: dr["SRS_AccordingToAreaIdFromDomain"] = dt.Compute("SUM (SRS_AccordingToAreaIdFromDomain)", "").ToString();
1160:
1161: dr["InternationalCalling"] = dt.Compute("SUM (InternationalCalling)", "").ToString();
1162: dr["InternationalCallingUserControlled"] = dt.Compute("SUM (InternationalCallingUserControlled)", "").ToString();
1163: dr["CallWaiting"] = dt.Compute("SUM (CallWaiting)", "").ToString();
1164: dr["AlarmCall"] = dt.Compute("SUM (AlarmCall)", "").ToString();
1165: dr["CallBarring"] = dt.Compute("SUM (CallBarring)", "").ToString();
1166: dr["CallerId"] = dt.Compute("SUM (CallerId)", "").ToString();
1167: dr["CallForwarding"] = dt.Compute("SUM (CallForwarding)", "").ToString();
1168: dr["ConferenceCall"] = dt.Compute("SUM (ConferenceCall)", "").ToString();
1169: dr["ServiceSuspension"] = dt.Compute("SUM (ServiceSuspension)", "").ToString();
1170:
1171: dt.Rows.Add(dr);
1172: }
1173: * /
1174: }
1175:
1176: return phoneStatisticList;
1177: }
1178: */
1179:
1180: ////////////////////////////////////////////////////////////////////////////
1181:
1182: /// <summary>
1183: ///
1184: /// </summary>
1185: public static List<Ia.Ftn.Cl.Model.Ui.Performance> StaffAndFrameworkPerformanceReport(int daysAgo)
1186: {
1187: DateTime startDateTime;
1188: List<Ia.Ftn.Cl.Model.Ui.Performance> performanceList;
1189:
1190: // after 2015-06-01 user report closer inserts a last historic report
1191: // I should designate last report as CLOSED and add it to resolution list to be accessed by HEAD only.
1192:
1193: // if daysAgo is 0 will make it 9999 days to cover all times
1194: startDateTime = DateTime.UtcNow.AddDays(daysAgo == 0 ? -9999 : -daysAgo);
1195:
1196: using (var db = new Ia.Ftn.Cl.Model.Db())
1197: {
1198: var staffList = (from s in db.Staffs select s).ToList();
1199:
1200: var resolvedList = (from r in db.ReportHistories
1201: where r.Resolution == 1020 && r.Created > startDateTime
1202: group r.UserId by r.UserId into g
1203: select new { UserId = g.Key, Count = g.Count() }).ToDictionary(u => u.UserId, u => u.Count);
1204:
1205: var attemptedList = (from r in db.ReportHistories where r.Resolution != 1020 && r.Created > startDateTime group r.UserId by r.UserId into g select new { UserId = g.Key, Count = g.Count() }).ToDictionary(u => u.UserId, u => u.Count);
1206:
1207: var insertedList = (from r in db.Reports where r.Created > startDateTime group r.UserId by r.UserId into g select new { UserId = g.Key, Count = g.Count() }).ToDictionary(u => u.UserId, u => u.Count);
1208:
1209: var openList = (from r in db.Reports where r.Created > startDateTime group r.UserId by r.UserId into g select new { UserId = g.Key, Count = g.Count() }).ToDictionary(u => u.UserId, u => u.Count);
1210:
1211:
1212: var allowedToBeMigratedDomainList = Ia.Ftn.Cl.Model.Business.Service.AllowedToBeMigratedDomainList;
1213:
1214: var serviceRequestServiceList = (from srs in db.ServiceRequestServices
1215: where srs.Updated > startDateTime
1216: select new { srs.Service, srs.UserId }).ToList();
1217:
1218: var migratedList = (from srs in serviceRequestServiceList
1219: where allowedToBeMigratedDomainList.Any(u => srs.Service.StartsWith(u.ToString()))
1220: group srs.UserId by srs.UserId into g
1221: select new { UserId = g.Key, Count = g.Count() }).ToDictionary(u => u.UserId, u => u.Count);
1222:
1223:
1224: performanceList = new List<Ia.Ftn.Cl.Model.Ui.Performance>();
1225:
1226: foreach (var staff in staffList)
1227: {
1228: var p = new Ia.Ftn.Cl.Model.Ui.Performance
1229: {
1230: UserId = staff.Id,
1231: FirstAndMiddleName = staff.FirstAndMiddleName,
1232: Resolved = (resolvedList.ContainsKey(staff.Id) ? resolvedList[staff.Id] : 0),
1233: Attempted = (attemptedList.ContainsKey(staff.Id) ? attemptedList[staff.Id] : 0),
1234: Inserted = (insertedList.ContainsKey(staff.Id) ? insertedList[staff.Id] : 0),
1235: Open = (openList.ContainsKey(staff.Id) ? openList[staff.Id] : 0),
1236: AverageReportsPerDay = 0,
1237: Migrated = (migratedList.ContainsKey(staff.Id) ? migratedList[staff.Id] : 0),
1238: };
1239:
1240: performanceList.Add(p);
1241: }
1242: }
1243:
1244: // below: exclude staff who did absolutly nothing: Resolved = Attempted = Inserted = 0
1245:
1246: performanceList = (from p in performanceList where (p.Inserted != 0 || p.Attempted != 0 || p.Resolved != 0) select p).ToList();
1247:
1248: foreach (var p in performanceList)
1249: {
1250: if (string.IsNullOrEmpty(p.UserId)) p.FirstAndMiddleName = "غير معرف";
1251: else { }
1252: }
1253:
1254: return performanceList;
1255: }
1256:
1257: ////////////////////////////////////////////////////////////////////////////
1258:
1259: /// <summary>
1260: ///
1261: /// </summary>
1262: public static List<Ia.Ftn.Cl.Model.Ui.Performance> StatisticsOfResolvedAndAttemptedAndInsertedStaffReport2(string userId)
1263: {
1264: List<Ia.Ftn.Cl.Model.Ui.Performance> performanceList;
1265:
1266: // after 2015-06-01 user report closer inserts a last historic report
1267: // I should designate last report as CLOSED and add it to resolution list to be accessed by HEAD only.
1268:
1269: using (var db = new Ia.Ftn.Cl.Model.Db())
1270: {
1271: performanceList =
1272: (
1273: from staff in
1274: (from s in db.Staffs group s.Id by s.Id into g select new { Id = g.Key, Count = g.Count() })
1275: join resolved in
1276: (from r in db.ReportHistories where r.Resolution == 1020 group r.UserId by r.UserId into g select new { UserId = g.Key, Count = g.Count() })
1277: on staff.Id equals resolved.UserId into resolved_gj
1278: from re in resolved_gj.DefaultIfEmpty()
1279:
1280: join attempted in
1281: (from r in db.ReportHistories where r.Resolution != 1020 group r.UserId by r.UserId into g select new { UserId = g.Key, Count = g.Count() })
1282: on staff.Id equals attempted.UserId into attempted_gj
1283: from at in attempted_gj.DefaultIfEmpty()
1284:
1285: join inserted in
1286: (from r in db.Reports group r.UserId by r.UserId into g select new { UserId = g.Key, Count = g.Count() })
1287: on staff.Id equals inserted.UserId into inserted_gj
1288: from ins in inserted_gj.DefaultIfEmpty()
1289: // below: the 20, 10, 1 give weight to the field
1290: orderby re.Count descending, at.Count descending, ins.Count descending
1291: select new Ia.Ftn.Cl.Model.Ui.Performance
1292: {
1293: UserId = staff.Id,
1294: FirstAndMiddleName = (from s in Ia.Ftn.Cl.Model.Data.Staff.List where s.Id == staff.Id select s.FirstAndMiddleName).SingleOrDefault(),
1295: Resolved = (re == null ? 0 : re.Count),
1296: Attempted = (at == null ? 0 : at.Count),
1297: Inserted = (ins == null ? 0 : ins.Count),
1298: AverageReportsPerDay = 0
1299: }).ToList();
1300:
1301: /*
1302: select users.UserId, resolved.count,attempted.count,inserted.count from
1303: (
1304: (select count(*) as count, UserId from Users group by UserId) as users
1305: left outer join
1306: (select count(*) as count, rh.UserId from ReportHistories as rh where rh.Resolution = 1020 group by rh.UserId) as resolved
1307: on users.UserId = resolved.UserId
1308: left outer join
1309: (select count(*) as count, rh.UserId from ReportHistories as rh where rh.Resolution <> 1020 group by rh.UserId) as attempted
1310: on users.UserId = attempted.UserId
1311: left outer join
1312: (select count(*) as count, UserId from Reports group by UserId) as inserted
1313: on users.UserId = inserted.UserId
1314: )
1315: order by resolved.count*20+attempted.count*10+inserted.count desc
1316: */
1317: }
1318:
1319: return performanceList.ToList();
1320: }
1321:
1322: ////////////////////////////////////////////////////////////////////////////
1323:
1324: /// <summary>
1325: ///
1326: /// </summary>
1327: public static Dictionary<string, int> DateTimesWithAvailableData()
1328: {
1329: Dictionary<string, int> dic;
1330:
1331:
1332: dic = new Dictionary<string, int>(100);
1333:
1334:
1335: using (var db = new Ia.Ftn.Cl.Model.Db())
1336: {
1337: //dic = (from q in db.ServiceRequests orderby q.RequestDateTime select q.RequestDateTime).Distinct().ToDictionary(r => r.CustomerName, r => r.Id);
1338:
1339: // dictionary = (from q in ReportXDocument.Elements("report").Elements("category") select new { Id = int.Parse(q.Attribute("id").Value), Name = q.Attribute("name").Value }).ToDictionary(r => r.Id, r => r.Name);
1340:
1341: }
1342:
1343: /*
1344: SELECT DISTINCT CONVERT(varchar(7), RequestDateTime, 102) AS date, COUNT(1) AS count
1345: FROM [Ia_Ftn].[dbo].[ServiceRequests]
1346: GROUP BY CONVERT(varchar(7), RequestDateTime, 102)
1347: ORDER BY date
1348: */
1349:
1350: return dic;
1351: }
1352:
1353: ////////////////////////////////////////////////////////////////////////////
1354:
1355: /// <summary>
1356: ///
1357: /// </summary>
1358: public static void CreateAdministrativeFrameworkMembershipRolesIfTheyDoNotExist()
1359: {
1360: foreach (Ia.Ftn.Cl.Model.Business.Administration.Framework framework in Ia.Ftn.Cl.Model.Data.Administration.FrameworkList)
1361: {
1362: if (!Ia.Cl.Models.Identity.RoleExists(framework.FullyQualifiedArabicName)) Ia.Cl.Models.Identity.CreateRole(framework.FullyQualifiedArabicName);
1363: }
1364:
1365: // create IsHead role if it didn't exists
1366: if (!Ia.Cl.Models.Identity.RoleExists("IsHead")) Ia.Cl.Models.Identity.CreateRole("IsHead");
1367: }
1368:
1369: ////////////////////////////////////////////////////////////////////////////
1370:
1371: /// <summary>
1372: ///
1373: /// </summary>
1374: public static void CreateApplicationUserAndStaffIfDoesNotExist()
1375: {
1376: /*
1377: MembershipCreateStatus membershipCreateStatus;
1378: MembershipUser membershipUser;
1379:
1380: // user
1381: membershipUser = Membership.GetUser(Ia.Ftn.Cl.Model.Data.Administration.ApplicationUserName);
1382:
1383: if (membershipUser == null) Ia.Cl.Models.Identity.CreateUser(Ia.Ftn.Cl.Model.Data.Administration.ApplicationUserName, Ia.Ftn.Cl.Model.Data.Administration.ApplicationUserPassword, Ia.Ftn.Cl.Model.Data.Administration.ApplicationUserEmail, out membershipCreateStatus);
1384:
1385: // below: add user to role if not in it
1386: if (membershipUser != null && Roles.RoleExists(Ia.Ftn.Cl.Model.Data.Administration.ApplicationRoleName))
1387: {
1388: if (!Roles.IsUserInRole(Ia.Ftn.Cl.Model.Data.Administration.ApplicationUserName, Ia.Ftn.Cl.Model.Data.Administration.ApplicationRoleName)) Roles.AddUserToRole(Ia.Ftn.Cl.Model.Data.Administration.ApplicationUserName, Ia.Ftn.Cl.Model.Data.Administration.ApplicationRoleName);
1389: }
1390: */
1391:
1392: // staff
1393: Ia.Ftn.Cl.Model.Data.Staff.CreateApplicationStaff(Ia.Ftn.Cl.Model.Data.Administration.ApplicationArabicFirstName,
1394: Ia.Ftn.Cl.Model.Data.Administration.ApplicationArabicMiddleName,
1395: Ia.Ftn.Cl.Model.Data.Administration.ApplicationArabicLastName,
1396: Ia.Ftn.Cl.Model.Data.Administration.ApplicationUserEmail,
1397: Ia.Ftn.Cl.Model.Data.Administration.ApplicationUserName,
1398: Ia.Ftn.Cl.Model.Data.Administration.ApplicationUserPassword,
1399: out Ia.Cl.Models.Result result);
1400:
1401: // below: validate the user to make sure Sessions table is created, then log out
1402: // Membership.ValidateUser(Ia.Ftn.Cl.Model.Data.Administration.ApplicationUserName, Ia.Ftn.Cl.Model.Data.Administration.ApplicationUserPassword);
1403: //FormsAuthentication.SignOut();
1404:
1405: }
1406:
1407: ////////////////////////////////////////////////////////////////////////////
1408: ////////////////////////////////////////////////////////////////////////////
1409:
1410: /// <summary>
1411: ///
1412: /// How to embed and access resources by using Visual C# http://support.microsoft.com/kb/319292/en-us
1413: ///
1414: /// 1. Change the "Build Action" property of your XML file from "Content" to "Embedded Resource".
1415: /// 2. Add "using System.Reflection".
1416: /// 3. Manifest resource stream will start with the project namespace, the location of XML file.
1417: ///
1418: /// </summary>
1419:
1420: private static XDocument XDocument
1421: {
1422: get
1423: {
1424: if (xDocument == null)
1425: {
1426: lock (objectLock)
1427: {
1428: Assembly _assembly;
1429: StreamReader streamReader;
1430:
1431: _assembly = Assembly.GetExecutingAssembly();
1432: streamReader = new StreamReader(_assembly.GetManifestResourceStream("Ia.Ftn.Cl.model.data.administration.xml"));
1433:
1434: try
1435: {
1436: if (streamReader.Peek() != -1) xDocument = System.Xml.Linq.XDocument.Load(streamReader);
1437: }
1438: catch (Exception)
1439: {
1440: }
1441: finally
1442: {
1443: }
1444: }
1445: }
1446:
1447: return xDocument;
1448: }
1449: }
1450:
1451: ////////////////////////////////////////////////////////////////////////////
1452: ////////////////////////////////////////////////////////////////////////////
1453: }
1454:
1455: ////////////////////////////////////////////////////////////////////////////
1456: ////////////////////////////////////////////////////////////////////////////
1457: }
- 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