public static new ActivityDetailDto CreateFromActivity(Activity fvActivity) { LapDtoRepository repo = new LapDtoRepository(); ActivityDetailDto m = Mapper.Map <ActivityDetailDto>(ActivityDto.CreateFromActivity(fvActivity)); m.ActivityStream = ActivityStreams.CreateFromExistingActivityStream(fvActivity.Id);// uow.Activity.GetActivityStream(fvActivity.Id); m.Laps = repo.GetLaps(fvActivity.Id); m.HeartRate = repo.GetLapStream(fvActivity.Id, PeakStreamType.HeartRate); m.Cadence = repo.GetLapStream(fvActivity.Id, PeakStreamType.Cadence); ActivityMinMaxDto mma = new ActivityMinMaxDto(m.ActivityStream); mma.Populate(); m.SummaryInfo = mma; m.Analytics = m.SummaryInfo.Analytics; ActivityZones zones = new ActivityZones(m); if (m.IsRun) { m.HeartRateZones = zones.GetZoneValues(ZoneType.RunHeartRate); m.RunPaceZones = zones.GetZoneValues(ZoneType.RunPace); m.PaceByDistance = repo.GetBestEffort(fvActivity.Id); } else if (m.IsRide) { m.HeartRateZones = zones.GetZoneValues(ZoneType.BikeHeartRate); if (m.HasPowerMeter) { m.Power = repo.GetLapStream(fvActivity.Id, PeakStreamType.Power); m.PowerZones = zones.GetZoneValues(ZoneType.BikePower); // uow.Settings.GetZoneValues(m, ZoneType.BikePower); } } else if (m.IsSwim) { } return(m); }