1:
2: using System.Collections.Generic;
3:
4: namespace Ia.Ngn.Cl.Model.Business.Huawei
5: {
6: ////////////////////////////////////////////////////////////////////////////
7:
8: /// <summary publish="true">
9: /// SERUATTR Signaling Service Processing System (SPS) support class for Huawei's Optical Fiber Network (OFN) business model.
10: /// </summary>
11: ///
12: /// <remarks>
13: /// Copyright © 2018-2019 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
14: ///
15: /// 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
16: /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
17: ///
18: /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
19: /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
20: ///
21: /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
22: ///
23: /// Copyright notice: This notice may not be removed or altered from any source distribution.
24: /// </remarks>
25: public class Seruattr
26: {
27: /// <summary/>
28: public static Dictionary<int, string> RnidxRouteName { get; } = new Dictionary<int, string>
29: {
30: { 0, "Huawei IMS" },
31: { 1, "Nokia IMS" },
32: { 2, "Siemens EWSD Copper" },
33: { -1, "Unknown" }
34: };
35:
36: /// <summary/>
37: public Seruattr() { }
38:
39: ////////////////////////////////////////////////////////////////////////////
40:
41: /// <summary>
42: ///
43: /// </summary>
44: public static string SeruattrId(string Usrnum)
45: {
46: int serviceType;
47: string serviceId;
48:
49: serviceType = Ia.Ngn.Cl.Model.Business.Service.ServiceType.ImsService;
50:
51: serviceId = Ia.Ngn.Cl.Model.Business.Service.ServiceToServiceId(Usrnum, serviceType);
52:
53: return serviceId;
54: }
55:
56: ////////////////////////////////////////////////////////////////////////////
57:
58: /// <summary>
59: ///
60: /// </summary>
61: public static Ia.Ngn.Cl.Model.Business.Default.SwitchRoute RnidxRouteToSwitchRoute(int rnidxRoute)
62: {
63: Ia.Ngn.Cl.Model.Business.Default.SwitchRoute switchRoute;
64:
65: switch (rnidxRoute)
66: {
67: case 0: switchRoute = Ia.Ngn.Cl.Model.Business.Default.SwitchRoute.HuaweiIms; break;
68: case 1: switchRoute = Ia.Ngn.Cl.Model.Business.Default.SwitchRoute.NokiaIms; break;
69: case 2: switchRoute = Ia.Ngn.Cl.Model.Business.Default.SwitchRoute.SiemensEwsdCopper; break;
70: default: switchRoute = Ia.Ngn.Cl.Model.Business.Default.SwitchRoute.Unknown; break;
71: }
72:
73: return switchRoute;
74: }
75:
76: ////////////////////////////////////////////////////////////////////////////
77:
78: /// <summary>
79: ///
80: /// </summary>
81: public static int SwitchRouteToRnidxRoute(Ia.Ngn.Cl.Model.Business.Default.SwitchRoute switchRoute)
82: {
83: int rnidxRoute;
84:
85: switch (switchRoute)
86: {
87: case Ia.Ngn.Cl.Model.Business.Default.SwitchRoute.HuaweiIms: rnidxRoute = 0; break;
88: case Ia.Ngn.Cl.Model.Business.Default.SwitchRoute.NokiaIms: rnidxRoute = 1; break;
89: case Ia.Ngn.Cl.Model.Business.Default.SwitchRoute.SiemensEwsdCopper: rnidxRoute = 2; break;
90: default: rnidxRoute = -1; break;
91: }
92:
93: return rnidxRoute;
94: }
95:
96: ////////////////////////////////////////////////////////////////////////////
97: ////////////////////////////////////////////////////////////////////////////
98: }
99:
100: ////////////////////////////////////////////////////////////////////////////
101: ////////////////////////////////////////////////////////////////////////////
102: }