/// <summary>
 /// Clones this StreakAchievementAttempt object to a new StreakAchievementAttempt 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 StreakAchievementAttempt Clone(this StreakAchievementAttempt source, bool deepCopy)
 {
     if (deepCopy)
     {
         return(source.Clone() as StreakAchievementAttempt);
     }
     else
     {
         var target = new StreakAchievementAttempt();
         target.CopyPropertiesFrom(source);
         return(target);
     }
 }
 /// <summary>
 /// Copies the properties from another StreakAchievementAttempt object to this StreakAchievementAttempt object
 /// </summary>
 /// <param name="target">The target.</param>
 /// <param name="source">The source.</param>
 public static void CopyPropertiesFrom(this StreakAchievementAttempt target, StreakAchievementAttempt source)
 {
     target.Id = source.Id;
     target.AchievementAttemptEndDateTime   = source.AchievementAttemptEndDateTime;
     target.AchievementAttemptStartDateTime = source.AchievementAttemptStartDateTime;
     target.ForeignGuid  = source.ForeignGuid;
     target.ForeignKey   = source.ForeignKey;
     target.IsClosed     = source.IsClosed;
     target.IsSuccessful = source.IsSuccessful;
     target.Progress     = source.Progress;
     target.StreakId     = source.StreakId;
     target.StreakTypeAchievementTypeId = source.StreakTypeAchievementTypeId;
     target.CreatedDateTime             = source.CreatedDateTime;
     target.ModifiedDateTime            = source.ModifiedDateTime;
     target.CreatedByPersonAliasId      = source.CreatedByPersonAliasId;
     target.ModifiedByPersonAliasId     = source.ModifiedByPersonAliasId;
     target.Guid      = source.Guid;
     target.ForeignId = source.ForeignId;
 }