)>}]
شركة التطبيقات المتكاملة لتصميم وبرمجة البرمجيات الخاصة ش.ش.و.
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:     /// </remarks> 
   15:     public class Subscriber
   16:     {
   17:         ////////////////////////////////////////////////////////////////////////////
   18:  
   19:         /// <summary>
   20:         ///
   21:         /// </summary>
   22:         public Subscriber() { }
   23:  
   24:         ////////////////////////////////////////////////////////////////////////////
   25:  
   26:         /// <summary>
   27:         ///
   28:         /// </summary>
   29:         public static string SubscriberId(int snb)
   30:         {
   31:             int serviceType;
   32:             string serviceId;
   33:  
   34:             serviceType = Ia.Ftn.Cl.Models.Business.Service.ServiceType.PstnService;
   35:  
   36:             serviceId = Ia.Ftn.Cl.Models.Business.Service.ServiceToServiceId(snb.ToString(), serviceType);
   37:  
   38:             return serviceId;
   39:         }
   40:  
   41:         ////////////////////////////////////////////////////////////////////////////
   42:  
   43:         /// <summary>
   44:         ///
   45:         /// </summary>
   46:         public static Ia.Ftn.Cl.Models.Business.Default.SwitchRoute IcsxRouteToSwitchRoute(int icsxRoute)
   47:         {
   48:             Ia.Ftn.Cl.Models.Business.Default.SwitchRoute switchRoute;
   49:  
   50:             switch (icsxRoute)
   51:             {
   52:                 // sync with below
   53:                 case 0: switchRoute = Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.EricssonAxeCopper; break;
   54:                 case 1: switchRoute = Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.EricssonAxeCopper; break;
   55:                 case 2: switchRoute = Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.EricssonAxeCopper; break;
   56:                 case 3: switchRoute = Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.NokiaIms; break;
   57:                 case 4: switchRoute = Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.HuaweiIms; break;
   58:                 default: switchRoute = Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.Unknown; break;
   59:             }
   60:  
   61:             return switchRoute;
   62:         }
   63:  
   64:         ////////////////////////////////////////////////////////////////////////////
   65:  
   66:         /// <summary>
   67:         ///
   68:         /// </summary>
   69:         public static int SwitchRouteToIcsxRoute(Ia.Ftn.Cl.Models.Business.Default.SwitchRoute switchRoute)
   70:         {
   71:             int icsxRoute;
   72:  
   73:             switch (switchRoute)
   74:             {
   75:                 // sync with above and below
   76:                 case Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.EricssonAxeCopper: icsxRoute = 0; break;
   77:                 case Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.NokiaIms: icsxRoute = 3; break;
   78:                 case Ia.Ftn.Cl.Models.Business.Default.SwitchRoute.HuaweiIms: icsxRoute = 4; break;
   79:                 default: icsxRoute = -1; break;
   80:             }
   81:  
   82:             return icsxRoute;
   83:         }
   84:  
   85:         ////////////////////////////////////////////////////////////////////////////
   86:  
   87:         /// <summary>
   88:         ///
   89:         /// </summary>
   90:         public static int IcsRouteFromSubscriberScl(string subscriberScl)
   91:         {
   92:             int icsRoute;
   93:  
   94:             // sync with above and below
   95:             if (subscriberScl.Contains("ICS-0")) icsRoute = 0;
   96:             else if (subscriberScl.Contains("ICS-1")) icsRoute = 1;
   97:             else if (subscriberScl.Contains("ICS-2")) icsRoute = 2;
   98:             else if (subscriberScl.Contains("ICS-3")) icsRoute = 3;
   99:             else if (subscriberScl.Contains("ICS-4")) icsRoute = 4;
  100:             else icsRoute = 0;
  101:  
  102:             return icsRoute;
  103:         }
  104:  
  105:         ////////////////////////////////////////////////////////////////////////////
  106:  
  107:         /// <summary>
  108:         ///
  109:         /// </summary>
  110:         public static string RouteName(string subscriberScl)
  111:         {
  112:             string routeName;
  113:  
  114:             // sync with above
  115:             if (subscriberScl.Contains("ICS-3")) routeName = "Nokia IMS";
  116:             else if (subscriberScl.Contains("ICS-4")) routeName = "Huawei IMS";
  117:             else routeName = "Ericsson AXE Copper";
  118:  
  119:             return routeName;
  120:         }
  121:  
  122:         ////////////////////////////////////////////////////////////////////////////
  123:  
  124:         /// <summary>
  125:         ///
  126:         /// </summary>
  127:         public static bool SetSclToEmptyToInvokeDeleteForAxeSubscribersThatAreRoutedToNokiaImsButAreStillInServiceInAxeSwitch()
  128:         {
  129:             return Ia.Ftn.Cl.Models.Data.Ericsson.Subscriber.UpdateSnbSetSclToEmptyWhereSclHasIcs3AndSutNotNc();
  130:         }
  131:  
  132:         ////////////////////////////////////////////////////////////////////////////
  133:         ////////////////////////////////////////////////////////////////////////////
  134:     }
  135:  
  136:     ////////////////////////////////////////////////////////////////////////////
  137:     ////////////////////////////////////////////////////////////////////////////
  138: }