/// <summary> /// Create Activity Analytics based on the activity type. /// </summary> /// <returns>Analytics</returns> public ActivityAnalytics GetAnalytics() { if (!IsValid()) { return(ActivityAnalytics.EmptyStream()); } if (Activity.ActivityType.IsRide) { ZoneValueOnDay value = new ZoneValueOnDay(); var ftp = value.GetUserZoneValueOnGivenDate(_activity.Athlete.UserId, enums.ZoneType.BikePower, _activity.Start); if (ftp == null) { return(null); } return(ActivityAnalytics.RideCreateFromPowerStream(Stream, ftp.Value)); } else if (Activity.ActivityType.IsRun) { return(ActivityAnalytics.RunCreateFromPaceOrHeartRateStream(Stream.Select(w => w.Velocity).ToList(), Stream.Select(w => w.HeartRate).ToList())); } else if (Activity.ActivityType.IsSwim) { return(ActivityAnalytics.SwimCreateFromPaceStream(Stream.Select(w => w.Velocity).ToList())); } else { return(ActivityAnalytics.OtherUnknown()); } }
public static ActivityDetailDto CreateForActivityWithNoDetails(Activity fvActivity) { ActivityDetailDto dto = ActivityDetailDto.CreateFromActivity(fvActivity); dto.Name = fvActivity.Name; dto.Analytics = ActivityAnalytics.EmptyStream(); return(dto); }