)>}]
شركة التطبيقات المتكاملة لتصميم وبرمجة البرمجيات الخاصة ش.ش.و.
Integrated Applications Programming Company
Home » Code Library » Subscriber (Ia.Ftn.Cl.Models.Business.Ericsson)

Public general use code classes and xml files that we've compiled and used over the years:

AXE Subscriber support class for Fixed Telecommunications Network (FTN) business model.

    1:  
    2: using System.Collections.Generic;
    3:  
    4: namespace Ia.Ftn.Cl.Models.Business.Ericsson
    5: {
    6:     ////////////////////////////////////////////////////////////////////////////
    7:  
    8:     /// <summary publish="true">
    9:     /// AXE Subscriber support class for Fixed Telecommunications Network (FTN) business model.
   10:     /// </summary>
   11:     /// 
   12:     /// <remarks> 
   13:     /// Copyright © 2018-2022 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 Subscriber
   26:     {
   27:         ////////////////////////////////////////////////////////////////////////////
   28:  
   29:         /// <summary>
   30:         ///
   31:         /// </summary>
   32:         public Subscriber() { }
   33:  
   34:         ////////////////////////////////////////////////////////////////////////////
   35:  
   36:         /// <summary>
   37:         ///
   38:         /// </summary>
   39:         public static string SubscriberId(int snb)
   40:         {
   41:             int serviceType;
   42:             string serviceId;
   43:  
   44:             serviceType = Ia.Ftn.Cl.Models.Business.Service.ServiceType.PstnService;
   45:  
   46:             serviceId = Ia.Ftn.Cl.Models.Business.Service.ServiceToServiceId(snb.ToString(), serviceType);
   47:  
   48:             return serviceId;
   49:         }
   50:  
   51:         ////////////////////////////////////////////////////////////////////////////
   52:  
   53:         /// <summary>
   54:         ///
   55:         /// </summary>
   56:         public static Ia.Ftn.Cl.Models.Business.Default.SwitchRoute IcsxRouteToSwitchRoute(int icsxRoute)
   57:         {
   58:             Ia.Ftn.Cl.Models.Business.Default.SwitchRoute switchRoute;
   59:  
   60:             switch (icsxRoute)
   61:             {
   62:                 // sync with below
   63:                 case 0: switchRoute = Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.EricssonAxeCopper; break;
   64:                 case 1: switchRoute = Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.EricssonAxeCopper; break;
   65:                 case 2: switchRoute = Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.EricssonAxeCopper; break;
   66:                 case 3: switchRoute = Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.NokiaIms; break;
   67:                 case 4: switchRoute = Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.HuaweiIms; break;
   68:                 default: switchRoute = Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.Unknown; break;
   69:             }
   70:  
   71:             return switchRoute;
   72:         }
   73:  
   74:         ////////////////////////////////////////////////////////////////////////////
   75:  
   76:         /// <summary>
   77:         ///
   78:         /// </summary>
   79:         public static int SwitchRouteToIcsxRoute(Ia.Ftn.Cl.Models.Business.Default.SwitchRoute switchRoute)
   80:         {
   81:             int icsxRoute;
   82:  
   83:             switch (switchRoute)
   84:             {
   85:                 // sync with above and below
   86:                 case Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.EricssonAxeCopper: icsxRoute = 0; break;
   87:                 case Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.NokiaIms: icsxRoute = 3; break;
   88:                 case Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.HuaweiIms: icsxRoute = 4; break;
   89:                 default: icsxRoute = -1; break;
   90:             }
   91:  
   92:             return icsxRoute;
   93:         }
   94:  
   95:         ////////////////////////////////////////////////////////////////////////////
   96:  
   97:         /// <summary>
   98:         ///
   99:         /// </summary>
  100:         public static int IcsRouteFromSubscriberScl(string subscriberScl)
  101:         {
  102:             int icsRoute;
  103:  
  104:             // sync with above and below
  105:             if (subscriberScl.Contains("ICS-0")) icsRoute = 0;
  106:             else if (subscriberScl.Contains("ICS-1")) icsRoute = 1;
  107:             else if (subscriberScl.Contains("ICS-2")) icsRoute = 2;
  108:             else if (subscriberScl.Contains("ICS-3")) icsRoute = 3;
  109:             else if (subscriberScl.Contains("ICS-4")) icsRoute = 4;
  110:             else icsRoute = 0;
  111:  
  112:             return icsRoute;
  113:         }
  114:  
  115:         ////////////////////////////////////////////////////////////////////////////
  116:  
  117:         /// <summary>
  118:         ///
  119:         /// </summary>
  120:         public static string RouteName(string subscriberScl)
  121:         {
  122:             string routeName;
  123:  
  124:             // sync with above
  125:             if (subscriberScl.Contains("ICS-3")) routeName = "Nokia IMS";
  126:             else if (subscriberScl.Contains("ICS-4")) routeName = "Huawei IMS";
  127:             else routeName = "Ericsson AXE Copper";
  128:  
  129:             return routeName;
  130:         }
  131:  
  132:         ////////////////////////////////////////////////////////////////////////////
  133:  
  134:         /// <summary>
  135:         ///
  136:         /// </summary>
  137:         public static bool SetSclToEmptyToInvokeDeleteForAxeSubscribersThatAreRoutedToNokiaImsButAreStillInServiceInAxeSwitch()
  138:         {
  139:             return Ia.Ftn.Cl.Models.Data.Ericsson.Subscriber.UpdateSnbSetSclToEmptyWhereSclHasIcs3AndSutNotNc();
  140:         }
  141:  
  142:         ////////////////////////////////////////////////////////////////////////////
  143:         ////////////////////////////////////////////////////////////////////////////
  144:     }
  145:  
  146:     ////////////////////////////////////////////////////////////////////////////
  147:     ////////////////////////////////////////////////////////////////////////////
  148: }