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

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

SubParty Entity Framework class for Fixed Telecommunications Network (FTN) entity model.

    1: using System;
    2: using System.Collections.Generic;
    3: using System.ComponentModel.DataAnnotations;
    4: using System.ComponentModel.DataAnnotations.Schema;
    5: using System.Linq;
    6: using System.Threading;
    7: using System.Threading.Tasks;
    8:  
    9: namespace Ia.Ftn.Cl.Models.Nokia
   10: {
   11:     ////////////////////////////////////////////////////////////////////////////
   12:  
   13:     /// <summary publish="true">
   14:     /// SubParty Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
   15:     /// </summary>
   16:     /// 
   17:     /// <remarks> 
   18:     /// Copyright � 2014-2021 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
   19:     ///
   20:     /// This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
   21:     /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
   22:     ///
   23:     /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
   24:     /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
   25:     /// 
   26:     /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
   27:     /// 
   28:     /// Copyright notice: This notice may not be removed or altered from any source distribution.
   29:     /// </remarks> 
   30:     public class SubParty
   31:     {
   32:         /// <summary>
   33:         /// 1360 COM WebAPI User Guide 255-400-419R3.X
   34:         /// ngfs-subparty-v2(rtrv)
   35:         /// </summary>
   36:         public SubParty() { }
   37:  
   38:         /// <summary/>
   39:         [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
   40:         public string Id { get; set; }
   41:  
   42:         /// <summary>
   43:         /// PartyId (req for ent,req for ed). LCP Name for Party record. String (1-27) [+0-9a-zA-Z:@&amp;=!,|-_.!~*()%]* Before CTS R5.0: [+0-9a-zA-Z:@&amp;=!,-_.!~*'()%]* LCP-CTS R6.1 From CTS R6.1: [+0-9a-zA-Z:@&amp;=,|-_.!~*'()%#?/$][]* If the String Ends with '[AutoSelect]', '[AutoSelectSTAS]', or '[AutoSelectDTAS]' The Subscriber will be automatically distributed to the TASs. When [AutoSelect],[AutoSelectDTAS] or [AutoSelectSTAS] is used in ent- request, AssocOtasRealm should be empty. And the OTAS which has fewest subscriber will be chosen as AssocOtasRealm. For non-ICS subscriber request (do not include iHss private id info), [AutoSelect] can be used. For the subscriber request which include iHss Private Id info, [AutoSelectDTAS] and [AutoSelectSTAS] can be used. And the Realm in OTAS must match the "ApplicateionServer" defined in iHss Global IFC and this IFC must be used by iHss Service profile. Otherwise, error will be reported thant no service profile for this OTAS. String length does not include length of '[AutoSelect]', '[AutoSelectSTAS]', and '[AutoSelectDTAS]'. LCP-CTS R6.2.1 The new partyId. Used for changing partyId. Only used for ed command. Range same as PartyId.
   44:         /// </summary>
   45:         public string PartyId { get; set; }
   46:         /// <summary>
   47:         /// DisplayName (opt for ent,opt for ed). LCP DisplayName that is displayed on a Caller ID String (0-15).[+0-9a-zA-Z(),':@&amp;=!\-_\.!~\*%#&gt;&lt;$^\|?{}\[\];/`]*
   48:         /// </summary>
   49:         public string DisplayName { get; set; }
   50:  
   51:         /// <summary>
   52:         /// Category (req for ent,opt for ed). LCP String containing the Feature Set the party is assigned. The category is the feature bundle.
   53:         /// </summary>
   54:         public string Category { get; set; }
   55:  
   56:         /// <summary>
   57:         /// NewPartyId (opt for ent,opt for ed). LCP-CTS R9.1 Starting in COM 4.1, deprecated for switches on release CTS R9.1 and later. Use exec-ngfs-subscriber-changekey-v2.
   58:         /// </summary>
   59:         public string NewPartyId { get; set; }
   60:  
   61:         /// <summary>
   62:         /// PrimaryPUID (req for ent,opt for ed). LCP Primary Phone number of endpoint. String (1-32) [+0-9a-zA-Z:,\-_\.()]* LCP-CTS R6.1 From CTS R6.1: String(1-252) [+0-9a-zA-Z:,-_.()&=?~/$'!*]* LCP-CTS R9.0 From CTS 9.0, format puid@Domain is supported.All features assigned to this PUID also support @domain. puid length (1-32) [0-9a-zA-Z&amp;=\+$,\?/\-_\.!~\*'()]* domain is predefined in subscriber home domain, max length 219
   63:         /// </summary>
   64:         public string PrimaryPUID { get; set; }
   65:  
   66:         /// <summary>
   67:         /// NewPrimaryPUID (opt for ent,opt for ed). LCP-CTS R6.2.1 The new PrimaryPUId. Used for changing PrimaryPUID. Only used for ed command. Range same as PrimaryPUID. LCP-CTS R9.1 Starting in COM 4.1, deprecated for switches on release CTS R9.1 and later. Use exec-ngfs-subscriber-changekey-v2.
   68:         /// </summary>
   69:         public string NewPrimaryPUID { get; set; }
   70:  
   71:         /// <summary>
   72:         /// PrimaryPUIDDomainRequired (opt for ent,opt for ed). LCP-CTS R9.0 Boolean (true or false). Default false.
   73:         /// </summary>
   74:         public bool PrimaryPUIDDomainRequired { get; set; }
   75:  
   76:         /// <summary>
   77:         /// PrimaryPUIDCPEProfileNumber (req for ent,opt for ed). LCP Identifies type of CPE Int (0-255)
   78:         /// </summary>
   79:         public int PrimaryPUIDCPEProfileNumber { get; set; }
   80:  
   81:         /// <summary>
   82:         /// PrimaryPUIDFlashable (opt for ent,opt for ed). LCP Has flash capabilities. Boolean (true or false)
   83:         /// </summary>
   84:         public bool PrimaryPUIDFlashable { get; set; }
   85:  
   86:         /// <summary>
   87:         /// AssocOtasRealm (opt for ent,opt for ed). LCP The TAS that supports this party. String (0-63) [0-9a-zA-Z\.\-]*
   88:         /// </summary>
   89:         public string AssocOtasRealm { get; set; }
   90:  
   91:         /// <summary>
   92:         /// NetworkProfileName (opt for ent,opt for ed). LCP-CTS R7.1.1 Name of the Network Profile String (0-20) [0-9a-zA-Z\-_]* When a subparty is associated with a template, any conflicting field will be silently overridden by the template's value.
   93:         /// </summary>
   94:         public string NetworkProfileName { get; set; }
   95:  
   96:         /// <summary>
   97:         /// NetworkProfileVersion (opt for ent,opt for ed). LCP-CTS R7.1.1 Version of the Network Profile int (1-99)
   98:         /// </summary>
   99:         public int NetworkProfileVersion { get; set; }
  100:  
  101:         /// <summary>
  102:         /// ServiceProfileName (opt for ent,opt for ed). LCP-CTS R7.1.1 Name of the Service Profile String (0-20) [0-9a-zA-Z\-_]* When a subparty is associated with a template, any conflicting field will be silently overridden by the template's value.
  103:         /// </summary>
  104:         public string ServiceProfileName { get; set; }
  105:  
  106:         /// <summary>
  107:         /// ServiceProfileVersion (opt for ent,opt for ed). LCP-CTS R7.1.1 Version of the Service Profile int (1-99)
  108:         /// </summary>
  109:         public int ServiceProfileVersion { get; set; }
  110:  
  111:         /// <summary>
  112:         /// IsReducedServiceProfile (opt for ent,opt for ed). LCP-CTS R9.0 Boolean (true or false). Default is false. This field indicates whether the Service Profile is a Reduced Service Profile or a regular Service Profile profile type.
  113:         /// </summary>
  114:         public bool IsReducedServiceProfile { get; set; }
  115:  
  116:         /// <summary>
  117:         /// CallLimit (opt for ent,opt for ed). LCP Maximum number of simultaneous calls permitted for this subscriber. Integer(1-1024) For CTS R9.1 and later, Integer(1-1920) LCP-CTS R10.2 Integer(1-2500)
  118:         /// </summary>
  119:         public int CallLimit { get; set; }
  120:  
  121:         /// <summary>
  122:         /// ServiceSuspension (opt for ent,opt for ed). LCP Suspend services Boolean (true or false)
  123:         /// </summary>
  124:         public bool ServiceSuspension { get; set; }
  125:  
  126:         /// <summary>
  127:         /// OriginationSuspension (opt for ent,opt for ed). LCP-CTS R9.2.1 Boolean (true or false). Default false. Only the ability to originate a call is suspended.
  128:         /// </summary>
  129:         public bool OriginationSuspension { get; set; }
  130:  
  131:         /// <summary>
  132:         /// TerminationSuspension (opt for ent,opt for ed). LCP-CTS R9.2.1 Boolean (true or false). Default false. Only the ability to receive a call is suspended.
  133:         /// </summary>
  134:         public bool TerminationSuspension { get; set; }
  135:  
  136:         /// <summary>
  137:         /// SuspensionNotification (opt for ent,opt for ed). LCP-CTS R9.2.1 Boolean (true or false). Default false. Neither originating or terminating service is barred or blocked; however any originating attempt results in a announcement being played that is intended to warn the subscriber that their service may soon be suspended due to non-payment.
  138:         /// </summary>
  139:         public bool SuspensionNotification { get; set; }
  140:  
  141:         /// <summary>
  142:         /// UserOrigSuspension (opt for ent,opt for ed). LCP-CTS R9.2.1 Boolean (true or false). Default false. This indicates that the subscriber requested the suspension of their own service for originations (during which time they pay a reduced fee). 
  143:         /// </summary>
  144:         public bool UserOrigSuspension { get; set; }
  145:  
  146:         /// <summary>
  147:         /// UserTermSuspension (opt for ent,opt for ed). LCP-CTS R9.2.1 Boolean (true or false). Default false. This indicates that the subscriber requested the suspension of their own service for terminations (during which time they pay a reduced fee).
  148:         /// </summary>
  149:         public bool UserTermSuspension { get; set; }
  150:  
  151:         /// <summary>
  152:         /// AssocWpifRealm (opt for ent,opt for ed). LCP Web portal interface URI. String(0-63) [0-9a-zA-Z\.\-]*
  153:         /// </summary>
  154:         public string AssocWpifRealm { get; set; }
  155:  
  156:         /// <summary>
  157:         /// IddPrefix (opt for ent,opt for ed). LCP-CTS R3.0 IDD Prefix. Number string(0-5)
  158:         /// </summary>
  159:         public string IddPrefix { get; set; }
  160:  
  161:         /// <summary>
  162:         /// AlternateFsdbFqdn (opt for ent,opt for ed). LCP-CTS R3.0 Alternate Fsdb fully qualified domain name.If there is no Primary/Protection Geographic Redundancy this field shall not be populated. String(0-63) [0-9a-zA-Z:-_.]*
  163:         /// </summary>
  164:         public string AlternateFsdbFqdn { get; set; }
  165:  
  166:         /// <summary>
  167:         /// SharedHssData (opt for ent,opt for ed). LCP-CTS R3.0 Has Shared Hss Data or not. Boolean(true or false)
  168:         /// </summary>
  169:         public bool SharedHssData { get; set; }
  170:  
  171:         /// <summary>
  172:         /// Pin (opt for ent,opt for ed). LCP-CTS R4.0 String(0 or 4-10) [0-9]* Pin is required for the User Control options under the CallBarring/CallBlocking feature. Note: If you change this pin field you must also change the associated PSI Extension and PSI User pins LCP-CTS R9.0 Deprecated since CTS R9.0.
  173:         /// </summary>
  174:         public string Pin { get; set; }
  175:  
  176:         /// <summary>
  177:         /// MsnCapability (opt for ent,opt for ed). LCP-CTS R6.1 Boolean (true or false) Indicates that the subscriber is allowed to utilize Multiple Subscriber Number Service. MSN service provides additional service support on a per PUID basis, i.e. ACR will be capable of assigning to each PUID in the party when MsnCapability is set. Default false
  178:         /// </summary>
  179:         public bool MsnCapability { get; set; }
  180:  
  181:         /// <summary>
  182:         /// VideoProhibit (opt for ent,opt for ed). LCP-CTS R9.0 Boolean(true or false) Default: false
  183:         /// </summary>
  184:         public bool VideoProhibit { get; set; }
  185:  
  186:         /// <summary>
  187:         /// MaxFwdHops (opt for ent,opt for ed). LCP-CTS R4.1 Maximum number of Call Forwarding Hops Integer (1-20) Default 10
  188:         /// </summary>
  189:         public int MaxFwdHops { get; set; }
  190:  
  191:         /// <summary>
  192:         /// CsdFlavor (opt for ent,opt for ed). LCP-CTS R5.0 Valid values: TAS_CSD_NONE, TAS_CSD_AIMS_P0, TAS_CSD_ALU_P2
  193:         /// </summary>
  194:         public int CsdFlavor { get; set; }
  195:  
  196:         /// <summary>
  197:         /// CsdDynamic (opt for ent,opt for ed). LCP-CTS R6.1 Boolean (true or false) Indicates that the subscriber is allowed to utilize the Centralized Subscriber Database. Default false
  198:         /// </summary>
  199:         public bool CsdDynamic { get; set; }
  200:  
  201:         /// <summary>
  202:         /// SipErrorTableId (opt for ent,opt for ed). LCP-CTS R5.0 SIP error handling table ID which can be assigned on a per Party basis to provide the flexibility to support individual customization for handling SIP error responses. Integer (1- 255) Default: 0: the system table LCP-CTS R7.1 SIP error handling table ID which can be assigned on a per Party basis to provide the flexibility to support individual customization for handling SIP error responses on the originating side. Integer (1- 255) Default: 0: the system table
  203:         /// </summary>
  204:         public int SipErrorTableId { get; set; }
  205:  
  206:         /// <summary>
  207:         /// TreatmentTableId (opt for ent,opt for ed). LCP-CTS R5.0 Treatment table ID which can be assigned on a per Party basis to provide the flexibility to support individual treatment tables for Wholesaling and VPN type services. Integer (120-1145) Default: 0: the default treatment table 
  208:         /// </summary>
  209:         public int TreatmentTableId { get; set; }
  210:  
  211:         /// <summary>
  212:         /// Locale (opt for ent,opt for ed). LCP-CTS R5.0 The locale of the subscriber which is used to override the system locale on a per Party basis. ([a-zA-Z]{2}([a-zA-Z]) ?_[a-zA-Z]{2}([a-zA-Z])?)? For example: en_us LCP-CTS R9.2 From CTS R9.2, deprecated.
  213:         /// </summary>
  214:         public string Locale { get; set; }
  215:  
  216:         /// <summary>
  217:         /// CliPrefixList (opt for ent,opt for ed). LCP-CTS R5.0 A comma separated list of prefixes which are to be stripped off before presenting calling or called numbers. String (0-35) [0-9,]*
  218:         /// </summary>
  219:         public string CliPrefixList { get; set; }
  220:  
  221:         /// <summary>
  222:         /// IsGroupCPE (opt for ent,opt for ed). LCP-CTS R5.0 Boolean (true or false) A party cannot require Group CPE processing and also be marked as a flashable endpoint.
  223:         /// </summary>
  224:         public bool IsGroupCPE { get; set; }
  225:  
  226:         /// <summary>
  227:         /// Receive181Mode (opt for ent,opt for ed). LCP-CTS R5.0 Valid value: TAS_181_NONE, TAS_181_WITH_FWINFO Default is TAS_181_NONE
  228:         /// </summary>
  229:         public int Receive181Mode { get; set; }
  230:  
  231:         /// <summary>
  232:         /// CcNdcLength (opt for ent,opt for ed). LCP-CTS R6.0 0 or integer (3-10) default 0
  233:         /// </summary>
  234:         public int CcNdcLength { get; set; }
  235:  
  236:         /// <summary>
  237:         /// MaxActiveCalls (opt for ent,opt for ed). LCP-CTS R6.0 Integer (0-2500) default 0 The value should not be greater than Call Limit.
  238:         /// </summary>
  239:         public int MaxActiveCalls { get; set; }
  240:  
  241:         /// <summary>
  242:         /// CallingPartyCategory (opt for ent,opt for ed). LCP-CTS R6.1 String indicates the Party Type. Valid Values: CPC_ORDINARY, CPC_OPERATOR, CPC_PRIORITY, CPC_DATA, CPC_TEST, CPC_PAYPHONE, CPC_CELLULAR, CPC_PRISON, CPC_HOTEL, CPC_POLICE, CPC_UNKNOWN, CPC_HOSPITAL, CPC_SPARE14, CPC_SPARE15, CPC_SPARE16, CPC_SPARE17, CPC_SPARE18, CPC_SPARE19, CPC_SPARE20, CPC_SPARE21, CPC_SPARE22, CPC_SPARE23, CPC_SPARE24, CPC_SPARE25, CPC_SPARE26, CPC_SPARE27, CPC_SPARE28, CPC_SPARE29, CPC_SPARE30, CPC_SPARE31, Default CPC_ORDINARY
  243:         /// </summary>
  244:         public int CallingPartyCategory { get; set; }
  245:  
  246:         /// <summary>
  247:         /// PublicUID1 (opt for ent,opt for ed). LCP Secondary Phone number of endpoint. String (1-32) [+0-9a-zA-Z:,\-_\.()]* LCP-CTS R6.1 From CTS R6.1: String(1-252) [+0-9a-zA-Z:,-_.()&=?~/$'!*]* LCP-CTS R9.0 From CTS 9.0, format puid@Domain is supported. All features assigned to this PUID also support @domain. puid length (1-32) [0-9a-zA-Z&amp;=\+$,\?/\-_\.!~\*'()]* domain is predefined in subscriber home domain, max length 219
  248:         /// </summary>
  249:         public string PublicUID1 { get; set; }
  250:  
  251:         /// <summary>
  252:         /// PublicUID2 (opt for ent,opt for ed). LCP The same as PublicUID1 LCP-CTS R9.0 From CTS 9.0, format puid@Domain is supported.All features assigned to this PUID also support @domain. puid length (1-32) [0-9a-zA-Z&amp;=\+$,\?/\-_\.!~\*'()]* domain is predefined in subscriber home domain, max length 219
  253:         /// </summary>
  254:         public string PublicUID2 { get; set; }
  255:  
  256:         /// <summary>
  257:         /// PublicUID3 (opt for ent,opt for ed). LCP-CTS R9.0 From CTS 9.0, format puid@Domain is supported.All LCP The same as PublicUID1 features assigned to this PUID also support @domain. puid length (1-32) [0-9a-zA-Z&amp;=\+$,\?/\-_\.!~\*'()]* domain is predefined in subscriber home domain, max length 219
  258:         /// </summary>
  259:         public string PublicUID3 { get; set; }
  260:  
  261:         /// <summary>
  262:         /// PublicUID4 (opt for ent,opt for ed). LCP-CTS R9.0 From CTS 9.0, format puid@Domain is supported.All LCP The same as PublicUID1 features assigned to this PUID also support @domain. puid length (1-32) [0-9a-zA-Z&amp;=\+$,\?/\-_\.!~\*'()]* domain is predefined in subscriber home domain, max length 219
  263:         /// </summary>
  264:         public string PublicUID4 { get; set; }
  265:  
  266:         /// <summary>
  267:         /// PublicUID5 (opt for ent,opt for ed). LCP The same as PublicUID1 LCP-CTS R9.0 From CTS 9.0, format puid@Domain is supported.All features assigned to this PUID also support @domain. puid length (1-32) [0-9a-zA-Z&amp;=\+$,\?/\-_\.!~\*'()]* domain is predefined in subscriber home domain, max length 219
  268:         /// </summary>
  269:         public string PublicUID5 { get; set; }
  270:  
  271:         /// <summary>
  272:         /// PublicUID6 (opt for ent,opt for ed). LCP-CTS R9.0 From CTS 9.0, format puid@Domain is supported.All LCP The same as PublicUID1 features assigned to this PUID also support @domain. puid length (1-32) [0-9a-zA-Z&amp;=\+$,\?/\-_\.!~\*'()]* domain is predefined in subscriber home domain, max length 219
  273:         /// </summary>
  274:         public string PublicUID6 { get; set; }
  275:  
  276:         /// <summary>
  277:         /// PublicUID7 (opt for ent,opt for ed) LCP The same as PublicUID1 LCP-CTS R9.0 From CTS 9.0, format puid@Domain is supported.All LCP The same as PublicUID1 features assigned to this PUID also support @domain. puid length (1-32) [0-9a-zA-Z&amp;=\+$,\?/\-_\.!~\*'()]* domain is predefined in subscriber home domain, max length 219
  278:         /// </summary>
  279:         public string PublicUID7 { get; set; }
  280:  
  281:         /// <summary>
  282:         /// PublicUID8 (opt for ent,opt for ed). LCP-CTS R6.0 The same as PublicUID1 LCP-CTS R9.0 From CTS 9.0, format puid@Domain is supported.All features assigned to this PUID also support @domain. puid length (1-32) [0-9a-zA-Z&amp;=\+$,\?/\-_\.!~\*'()]* domain is predefined in subscriber home domain, max length 219
  283:         /// </summary>
  284:         public string PublicUID8 { get; set; }
  285:  
  286:         /// <summary>
  287:         /// PublicUID9 (opt for ent,opt for ed). LCP-CTS R6.0 The same as PublicUID1 LCP-CTS R9.0 From CTS 9.0, format puid@Domain is supported.All features assigned to this PUID also support @domain. puid length (1-32) [0-9a-zA-Z&amp;=\+$,\?/\-_\.!~\*'()]* domain is predefined in subscriber home domain, max length 219
  288:         /// </summary>
  289:         public string PublicUID9 { get; set; }
  290:  
  291:         /// <summary>
  292:         /// PublicUID1DomainRequired (opt for ent,opt for ed). LCP-CTS R9.0 Boolean (true or false).Default false.
  293:         /// </summary>
  294:         public bool PublicUID1DomainRequired { get; set; }
  295:  
  296:         /// <summary>
  297:         /// PublicUID2DomainRequired (opt for ent,opt for ed). LCP-CTS R9.0 Boolean (true or false).Default false.
  298:         /// </summary>
  299:         public bool PublicUID2DomainRequired { get; set; }
  300:  
  301:         /// <summary>
  302:         /// PublicUID3DomainRequired (opt for ent,opt for ed). LCP-CTS R9.0 Boolean (true or false) Default false.
  303:         /// </summary>
  304:         public bool PublicUID3DomainRequired { get; set; }
  305:  
  306:         /// <summary>
  307:         /// PublicUID4DomainRequired (opt for ent,opt for ed). LCP-CTS R9.0 Boolean (true or false) Default false.
  308:         /// </summary>
  309:         public bool PublicUID4DomainRequired { get; set; }
  310:  
  311:         /// <summary>
  312:         /// PublicUID5DomainRequired (opt for ent,opt for ed). LCP-CTS R9.0 Boolean (true or false) Default false.
  313:         /// </summary>
  314:         public bool PublicUID5DomainRequired { get; set; }
  315:  
  316:         /// <summary>
  317:         /// PublicUID6DomainRequired (opt for ent,opt for ed). LCP-CTS R9.0 Boolean (true or false) Default false.
  318:         /// </summary>
  319:         public bool PublicUID6DomainRequired { get; set; }
  320:  
  321:         /// <summary>
  322:         /// PublicUID7DomainRequired (opt for ent,opt for ed). LCP-CTS R9.0 Boolean (true or false)Default false.
  323:         /// </summary>
  324:         public bool PublicUID7DomainRequired { get; set; }
  325:  
  326:         /// <summary>
  327:         /// PublicUID8DomainRequired (opt for ent,opt for ed). LCP-CTS R9.0 Boolean (true or false)Default false.
  328:         /// </summary>
  329:         public bool PublicUID8DomainRequired { get; set; }
  330:  
  331:         /// <summary>
  332:         /// PublicUID9DomainRequired (opt for ent,opt for ed). LCP-CTS R9.0 Boolean (true or false)Default false.
  333:         /// </summary>
  334:         public bool PublicUID9DomainRequired { get; set; }
  335:  
  336:         /// <summary>
  337:         /// WildCardPUIDStr (opt for ent,opt for ed). LCP-CTS R6.0 Format as: WildCardPUID1` WildCardPUID2`...... The max number for WildCardPUID is 31. Wild-card Puids have a different format than regular PUID. They are numbers with the wild-card part at the end delimited by '!'. Few examples of wildcard PUIDs: 163000![1-9]! Range 1630001 - 1630009 16300![1-9][0-9]! Range 1630010 - 1630099 1630![1-9][0-9].! Range 1630100 - 1630999 String(3-64) (+)?[0-9]*(!)[0-9-.*[]]+(!)
  338:         /// </summary>
  339:         public string WildCardPUIDStr { get; set; }
  340:  
  341:         /// <summary>
  342:         /// AllowCustomAnnouncement (opt for ent,opt for ed). LCP-CTS R6.1 Boolean (true or false) Indicates if the subscriber is allowed to use custom announcements. Default false
  343:         /// </summary>
  344:         public bool AllowCustomAnnouncement { get; set; }
  345:  
  346:         /// <summary>
  347:         /// PtySpareLong1 (opt for ent,opt for ed). LCP-CTS R6.1a (0-4294967295) default 0 The following party level spare fields are not stored in CTS database now.
  348:         /// </summary>
  349:         public long PtySpareLong1 { get; set; }
  350:  
  351:         /// <summary>
  352:         /// PtySpareString (opt for ent,opt for ed). LCP-CTS R6.1a The length is between 0 and 252. 
  353:         /// </summary>
  354:         public string PtySpareString { get; set; }
  355:  
  356:         /// <summary>
  357:         /// PtySpareString2 (opt for ent,opt for ed). LCP-CTS R10.0 The length is between 0 and 252.
  358:         /// </summary>
  359:         public string PtySpareString2 { get; set; }
  360:  
  361:         /// <summary>
  362:         /// PtySpareShort1 (opt for ent,opt for ed). LCP-CTS R6.1a (0-65535) default 0
  363:         /// </summary>
  364:         public int PtySpareShort1 { get; set; }
  365:  
  366:         /// <summary>
  367:         /// PtySpareShort2 (opt for ent,opt for ed). LCP-CTS R6.1a (0-65535) default 0
  368:         /// </summary>
  369:         public int PtySpareShort2 { get; set; }
  370:  
  371:         /// <summary>
  372:         /// PtySpareBool1 (opt for ent,opt for ed). LCP-CTS R6.1a Boolean (true or false) default false
  373:         /// </summary>
  374:         public bool PtySpareBool1 { get; set; }
  375:  
  376:         /// <summary>
  377:         /// PtySpareBool2 (opt for ent,opt for ed). LCP-CTS R6.1a Boolean (true or false) default false
  378:         /// </summary>
  379:         public bool PtySpareBool2 { get; set; }
  380:  
  381:         /// <summary>
  382:         /// PtySpareBool3 (opt for ent,opt for ed). LCP-CTS R6.1a Boolean (true or false) default false
  383:         /// </summary>
  384:         public bool PtySpareBool3 { get; set; }
  385:  
  386:         /// <summary>
  387:         /// PtySpareBool4 (opt for ent,opt for ed). LCP-CTS R6.1a Boolean (true or false) default false
  388:         /// </summary>
  389:         public bool PtySpareBool4 { get; set; }
  390:  
  391:         /// <summary>
  392:         /// PtySpareBool5 (opt for ent,opt for ed). LCP-CTS R6.1a Boolean (true or false) default false
  393:         /// </summary>
  394:         public bool PtySpareBool5 { get; set; }
  395:  
  396:         /// <summary>
  397:         /// PtySpareBool6 (opt for ent,opt for ed). LCP-CTS R6.1a Boolean (true or false) default false
  398:         /// </summary>
  399:         public bool PtySpareBool6 { get; set; }
  400:  
  401:         /// <summary>
  402:         /// PtySpareBool7 (opt for ent,opt for ed). LCP-CTS R6.1a Boolean (true or false) default false
  403:         /// </summary>
  404:         public bool PtySpareBool7 { get; set; }
  405:  
  406:         /// <summary>
  407:         /// PtySpareBool8 (opt for ent,opt for ed). LCP-CTS R6.1a Boolean (true or false) default false
  408:         /// </summary>
  409:         public bool PtySpareBool8 { get; set; }
  410:  
  411:         /// <summary>
  412:         /// TerminatingTableId (opt for ent,opt for ed). LCP-CTS R7.1 Terminating SIP error handling table ID which can be assigned on a per Party basis to provide the flexibility to support individual customization for handling terminating SIP error responses on the terminating side. Integer (1- 255) Default: 0: the system table
  413:         /// </summary>
  414:         public int TerminatingTableId { get; set; }
  415:  
  416:         /// <summary>
  417:         /// AllowNonSipTelUri (opt for ent,opt for ed). LCP-CTS R8.0 Boolean (true or false) Default false
  418:         /// </summary>
  419:         public bool AllowNonSipTelUri { get; set; }
  420:  
  421:         /// <summary>
  422:         /// LocationType (opt for ent,opt for ed). LCP-CTS R8.1.1 One of: - None - EHRPD - LTE - 3G-1X (1) If we set "None" to "LocationType", "RncID", "LteMcc", "LteMnc", "LteTac", "MarketSID" and "SwitchNumber" could be only set null value. (2) If we set "EHRPD" to "LocationType", "RncID" could be inputted with value. Meanwhile, null could only be set to "LteMcc", "LteMnc", "LteTac", "MarketSID" and "SwitchNumber". (3) If we set "LTE" to "LocationType", "LteMcc", "LteMnc" and "LteTac" could be inputed with value. Meanwhile, null could only be set to "MarketSID", "SwitchNumber"and "RncID". (4) If we set "3G-1X" to "LocationType", "MarketSID" and "SwitchNumber" could be inputted with value. Meanwhile, null could only be set to "RncID", "LteMcc", "LteMnc" and "LteTac".
  423:         /// </summary>
  424:         public int LocationType { get; set; }
  425:  
  426:         /// <summary>
  427:         /// RncID (opt for ent,opt for ed). LCP-CTS R8.1.1 String (3..15) Required when LocationType=EHRPD
  428:         /// </summary>
  429:         public string RncID { get; set; }
  430:  
  431:         /// <summary>
  432:         /// LteMcc (opt for ent,opt for ed). LCP-CTS R8.1.1 string(3) Required when LocationType=LTE
  433:         /// </summary>
  434:         public string LteMcc { get; set; }
  435:  
  436:         /// <summary>
  437:         /// LteMnc (opt for ent,opt for ed). LCP-CTS R8.1.1 string(2..3) Required when LocationType=LTE
  438:         /// </summary>
  439:         public string LteMnc { get; set; }
  440:  
  441:         /// <summary>
  442:         /// LteTac (opt for ent,opt for ed). LCP-CTS R8.1.1 number 0..65535 Required when LocationType=LTE
  443:         /// </summary>
  444:         public int LteTac { get; set; }
  445:  
  446:         /// <summary>
  447:         /// MarketSID (opt for ent,opt for ed). LCP-CTS R8.1.1 number 0..65535 Required when LocationType=3G-1X
  448:         /// </summary>
  449:         public int MarketSID { get; set; }
  450:  
  451:         /// <summary>
  452:         /// SwitchNumber (opt for ent,opt for ed). LCP-CTS R8.1.1 Number 0..255 Required when LocationType=3G-1X
  453:         /// </summary>
  454:         public int SwitchNumber { get; set; }
  455:  
  456:         /// <summary>
  457:         /// CallsToWebUserProhibited (opt for ent,opt for ed). LCP-CTS R9.0 Boolean (true or false). Default false
  458:         /// </summary>
  459:         public bool CallsToWebUserProhibited { get; set; }
  460:  
  461:         /// <summary>
  462:         /// IMSI (opt for ent,opt for ed). LCP-CTS R10.1 String:blank or 6-15 digits Default blank
  463:         /// </summary>
  464:         public string IMSI { get; set; }
  465:  
  466:         /// <summary>
  467:         /// IMSNotSupported (opt for ent,opt for ed). LCP-CTS R10.1 Boolean: true or false Default: false
  468:         /// </summary>
  469:         public bool IMSNotSupported { get; set; }
  470:  
  471:         /// <summary>
  472:         /// ValidateCellID (opt for ent,opt for ed). LCP-CTS R10.1 Boolean(true or false) Default: false
  473:         /// </summary>
  474:         public bool ValidateCellID { get; set; }
  475:  
  476:         /// <summary>
  477:         /// OperatorID (opt for ent,opt for ed). LCP-CTS R10.1 Integer (0-999) default 0
  478:         /// </summary>
  479:         public int OperatorID { get; set; }
  480:  
  481:         /// <summary>
  482:         /// HomeMTA (opt for ent,opt for ed). LCP-CTS R10.1 Integer (0-99) default 0
  483:         /// </summary>
  484:         public int HomeMTA { get; set; }
  485:  
  486:         /// <summary>
  487:         /// ForwardDenyNumbers (opt for ent,opt for ed). LCP-CTS R10.1 Boolean (true or false). Default is false. 
  488:         /// </summary>
  489:         public bool ForwardDenyNumbers { get; set; }
  490:  
  491:         /// <summary>
  492:         /// PlayAnnoFailNotForward (opt for ent,opt for ed). LCP-CTS R10.1 Boolean (true or false). Default false.
  493:         /// </summary>
  494:         public bool PlayAnnoFailNotForward { get; set; }
  495:  
  496:         /// <summary>
  497:         /// MrfPoolID (opt for ent,opt for ed). LCP-CTS R10.0 Integer (0-31) default 0 
  498:         /// </summary>
  499:         public int MrfPoolID { get; set; }
  500:  
  501:         /// <summary>
  502:         /// Custom120x (opt for ent,opt for ed). LCP-CTS R10.1(COM 3.0.X) Boolean (true or false). Default is false.
  503:         /// </summary>
  504:         public bool Custom120x { get; set; }
  505:  
  506:         /// <summary/>
  507:         [ForeignKey("AgcfEndpoint_Id")]
  508:         public virtual AgcfEndpoint AgcfEndpoint { get; set; }
  509:  
  510:         /// <summary/>
  511:         public virtual ICollection<Subscriber> Subscribers { get; set; }
  512:  
  513:         /// <summary/>
  514:         public DateTime Created { get; set; }
  515:  
  516:         /// <summary/>
  517:         public DateTime Updated { get; set; }
  518:  
  519:         ////////////////////////////////////////////////////////////////////////////
  520:  
  521:         /// <summary>
  522:         ///
  523:         /// </summary>
  524:         public static string SubPartyId(string partyId)
  525:         {
  526:             return partyId;
  527:         }
  528:  
  529:         ////////////////////////////////////////////////////////////////////////////
  530:  
  531:         /// <summary>
  532:         ///
  533:         /// </summary>
  534:         public bool IsSip
  535:         {
  536:             get
  537:             {
  538:                 bool isSip;
  539:  
  540:                 isSip = Ia.Ftn.Cl.Models.Business.Nokia.SubParty.IsSip(this.PrimaryPUIDCPEProfileNumber);
  541:  
  542:                 return isSip;
  543:             }
  544:         }
  545:  
  546:         ////////////////////////////////////////////////////////////////////////////
  547:  
  548:         /// <summary>
  549:         ///
  550:         /// </summary>
  551:         public bool Equal(SubParty b)
  552:         {
  553:             // below: this will not check the Id, Created, Updated fields
  554:             bool areEqual;
  555:  
  556:             //if (this.BatteryBackupAvailable != b.BatteryBackupAvailable) areEqual = false;
  557:             //else areEqual = true;
  558:  
  559:             areEqual = false;
  560:  
  561:             return areEqual;
  562:         }
  563:  
  564:         ////////////////////////////////////////////////////////////////////////////
  565:  
  566:         /// <summary>
  567:         ///
  568:         /// </summary>
  569:         public bool Update(SubParty updatedSubParty)
  570:         {
  571:             // below: this will not update Id, Created
  572:             bool updated;
  573:  
  574:             updated = false;
  575:  
  576:             if (this.PartyId != updatedSubParty.PartyId) { this.PartyId = updatedSubParty.PartyId; updated = true; }
  577:             if (this.DisplayName != updatedSubParty.DisplayName) { this.DisplayName = updatedSubParty.DisplayName; updated = true; }
  578:             if (this.Category != updatedSubParty.Category) { this.Category = updatedSubParty.Category; updated = true; }
  579:             if (this.NewPartyId != updatedSubParty.NewPartyId) { this.NewPartyId = updatedSubParty.NewPartyId; updated = true; }
  580:             if (this.PrimaryPUID != updatedSubParty.PrimaryPUID) { this.PrimaryPUID = updatedSubParty.PrimaryPUID; updated = true; }
  581:             if (this.NewPrimaryPUID != updatedSubParty.NewPrimaryPUID) { this.NewPrimaryPUID = updatedSubParty.NewPrimaryPUID; updated = true; }
  582:             if (this.PrimaryPUIDDomainRequired != updatedSubParty.PrimaryPUIDDomainRequired) { this.PrimaryPUIDDomainRequired = updatedSubParty.PrimaryPUIDDomainRequired; updated = true; }
  583:             if (this.PrimaryPUIDCPEProfileNumber != updatedSubParty.PrimaryPUIDCPEProfileNumber) { this.PrimaryPUIDCPEProfileNumber = updatedSubParty.PrimaryPUIDCPEProfileNumber; updated = true; }
  584:             if (this.PrimaryPUIDFlashable != updatedSubParty.PrimaryPUIDFlashable) { this.PrimaryPUIDFlashable = updatedSubParty.PrimaryPUIDFlashable; updated = true; }
  585:             if (this.AssocOtasRealm != updatedSubParty.AssocOtasRealm) { this.AssocOtasRealm = updatedSubParty.AssocOtasRealm; updated = true; }
  586:             if (this.NetworkProfileName != updatedSubParty.NetworkProfileName) { this.NetworkProfileName = updatedSubParty.NetworkProfileName; updated = true; }
  587:             if (this.NetworkProfileVersion != updatedSubParty.NetworkProfileVersion) { this.NetworkProfileVersion = updatedSubParty.NetworkProfileVersion; updated = true; }
  588:             if (this.ServiceProfileName != updatedSubParty.ServiceProfileName) { this.ServiceProfileName = updatedSubParty.ServiceProfileName; updated = true; }
  589:             if (this.ServiceProfileVersion != updatedSubParty.ServiceProfileVersion) { this.ServiceProfileVersion = updatedSubParty.ServiceProfileVersion; updated = true; }
  590:             if (this.IsReducedServiceProfile != updatedSubParty.IsReducedServiceProfile) { this.IsReducedServiceProfile = updatedSubParty.IsReducedServiceProfile; updated = true; }
  591:             if (this.CallLimit != updatedSubParty.CallLimit) { this.CallLimit = updatedSubParty.CallLimit; updated = true; }
  592:             if (this.ServiceSuspension != updatedSubParty.ServiceSuspension) { this.ServiceSuspension = updatedSubParty.ServiceSuspension; updated = true; }
  593:             if (this.OriginationSuspension != updatedSubParty.OriginationSuspension) { this.OriginationSuspension = updatedSubParty.OriginationSuspension; updated = true; }
  594:             if (this.TerminationSuspension != updatedSubParty.TerminationSuspension) { this.TerminationSuspension = updatedSubParty.TerminationSuspension; updated = true; }
  595:             if (this.SuspensionNotification != updatedSubParty.SuspensionNotification) { this.SuspensionNotification = updatedSubParty.SuspensionNotification; updated = true; }
  596:             if (this.UserOrigSuspension != updatedSubParty.UserOrigSuspension) { this.UserOrigSuspension = updatedSubParty.UserOrigSuspension; updated = true; }
  597:             if (this.UserTermSuspension != updatedSubParty.UserTermSuspension) { this.UserTermSuspension = updatedSubParty.UserTermSuspension; updated = true; }
  598:             if (this.AssocWpifRealm != updatedSubParty.AssocWpifRealm) { this.AssocWpifRealm = updatedSubParty.AssocWpifRealm; updated = true; }
  599:             if (this.IddPrefix != updatedSubParty.IddPrefix) { this.IddPrefix = updatedSubParty.IddPrefix; updated = true; }
  600:             if (this.AlternateFsdbFqdn != updatedSubParty.AlternateFsdbFqdn) { this.AlternateFsdbFqdn = updatedSubParty.AlternateFsdbFqdn; updated = true; }
  601:             if (this.SharedHssData != updatedSubParty.SharedHssData) { this.SharedHssData = updatedSubParty.SharedHssData; updated = true; }
  602:             if (this.Pin != updatedSubParty.Pin) { this.Pin = updatedSubParty.Pin; updated = true; }
  603:             if (this.MsnCapability != updatedSubParty.MsnCapability) { this.MsnCapability = updatedSubParty.MsnCapability; updated = true; }
  604:             if (this.VideoProhibit != updatedSubParty.VideoProhibit) { this.VideoProhibit = updatedSubParty.VideoProhibit; updated = true; }
  605:             if (this.MaxFwdHops != updatedSubParty.MaxFwdHops) { this.MaxFwdHops = updatedSubParty.MaxFwdHops; updated = true; }
  606:             if (this.CsdFlavor != updatedSubParty.CsdFlavor) { this.CsdFlavor = updatedSubParty.CsdFlavor; updated = true; }
  607:             if (this.CsdDynamic != updatedSubParty.CsdDynamic) { this.CsdDynamic = updatedSubParty.CsdDynamic; updated = true; }
  608:             if (this.SipErrorTableId != updatedSubParty.SipErrorTableId) { this.SipErrorTableId = updatedSubParty.SipErrorTableId; updated = true; }
  609:             if (this.TreatmentTableId != updatedSubParty.TreatmentTableId) { this.TreatmentTableId = updatedSubParty.TreatmentTableId; updated = true; }
  610:             if (this.Locale != updatedSubParty.Locale) { this.Locale = updatedSubParty.Locale; updated = true; }
  611:             if (this.CliPrefixList != updatedSubParty.CliPrefixList) { this.CliPrefixList = updatedSubParty.CliPrefixList; updated = true; }
  612:             if (this.IsGroupCPE != updatedSubParty.IsGroupCPE) { this.IsGroupCPE = updatedSubParty.IsGroupCPE; updated = true; }
  613:             if (this.Receive181Mode != updatedSubParty.Receive181Mode) { this.Receive181Mode = updatedSubParty.Receive181Mode; updated = true; }
  614:             if (this.CcNdcLength != updatedSubParty.CcNdcLength) { this.CcNdcLength = updatedSubParty.CcNdcLength; updated = true; }
  615:             if (this.MaxActiveCalls != updatedSubParty.MaxActiveCalls) { this.MaxActiveCalls = updatedSubParty.MaxActiveCalls; updated = true; }
  616:             if (this.CallingPartyCategory != updatedSubParty.CallingPartyCategory) { this.CallingPartyCategory = updatedSubParty.CallingPartyCategory; updated = true; }
  617:             if (this.PublicUID1 != updatedSubParty.PublicUID1) { this.PublicUID1 = updatedSubParty.PublicUID1; updated = true; }
  618:             if (this.PublicUID2 != updatedSubParty.PublicUID2) { this.PublicUID2 = updatedSubParty.PublicUID2; updated = true; }
  619:             if (this.PublicUID3 != updatedSubParty.PublicUID3) { this.PublicUID3 = updatedSubParty.PublicUID3; updated = true; }
  620:             if (this.PublicUID4 != updatedSubParty.PublicUID4) { this.PublicUID4 = updatedSubParty.PublicUID4; updated = true; }
  621:             if (this.PublicUID5 != updatedSubParty.PublicUID5) { this.PublicUID5 = updatedSubParty.PublicUID5; updated = true; }
  622:             if (this.PublicUID6 != updatedSubParty.PublicUID6) { this.PublicUID6 = updatedSubParty.PublicUID6; updated = true; }
  623:             if (this.PublicUID7 != updatedSubParty.PublicUID7) { this.PublicUID7 = updatedSubParty.PublicUID7; updated = true; }
  624:             if (this.PublicUID8 != updatedSubParty.PublicUID8) { this.PublicUID8 = updatedSubParty.PublicUID8; updated = true; }
  625:             if (this.PublicUID9 != updatedSubParty.PublicUID9) { this.PublicUID9 = updatedSubParty.PublicUID9; updated = true; }
  626:             if (this.PublicUID1DomainRequired != updatedSubParty.PublicUID1DomainRequired) { this.PublicUID1DomainRequired = updatedSubParty.PublicUID1DomainRequired; updated = true; }
  627:             if (this.PublicUID2DomainRequired != updatedSubParty.PublicUID2DomainRequired) { this.PublicUID2DomainRequired = updatedSubParty.PublicUID2DomainRequired; updated = true; }
  628:             if (this.PublicUID3DomainRequired != updatedSubParty.PublicUID3DomainRequired) { this.PublicUID3DomainRequired = updatedSubParty.PublicUID3DomainRequired; updated = true; }
  629:             if (this.PublicUID4DomainRequired != updatedSubParty.PublicUID4DomainRequired) { this.PublicUID4DomainRequired = updatedSubParty.PublicUID4DomainRequired; updated = true; }
  630:             if (this.PublicUID5DomainRequired != updatedSubParty.PublicUID5DomainRequired) { this.PublicUID5DomainRequired = updatedSubParty.PublicUID5DomainRequired; updated = true; }
  631:             if (this.PublicUID6DomainRequired != updatedSubParty.PublicUID6DomainRequired) { this.PublicUID6DomainRequired = updatedSubParty.PublicUID6DomainRequired; updated = true; }
  632:             if (this.PublicUID7DomainRequired != updatedSubParty.PublicUID7DomainRequired) { this.PublicUID7DomainRequired = updatedSubParty.PublicUID7DomainRequired; updated = true; }
  633:             if (this.PublicUID8DomainRequired != updatedSubParty.PublicUID8DomainRequired) { this.PublicUID8DomainRequired = updatedSubParty.PublicUID8DomainRequired; updated = true; }
  634:             if (this.PublicUID9DomainRequired != updatedSubParty.PublicUID9DomainRequired) { this.PublicUID9DomainRequired = updatedSubParty.PublicUID9DomainRequired; updated = true; }
  635:             if (this.WildCardPUIDStr != updatedSubParty.WildCardPUIDStr) { this.WildCardPUIDStr = updatedSubParty.WildCardPUIDStr; updated = true; }
  636:             if (this.AllowCustomAnnouncement != updatedSubParty.AllowCustomAnnouncement) { this.AllowCustomAnnouncement = updatedSubParty.AllowCustomAnnouncement; updated = true; }
  637:             if (this.PtySpareLong1 != updatedSubParty.PtySpareLong1) { this.PtySpareLong1 = updatedSubParty.PtySpareLong1; updated = true; }
  638:             if (this.PtySpareString != updatedSubParty.PtySpareString) { this.PtySpareString = updatedSubParty.PtySpareString; updated = true; }
  639:             if (this.PtySpareString2 != updatedSubParty.PtySpareString2) { this.PtySpareString2 = updatedSubParty.PtySpareString2; updated = true; }
  640:             if (this.PtySpareShort1 != updatedSubParty.PtySpareShort1) { this.PtySpareShort1 = updatedSubParty.PtySpareShort1; updated = true; }
  641:             if (this.PtySpareShort2 != updatedSubParty.PtySpareShort2) { this.PtySpareShort2 = updatedSubParty.PtySpareShort2; updated = true; }
  642:             if (this.PtySpareBool1 != updatedSubParty.PtySpareBool1) { this.PtySpareBool1 = updatedSubParty.PtySpareBool1; updated = true; }
  643:             if (this.PtySpareBool2 != updatedSubParty.PtySpareBool2) { this.PtySpareBool2 = updatedSubParty.PtySpareBool2; updated = true; }
  644:             if (this.PtySpareBool3 != updatedSubParty.PtySpareBool3) { this.PtySpareBool3 = updatedSubParty.PtySpareBool3; updated = true; }
  645:             if (this.PtySpareBool4 != updatedSubParty.PtySpareBool4) { this.PtySpareBool4 = updatedSubParty.PtySpareBool4; updated = true; }
  646:             if (this.PtySpareBool5 != updatedSubParty.PtySpareBool5) { this.PtySpareBool5 = updatedSubParty.PtySpareBool5; updated = true; }
  647:             if (this.PtySpareBool6 != updatedSubParty.PtySpareBool6) { this.PtySpareBool6 = updatedSubParty.PtySpareBool6; updated = true; }
  648:             if (this.PtySpareBool7 != updatedSubParty.PtySpareBool7) { this.PtySpareBool7 = updatedSubParty.PtySpareBool7; updated = true; }
  649:             if (this.PtySpareBool8 != updatedSubParty.PtySpareBool8) { this.PtySpareBool8 = updatedSubParty.PtySpareBool8; updated = true; }
  650:             if (this.TerminatingTableId != updatedSubParty.TerminatingTableId) { this.TerminatingTableId = updatedSubParty.TerminatingTableId; updated = true; }
  651:             if (this.AllowNonSipTelUri != updatedSubParty.AllowNonSipTelUri) { this.AllowNonSipTelUri = updatedSubParty.AllowNonSipTelUri; updated = true; }
  652:             if (this.LocationType != updatedSubParty.LocationType) { this.LocationType = updatedSubParty.LocationType; updated = true; }
  653:             if (this.RncID != updatedSubParty.RncID) { this.RncID = updatedSubParty.RncID; updated = true; }
  654:             if (this.LteMcc != updatedSubParty.LteMcc) { this.LteMcc = updatedSubParty.LteMcc; updated = true; }
  655:             if (this.LteMnc != updatedSubParty.LteMnc) { this.LteMnc = updatedSubParty.LteMnc; updated = true; }
  656:             if (this.LteTac != updatedSubParty.LteTac) { this.LteTac = updatedSubParty.LteTac; updated = true; }
  657:             if (this.MarketSID != updatedSubParty.MarketSID) { this.MarketSID = updatedSubParty.MarketSID; updated = true; }
  658:             if (this.SwitchNumber != updatedSubParty.SwitchNumber) { this.SwitchNumber = updatedSubParty.SwitchNumber; updated = true; }
  659:             if (this.CallsToWebUserProhibited != updatedSubParty.CallsToWebUserProhibited) { this.CallsToWebUserProhibited = updatedSubParty.CallsToWebUserProhibited; updated = true; }
  660:             if (this.IMSI != updatedSubParty.IMSI) { this.IMSI = updatedSubParty.IMSI; updated = true; }
  661:             if (this.IMSNotSupported != updatedSubParty.IMSNotSupported) { this.IMSNotSupported = updatedSubParty.IMSNotSupported; updated = true; }
  662:             if (this.ValidateCellID != updatedSubParty.ValidateCellID) { this.ValidateCellID = updatedSubParty.ValidateCellID; updated = true; }
  663:             if (this.OperatorID != updatedSubParty.OperatorID) { this.OperatorID = updatedSubParty.OperatorID; updated = true; }
  664:             if (this.HomeMTA != updatedSubParty.HomeMTA) { this.HomeMTA = updatedSubParty.HomeMTA; updated = true; }
  665:             if (this.ForwardDenyNumbers != updatedSubParty.ForwardDenyNumbers) { this.ForwardDenyNumbers = updatedSubParty.ForwardDenyNumbers; updated = true; }
  666:             if (this.PlayAnnoFailNotForward != updatedSubParty.PlayAnnoFailNotForward) { this.PlayAnnoFailNotForward = updatedSubParty.PlayAnnoFailNotForward; updated = true; }
  667:             if (this.MrfPoolID != updatedSubParty.MrfPoolID) { this.MrfPoolID = updatedSubParty.MrfPoolID; updated = true; }
  668:             if (this.Custom120x != updatedSubParty.Custom120x) { this.Custom120x = updatedSubParty.Custom120x; updated = true; }
  669:  
  670:             if (this.AgcfEndpoint != updatedSubParty.AgcfEndpoint) { this.AgcfEndpoint = updatedSubParty.AgcfEndpoint; updated = true; }
  671:  
  672:             if (updated) this.Updated = DateTime.UtcNow.AddHours(3);
  673:  
  674:             return updated;
  675:         }
  676:  
  677:         ////////////////////////////////////////////////////////////////////////////
  678:         ////////////////////////////////////////////////////////////////////////////
  679:     }
  680:  
  681:     ////////////////////////////////////////////////////////////////////////////
  682:     ////////////////////////////////////////////////////////////////////////////
  683: }