/// <summary>
 /// Copies the properties from another InteractionChannel object to this InteractionChannel object
 /// </summary>
 /// <param name="target">The target.</param>
 /// <param name="source">The source.</param>
 public static void CopyPropertiesFrom(this InteractionChannel target, InteractionChannel source)
 {
     target.Id                        = source.Id;
     target.ChannelData               = source.ChannelData;
     target.ChannelDetailTemplate     = source.ChannelDetailTemplate;
     target.ChannelEntityId           = source.ChannelEntityId;
     target.ChannelListTemplate       = source.ChannelListTemplate;
     target.ChannelTypeMediumValueId  = source.ChannelTypeMediumValueId;
     target.ComponentCacheDuration    = source.ComponentCacheDuration;
     target.ComponentDetailTemplate   = source.ComponentDetailTemplate;
     target.ComponentEntityTypeId     = source.ComponentEntityTypeId;
     target.ComponentListTemplate     = source.ComponentListTemplate;
     target.EngagementStrength        = source.EngagementStrength;
     target.ForeignGuid               = source.ForeignGuid;
     target.ForeignKey                = source.ForeignKey;
     target.InteractionDetailTemplate = source.InteractionDetailTemplate;
     target.InteractionEntityTypeId   = source.InteractionEntityTypeId;
     target.InteractionListTemplate   = source.InteractionListTemplate;
     target.IsActive                  = source.IsActive;
     target.Name                      = source.Name;
     target.RetentionDuration         = source.RetentionDuration;
     target.SessionDetailTemplate     = source.SessionDetailTemplate;
     target.SessionListTemplate       = source.SessionListTemplate;
     target.UsesSession               = source.UsesSession;
     target.CreatedDateTime           = source.CreatedDateTime;
     target.ModifiedDateTime          = source.ModifiedDateTime;
     target.CreatedByPersonAliasId    = source.CreatedByPersonAliasId;
     target.ModifiedByPersonAliasId   = source.ModifiedByPersonAliasId;
     target.Guid                      = source.Guid;
     target.ForeignId                 = source.ForeignId;
 }
 /// <summary>
 /// Clones this InteractionChannel object to a new InteractionChannel object
 /// </summary>
 /// <param name="source">The source.</param>
 /// <param name="deepCopy">if set to <c>true</c> a deep copy is made. If false, only the basic entity properties are copied.</param>
 /// <returns></returns>
 public static InteractionChannel Clone(this InteractionChannel source, bool deepCopy)
 {
     if (deepCopy)
     {
         return(source.Clone() as InteractionChannel);
     }
     else
     {
         var target = new InteractionChannel();
         target.CopyPropertiesFrom(source);
         return(target);
     }
 }