protected CustomerChaseChannelEntity(SerializationInfo info, StreamingContext context) : base(info, context)
        {
            if (SerializationHelper.Optimization != SerializationOptimization.Fast)
            {
                _chaseChannelLevel = (ChaseChannelLevelEntity)info.GetValue("_chaseChannelLevel", typeof(ChaseChannelLevelEntity));
                if (_chaseChannelLevel != null)
                {
                    _chaseChannelLevel.AfterSave += new EventHandler(OnEntityAfterSave);
                }
                _chaseOutbound = (ChaseOutboundEntity)info.GetValue("_chaseOutbound", typeof(ChaseOutboundEntity));
                if (_chaseOutbound != null)
                {
                    _chaseOutbound.AfterSave += new EventHandler(OnEntityAfterSave);
                }
                _customerProfile = (CustomerProfileEntity)info.GetValue("_customerProfile", typeof(CustomerProfileEntity));
                if (_customerProfile != null)
                {
                    _customerProfile.AfterSave += new EventHandler(OnEntityAfterSave);
                }

                base.FixupDeserialization(FieldInfoProviderSingleton.GetInstance());
            }

            // __LLBLGENPRO_USER_CODE_REGION_START DeserializationConstructor
            // __LLBLGENPRO_USER_CODE_REGION_END
        }
 /// <summary> setups the sync logic for member _chaseChannelLevel</summary>
 /// <param name="relatedEntity">Instance to set as the related entity of type entityType</param>
 private void SetupSyncChaseChannelLevel(IEntity2 relatedEntity)
 {
     if (_chaseChannelLevel != relatedEntity)
     {
         DesetupSyncChaseChannelLevel(true, true);
         _chaseChannelLevel = (ChaseChannelLevelEntity)relatedEntity;
         base.PerformSetupSyncRelatedEntity(_chaseChannelLevel, new PropertyChangedEventHandler(OnChaseChannelLevelPropertyChanged), "ChaseChannelLevel", CustomerChaseChannelEntity.Relations.ChaseChannelLevelEntityUsingChaseChannelLevelId, true, new string[] {  });
     }
 }
        /// <summary> Initializes the class members</summary>
        protected virtual void InitClassMembers()
        {
            _chaseChannelLevel = null;
            _chaseOutbound     = null;
            _customerProfile   = null;

            PerformDependencyInjection();

            // __LLBLGENPRO_USER_CODE_REGION_START InitClassMembers
            // __LLBLGENPRO_USER_CODE_REGION_END
            OnInitClassMembersComplete();
        }
 /// <summary> Removes the sync logic for member _chaseChannelLevel</summary>
 /// <param name="signalRelatedEntity">If set to true, it will call the related entity's UnsetRelatedEntity method</param>
 /// <param name="resetFKFields">if set to true it will also reset the FK fields pointing to the related entity</param>
 private void DesetupSyncChaseChannelLevel(bool signalRelatedEntity, bool resetFKFields)
 {
     base.PerformDesetupSyncRelatedEntity(_chaseChannelLevel, new PropertyChangedEventHandler(OnChaseChannelLevelPropertyChanged), "ChaseChannelLevel", CustomerChaseChannelEntity.Relations.ChaseChannelLevelEntityUsingChaseChannelLevelId, true, signalRelatedEntity, "CustomerChaseChannel", resetFKFields, new int[] { (int)CustomerChaseChannelFieldIndex.ChaseChannelLevelId });
     _chaseChannelLevel = null;
 }
 /// <summary>Gets the relation objects which represent the relation the fieldName specified is mapped on. </summary>
 /// <param name="fieldName">Name of the field mapped onto the relation of which the relation objects have to be obtained.</param>
 /// <returns>RelationCollection with relation object(s) which represent the relation the field is maped on</returns>
 public override RelationCollection GetRelationsForFieldOfType(string fieldName)
 {
     return(ChaseChannelLevelEntity.GetRelationsForField(fieldName));
 }