شركة التطبيقات المتكاملة لتصميم النظم البرمجية الخاصة ش.ش.و.

Integrated Applications Programming Company

Skip Navigation LinksHome » Code Library » Service2

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

Service Entity Framework class for Optical Fiber Network (OFN) entity model.

   1:  using System;
   2:  using System.ComponentModel.DataAnnotations;
   3:  using System.ComponentModel.DataAnnotations.Schema;
   4:  using System.Linq;
   5:  using System.Threading;
   6:  using System.Threading.Tasks;
   7:   
   8:  namespace Ia.Ngn.Cl.Model
   9:  {
  10:      ////////////////////////////////////////////////////////////////////////////
  11:   
  12:      /// <summary publish="true">
  13:      /// Service Entity Framework class for Optical Fiber Network (OFN) entity model.
  14:      /// </summary>
  15:      /// 
  16:      /// <remarks> 
  17:      /// Copyright © 2006-2021 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
  18:      ///
  19:      /// 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
  20:      /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
  21:      ///
  22:      /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  23:      /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  24:      /// 
  25:      /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
  26:      /// 
  27:      /// Copyright notice: This notice may not be removed or altered from any source distribution.
  28:      /// </remarks> 
  29:      public class Service2
  30:      {
  31:          /// <summary/>
  32:          public Service2() { }
  33:   
  34:          /// <summary/>
  35:          [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
  36:          public string Id { get; set; }
  37:   
  38:          /// <summary/>
  39:          public string Service { get; set; }
  40:   
  41:          /// <summary/>
  42:          public int ServiceType { get; set; }
  43:   
  44:          /// <summary/>
  45:          public int AreaCode { get; set; }
  46:   
  47:          /// <summary/>
  48:          public bool CallWaiting { get; set; }
  49:   
  50:          /// <summary/>
  51:          public bool CallForwarding { get; set; }
  52:   
  53:          /// <summary/>
  54:          public bool AlarmCall { get; set; }
  55:   
  56:          /// <summary/>
  57:          public bool WakeupCall { get; set; }
  58:   
  59:          /// <summary/>
  60:          public bool InternationalCallingUserControlled { get; set; }
  61:   
  62:          /// <summary/>
  63:          public bool InternationalCalling { get; set; }
  64:   
  65:          /// <summary/>
  66:          public bool CallerId { get; set; }
  67:   
  68:          /// <summary/>
  69:          public bool ConferenceCall { get; set; }
  70:   
  71:          /// <summary/>
  72:          public bool CallBarring { get; set; }
  73:   
  74:          /// <summary/>
  75:          public bool ServiceSuspension { get; set; }
  76:   
  77:          /// <summary/>
  78:          public bool AbbriviatedCalling { get; set; }
  79:   
  80:          /// <summary/>
  81:          public bool CallForwardingUnconditional { get; set; }
  82:   
  83:          /// <summary/>
  84:          public bool CallingLineIdentificationRestriction { get; set; }
  85:   
  86:          /// <summary/>
  87:          public bool ConnectedLineIdentificationRestriction { get; set; }
  88:   
  89:          /// <summary/>
  90:          public bool WakeUp { get; set; }
  91:   
  92:          /// <summary/>
  93:          public bool CallForwardingByTime { get; set; }
  94:   
  95:          /// <summary/>
  96:          public bool MutlimediaInformationPresentation { get; set; }
  97:   
  98:          /// <summary/>
  99:          public bool SelectiveOutgoingCallBarring { get; set; }
 100:   
 101:          /// <summary/>
 102:          public bool DialNumberCallOutAllow { get; set; }
 103:   
 104:          /// <summary/>
 105:          public bool DoNotDisturb { get; set; }
 106:   
 107:          /// <summary/>
 108:          public bool OutgoingCallBarring { get; set; }
 109:   
 110:          /// <summary/>
 111:          public bool TemporaryLine { get; set; }
 112:   
 113:          /// <summary/>
 114:          public bool CodecControl { get; set; }
 115:   
 116:          /// <summary/>
 117:          public bool SelectiveIncomingCallBarring { get; set; }
 118:   
 119:          /// <summary/>
 120:          public bool SelectiveCallForwarding { get; set; }
 121:   
 122:          /// <summary/>
 123:          public bool DialNumberCallOutBarring { get; set; }
 124:   
 125:          /// <summary/>
 126:          public bool CallForwardingBasedonBlackList { get; set; }
 127:   
 128:          /// <summary/>
 129:          public bool CallForwardingBusy { get; set; }
 130:   
 131:          /// <summary/>
 132:          public bool CallForwardingNoReply { get; set; }
 133:   
 134:          /// <summary/>
 135:          public bool CallForwardingOffline { get; set; }
 136:   
 137:          /// <summary/>
 138:          public bool CallForwardingOnUserNotReachable { get; set; }
 139:   
 140:          /// <summary/>
 141:          public bool CallForwardingNoReplyinCallWaiting { get; set; }
 142:   
 143:          /// <summary/>
 144:          public bool MultiRinging { get; set; }
 145:   
 146:          /// <summary/>
 147:          public bool ConvergentInterPersonalService { get; set; }
 148:   
 149:          /// <summary/>
 150:          public bool CallForwardingBySequence { get; set; }
 151:   
 152:          /// <summary/>
 153:          public bool UserNumberChange { get; set; }
 154:   
 155:          /// <summary/>
 156:          public bool BlackNumberData { get; set; }
 157:   
 158:          /// <summary/>
 159:          public bool WhiteNumberData { get; set; }
 160:   
 161:          /// <summary/>
 162:          public bool OwedRestriction { get; set; }
 163:   
 164:          /// <summary/>
 165:          public bool Strategy { get; set; }
 166:   
 167:          /// <summary/>
 168:          public bool GreenNumberData { get; set; }
 169:   
 170:          /// <summary/>
 171:          public bool RedNumberData { get; set; }
 172:   
 173:          /// <summary/>
 174:          public bool BarringOfAllOutgoingCalls { get; set; }
 175:   
 176:          /// <summary/>
 177:          public bool BarringOfAllOutgoingInternationalCalls { get; set; }
 178:   
 179:          /// <summary/>
 180:          public bool BarringOfOutgoingInternationalCallsExceptThoseDirectedToTheHomePlmnCountry { get; set; }
 181:   
 182:          /// <summary/>
 183:          public bool BarringOfAllIncomingCalls { get; set; }
 184:   
 185:          /// <summary/>
 186:          public bool BarringOfIncomingCallsWhenRoamingOutsideTheHomePlmnCountry { get; set; }
 187:   
 188:          /// <summary/>
 189:          public bool SpeedDial { get; set; }
 190:   
 191:          /// <summary/>
 192:          public bool GreenCall { get; set; }
 193:   
 194:          /// <summary/>
 195:          public bool SetDataUpgrade { get; set; }
 196:   
 197:          /// <summary/>
 198:          public bool AutoConsole { get; set; }
 199:   
 200:          /// <summary/>
 201:          public bool NightService { get; set; }
 202:   
 203:          /// <summary/>
 204:          public bool BackupNumber { get; set; }
 205:   
 206:          /// <summary/>
 207:          public bool Absence { get; set; }
 208:   
 209:          /// <summary/>
 210:          public bool AuthorizedCodeForStdIdd { get; set; }
 211:   
 212:          /// <summary/>
 213:          public bool Hotline { get; set; }
 214:   
 215:          /// <summary/>
 216:          public bool CetMaliciousCommunicationIdentification { get; set; }
 217:   
 218:          /// <summary/>
 219:          public bool MissCallNotify { get; set; }
 220:   
 221:          /// <summary/>
 222:          public bool SubscriptionStatus { get; set; }
 223:   
 224:          /// <summary/>
 225:          public bool UsbDongleOneKeyService { get; set; }
 226:   
 227:          /// <summary/>
 228:          public bool IRoamingInboundSingleImsiMultiMsisdn { get; set; }
 229:   
 230:          /// <summary/>
 231:          public bool IRoamingOutboundSingleImsiMultiMsisdn { get; set; }
 232:   
 233:          /// <summary/>
 234:          public bool NpaSplit { get; set; }
 235:   
 236:          /// <summary/>
 237:          public bool AllCallForwardingGroup { get; set; }
 238:   
 239:          /// <summary/>
 240:          public bool ConditionalCallForwardingGroup { get; set; }
 241:   
 242:          /// <summary/>
 243:          public bool GeneralOrigIdentificationRestriction { get; set; }
 244:   
 245:          /// <summary/>
 246:          public bool MultimediaOfOrigIdRestriction { get; set; }
 247:   
 248:          /// <summary/>
 249:          public bool TerminatingIdentityRestriction { get; set; }
 250:   
 251:          /// <summary/>
 252:          public bool DistinctiveRing { get; set; }
 253:   
 254:          /// <summary/>
 255:          public bool VisitedNetworkImpu { get; set; }
 256:   
 257:          /// <summary/>
 258:          public bool SeasonalSuspend { get; set; }
 259:   
 260:          /// <summary/>
 261:          public bool NumberInvalidation { get; set; }
 262:   
 263:          /// <summary/>
 264:          public bool IroamingServiceProvision { get; set; }
 265:   
 266:          /// <summary/>
 267:          public bool IptvCallerId { get; set; }
 268:   
 269:          /// <summary/>
 270:          public bool IptvVideoCall { get; set; }
 271:   
 272:          /// <summary/>
 273:          public bool NumberPortability { get; set; }
 274:   
 275:          /// <summary/>
 276:          public bool SecretaryService { get; set; }
 277:   
 278:          /// <summary/>
 279:          public bool SalesBlock { get; set; }
 280:   
 281:          /// <summary/>
 282:          public bool FilterCriteria { get; set; }
 283:   
 284:          /// <summary/>
 285:          public bool CallerInformation { get; set; }
 286:   
 287:          /// <summary/>
 288:          public bool PresenceStatus { get; set; }
 289:   
 290:          /// <summary/>
 291:          public bool OneNumberService { get; set; }
 292:   
 293:          /// <summary/>
 294:          public bool AssociationList { get; set; }
 295:   
 296:          /// <summary/>
 297:          public int Pin { get; set; }
 298:   
 299:          /// <summary/>
 300:          public int Port { get; set; }
 301:   
 302:          /// <summary/>
 303:          [ForeignKey("Access_Id")]
 304:          public virtual Access Access { get; set; }
 305:   
 306:          /// <summary/>
 307:          public DateTime Created { get; set; }
 308:   
 309:          /// <summary/>
 310:          public DateTime Updated { get; set; }
 311:   
 312:          /// <summary/>
 313:          public System.Guid UserId { get; set; }
 314:   
 315:          ////////////////////////////////////////////////////////////////////////////
 316:   
 317:          /// <summary>
 318:          ///
 319:          /// </summary>
 320:          [NotMapped]
 321:          public int Position
 322:          {
 323:              get
 324:              {
 325:                  return 0; // Ia.Ngn.Cl.Model.Data.Service.ServiceIdPositionDictionary[this.Id];
 326:              }
 327:          }
 328:   
 329:          ////////////////////////////////////////////////////////////////////////////
 330:   
 331:          /// <summary>
 332:          ///
 333:          /// </summary>
 334:          public bool Update(Service2 updatedService)
 335:          {
 336:              // below: this will not update Id, Created
 337:              bool updated;
 338:   
 339:              updated = false;
 340:   
 341:              if (this.Service != updatedService.Service) { this.Service = updatedService.Service; updated = true; }
 342:              if (this.ServiceType != updatedService.ServiceType) { this.ServiceType = updatedService.ServiceType; updated = true; }
 343:              if (this.AreaCode != updatedService.AreaCode) { this.AreaCode = updatedService.AreaCode; updated = true; }
 344:              if (this.CallWaiting != updatedService.CallWaiting) { this.CallWaiting = updatedService.CallWaiting; updated = true; }
 345:              if (this.CallForwarding != updatedService.CallForwarding) { this.CallForwarding = updatedService.CallForwarding; updated = true; }
 346:   
 347:              if (this.AlarmCall != updatedService.AlarmCall) { this.AlarmCall = updatedService.AlarmCall; updated = true; }
 348:              if (this.WakeupCall != updatedService.WakeupCall) { this.WakeupCall = updatedService.WakeupCall; updated = true; }
 349:   
 350:              // remove later if (this.CallBarring != updatedService.CallBarring) { this.CallBarring = updatedService.CallBarring; updated = true; }
 351:              if (this.InternationalCallingUserControlled != updatedService.InternationalCallingUserControlled) { this.InternationalCallingUserControlled = updatedService.InternationalCallingUserControlled; updated = true; }
 352:              if (this.InternationalCalling != updatedService.InternationalCalling) { this.InternationalCalling = updatedService.InternationalCalling; updated = true; }
 353:              if (this.CallerId != updatedService.CallerId) { this.CallerId = updatedService.CallerId; updated = true; }
 354:              if (this.ConferenceCall != updatedService.ConferenceCall) { this.ConferenceCall = updatedService.ConferenceCall; updated = true; }
 355:              if (this.ServiceSuspension != updatedService.ServiceSuspension) { this.ServiceSuspension = updatedService.ServiceSuspension; updated = true; }
 356:              //if (this.ServiceSuspensionTypeId != updatedService.ServiceSuspensionTypeId) { this.ServiceSuspensionTypeId = updatedService.ServiceSuspensionTypeId; updated = true; }
 357:              if (this.AbbriviatedCalling != updatedService.AbbriviatedCalling) { this.AbbriviatedCalling = updatedService.AbbriviatedCalling; updated = true; }
 358:              if (this.CallForwardingUnconditional != updatedService.CallForwardingUnconditional) { this.CallForwardingUnconditional = updatedService.CallForwardingUnconditional; updated = true; }
 359:              if (this.CallingLineIdentificationRestriction != updatedService.CallingLineIdentificationRestriction) { this.CallingLineIdentificationRestriction = updatedService.CallingLineIdentificationRestriction; updated = true; }
 360:              if (this.ConnectedLineIdentificationRestriction != updatedService.ConnectedLineIdentificationRestriction) { this.ConnectedLineIdentificationRestriction = updatedService.ConnectedLineIdentificationRestriction; updated = true; }
 361:              if (this.WakeUp != updatedService.WakeUp) { this.WakeUp = updatedService.WakeUp; updated = true; }
 362:              if (this.CallForwardingByTime != updatedService.CallForwardingByTime) { this.CallForwardingByTime = updatedService.CallForwardingByTime; updated = true; }
 363:              if (this.MutlimediaInformationPresentation != updatedService.MutlimediaInformationPresentation) { this.MutlimediaInformationPresentation = updatedService.MutlimediaInformationPresentation; updated = true; }
 364:              if (this.SelectiveOutgoingCallBarring != updatedService.SelectiveOutgoingCallBarring) { this.SelectiveOutgoingCallBarring = updatedService.SelectiveOutgoingCallBarring; updated = true; }
 365:              if (this.DialNumberCallOutAllow != updatedService.DialNumberCallOutAllow) { this.DialNumberCallOutAllow = updatedService.DialNumberCallOutAllow; updated = true; }
 366:              if (this.DoNotDisturb != updatedService.DoNotDisturb) { this.DoNotDisturb = updatedService.DoNotDisturb; updated = true; }
 367:              if (this.OutgoingCallBarring != updatedService.OutgoingCallBarring) { this.OutgoingCallBarring = updatedService.OutgoingCallBarring; updated = true; }
 368:              if (this.TemporaryLine != updatedService.TemporaryLine) { this.TemporaryLine = updatedService.TemporaryLine; updated = true; }
 369:              if (this.CodecControl != updatedService.CodecControl) { this.CodecControl = updatedService.CodecControl; updated = true; }
 370:              if (this.SelectiveIncomingCallBarring != updatedService.SelectiveIncomingCallBarring) { this.SelectiveIncomingCallBarring = updatedService.SelectiveIncomingCallBarring; updated = true; }
 371:              if (this.SelectiveCallForwarding != updatedService.SelectiveCallForwarding) { this.SelectiveCallForwarding = updatedService.SelectiveCallForwarding; updated = true; }
 372:              if (this.DialNumberCallOutBarring != updatedService.DialNumberCallOutBarring) { this.DialNumberCallOutBarring = updatedService.DialNumberCallOutBarring; updated = true; }
 373:              if (this.CallForwardingBasedonBlackList != updatedService.CallForwardingBasedonBlackList) { this.CallForwardingBasedonBlackList = updatedService.CallForwardingBasedonBlackList; updated = true; }
 374:              if (this.CallForwardingBusy != updatedService.CallForwardingBusy) { this.CallForwardingBusy = updatedService.CallForwardingBusy; updated = true; }
 375:              if (this.CallForwardingNoReply != updatedService.CallForwardingNoReply) { this.CallForwardingNoReply = updatedService.CallForwardingNoReply; updated = true; }
 376:              if (this.CallForwardingOffline != updatedService.CallForwardingOffline) { this.CallForwardingOffline = updatedService.CallForwardingOffline; updated = true; }
 377:              if (this.CallForwardingOnUserNotReachable != updatedService.CallForwardingOnUserNotReachable) { this.CallForwardingOnUserNotReachable = updatedService.CallForwardingOnUserNotReachable; updated = true; }
 378:              if (this.CallForwardingNoReplyinCallWaiting != updatedService.CallForwardingNoReplyinCallWaiting) { this.CallForwardingNoReplyinCallWaiting = updatedService.CallForwardingNoReplyinCallWaiting; updated = true; }
 379:              if (this.MultiRinging != updatedService.MultiRinging) { this.MultiRinging = updatedService.MultiRinging; updated = true; }
 380:              if (this.ConvergentInterPersonalService != updatedService.ConvergentInterPersonalService) { this.ConvergentInterPersonalService = updatedService.ConvergentInterPersonalService; updated = true; }
 381:              if (this.CallForwardingBySequence != updatedService.CallForwardingBySequence) { this.CallForwardingBySequence = updatedService.CallForwardingBySequence; updated = true; }
 382:              if (this.UserNumberChange != updatedService.UserNumberChange) { this.UserNumberChange = updatedService.UserNumberChange; updated = true; }
 383:              if (this.BlackNumberData != updatedService.BlackNumberData) { this.BlackNumberData = updatedService.BlackNumberData; updated = true; }
 384:              if (this.WhiteNumberData != updatedService.WhiteNumberData) { this.WhiteNumberData = updatedService.WhiteNumberData; updated = true; }
 385:              if (this.OwedRestriction != updatedService.OwedRestriction) { this.OwedRestriction = updatedService.OwedRestriction; updated = true; }
 386:              if (this.Strategy != updatedService.Strategy) { this.Strategy = updatedService.Strategy; updated = true; }
 387:              if (this.GreenNumberData != updatedService.GreenNumberData) { this.GreenNumberData = updatedService.GreenNumberData; updated = true; }
 388:              if (this.RedNumberData != updatedService.RedNumberData) { this.RedNumberData = updatedService.RedNumberData; updated = true; }
 389:              if (this.BarringOfAllOutgoingCalls != updatedService.BarringOfAllOutgoingCalls) { this.BarringOfAllOutgoingCalls = updatedService.BarringOfAllOutgoingCalls; updated = true; }
 390:              if (this.BarringOfAllOutgoingInternationalCalls != updatedService.BarringOfAllOutgoingInternationalCalls) { this.BarringOfAllOutgoingInternationalCalls = updatedService.BarringOfAllOutgoingInternationalCalls; updated = true; }
 391:              if (this.BarringOfOutgoingInternationalCallsExceptThoseDirectedToTheHomePlmnCountry != updatedService.BarringOfOutgoingInternationalCallsExceptThoseDirectedToTheHomePlmnCountry) { this.BarringOfOutgoingInternationalCallsExceptThoseDirectedToTheHomePlmnCountry = updatedService.BarringOfOutgoingInternationalCallsExceptThoseDirectedToTheHomePlmnCountry; updated = true; }
 392:              if (this.BarringOfAllIncomingCalls != updatedService.BarringOfAllIncomingCalls) { this.BarringOfAllIncomingCalls = updatedService.BarringOfAllIncomingCalls; updated = true; }
 393:              if (this.BarringOfIncomingCallsWhenRoamingOutsideTheHomePlmnCountry != updatedService.BarringOfIncomingCallsWhenRoamingOutsideTheHomePlmnCountry) { this.BarringOfIncomingCallsWhenRoamingOutsideTheHomePlmnCountry = updatedService.BarringOfIncomingCallsWhenRoamingOutsideTheHomePlmnCountry; updated = true; }
 394:              if (this.SpeedDial != updatedService.SpeedDial) { this.SpeedDial = updatedService.SpeedDial; updated = true; }
 395:              if (this.GreenCall != updatedService.GreenCall) { this.GreenCall = updatedService.GreenCall; updated = true; }
 396:              if (this.SetDataUpgrade != updatedService.SetDataUpgrade) { this.SetDataUpgrade = updatedService.SetDataUpgrade; updated = true; }
 397:              if (this.AutoConsole != updatedService.AutoConsole) { this.AutoConsole = updatedService.AutoConsole; updated = true; }
 398:              if (this.NightService != updatedService.NightService) { this.NightService = updatedService.NightService; updated = true; }
 399:              if (this.BackupNumber != updatedService.BackupNumber) { this.BackupNumber = updatedService.BackupNumber; updated = true; }
 400:              if (this.Absence != updatedService.Absence) { this.Absence = updatedService.Absence; updated = true; }
 401:              if (this.AuthorizedCodeForStdIdd != updatedService.AuthorizedCodeForStdIdd) { this.AuthorizedCodeForStdIdd = updatedService.AuthorizedCodeForStdIdd; updated = true; }
 402:              if (this.Hotline != updatedService.Hotline) { this.Hotline = updatedService.Hotline; updated = true; }
 403:              if (this.CetMaliciousCommunicationIdentification != updatedService.CetMaliciousCommunicationIdentification) { this.CetMaliciousCommunicationIdentification = updatedService.CetMaliciousCommunicationIdentification; updated = true; }
 404:              if (this.MissCallNotify != updatedService.MissCallNotify) { this.MissCallNotify = updatedService.MissCallNotify; updated = true; }
 405:              if (this.SubscriptionStatus != updatedService.SubscriptionStatus) { this.SubscriptionStatus = updatedService.SubscriptionStatus; updated = true; }
 406:              if (this.UsbDongleOneKeyService != updatedService.UsbDongleOneKeyService) { this.UsbDongleOneKeyService = updatedService.UsbDongleOneKeyService; updated = true; }
 407:              if (this.IRoamingInboundSingleImsiMultiMsisdn != updatedService.IRoamingInboundSingleImsiMultiMsisdn) { this.IRoamingInboundSingleImsiMultiMsisdn = updatedService.IRoamingInboundSingleImsiMultiMsisdn; updated = true; }
 408:              if (this.IRoamingOutboundSingleImsiMultiMsisdn != updatedService.IRoamingOutboundSingleImsiMultiMsisdn) { this.IRoamingOutboundSingleImsiMultiMsisdn = updatedService.IRoamingOutboundSingleImsiMultiMsisdn; updated = true; }
 409:              if (this.NpaSplit != updatedService.NpaSplit) { this.NpaSplit = updatedService.NpaSplit; updated = true; }
 410:              if (this.AllCallForwardingGroup != updatedService.AllCallForwardingGroup) { this.AllCallForwardingGroup = updatedService.AllCallForwardingGroup; updated = true; }
 411:              if (this.ConditionalCallForwardingGroup != updatedService.ConditionalCallForwardingGroup) { this.ConditionalCallForwardingGroup = updatedService.ConditionalCallForwardingGroup; updated = true; }
 412:              if (this.GeneralOrigIdentificationRestriction != updatedService.GeneralOrigIdentificationRestriction) { this.GeneralOrigIdentificationRestriction = updatedService.GeneralOrigIdentificationRestriction; updated = true; }
 413:              if (this.MultimediaOfOrigIdRestriction != updatedService.MultimediaOfOrigIdRestriction) { this.MultimediaOfOrigIdRestriction = updatedService.MultimediaOfOrigIdRestriction; updated = true; }
 414:              if (this.TerminatingIdentityRestriction != updatedService.TerminatingIdentityRestriction) { this.TerminatingIdentityRestriction = updatedService.TerminatingIdentityRestriction; updated = true; }
 415:              if (this.DistinctiveRing != updatedService.DistinctiveRing) { this.DistinctiveRing = updatedService.DistinctiveRing; updated = true; }
 416:              if (this.VisitedNetworkImpu != updatedService.VisitedNetworkImpu) { this.VisitedNetworkImpu = updatedService.VisitedNetworkImpu; updated = true; }
 417:              if (this.SeasonalSuspend != updatedService.SeasonalSuspend) { this.SeasonalSuspend = updatedService.SeasonalSuspend; updated = true; }
 418:              if (this.NumberInvalidation != updatedService.NumberInvalidation) { this.NumberInvalidation = updatedService.NumberInvalidation; updated = true; }
 419:              if (this.IroamingServiceProvision != updatedService.IroamingServiceProvision) { this.IroamingServiceProvision = updatedService.IroamingServiceProvision; updated = true; }
 420:              if (this.IptvCallerId != updatedService.IptvCallerId) { this.IptvCallerId = updatedService.IptvCallerId; updated = true; }
 421:              if (this.IptvVideoCall != updatedService.IptvVideoCall) { this.IptvVideoCall = updatedService.IptvVideoCall; updated = true; }
 422:              if (this.NumberPortability != updatedService.NumberPortability) { this.NumberPortability = updatedService.NumberPortability; updated = true; }
 423:              if (this.SecretaryService != updatedService.SecretaryService) { this.SecretaryService = updatedService.SecretaryService; updated = true; }
 424:              if (this.SalesBlock != updatedService.SalesBlock) { this.SalesBlock = updatedService.SalesBlock; updated = true; }
 425:              if (this.FilterCriteria != updatedService.FilterCriteria) { this.FilterCriteria = updatedService.FilterCriteria; updated = true; }
 426:              if (this.CallerInformation != updatedService.CallerInformation) { this.CallerInformation = updatedService.CallerInformation; updated = true; }
 427:              if (this.PresenceStatus != updatedService.PresenceStatus) { this.PresenceStatus = updatedService.PresenceStatus; updated = true; }
 428:              if (this.OneNumberService != updatedService.OneNumberService) { this.OneNumberService = updatedService.OneNumberService; updated = true; }
 429:              if (this.AssociationList != updatedService.AssociationList) { this.AssociationList = updatedService.AssociationList; updated = true; }
 430:              if (this.Pin != updatedService.Pin) { this.Pin = updatedService.Pin; updated = true; }
 431:   
 432:              // I need the Port value to be maitained in updates. I will use it for migration
 433:              //if (this.Port != updatedService.Port) { this.Port = updatedService.Port; updated = true; }
 434:   
 435:              if (this.Access != null && updatedService.Access != null && this.Access.Id != updatedService.Access.Id) { this.Access = updatedService.Access; updated = true; }
 436:              else if (this.Access == null && updatedService.Access != null) { this.Access = updatedService.Access; updated = true; }
 437:   
 438:              if (this.UserId != updatedService.UserId) { this.UserId = updatedService.UserId; updated = true; }
 439:   
 440:              if (updated) this.Updated = DateTime.UtcNow.AddHours(3);
 441:   
 442:              return updated;
 443:          }
 444:   
 445:          ////////////////////////////////////////////////////////////////////////////
 446:          ////////////////////////////////////////////////////////////////////////////
 447:      }
 448:   
 449:      ////////////////////////////////////////////////////////////////////////////
 450:      ////////////////////////////////////////////////////////////////////////////
 451:  }