private void CalculateActivity(Activity fvActivity) { ActivityStreams stream = ActivityStreams.CreateFromExistingActivityStream(fvActivity.Id); // stream must have watts to calculate TSS/IF! if (!stream.HasIndividualStream(enums.StreamType.Watts)) { return; } ZoneValueOnDay value = new ZoneValueOnDay(); var ftp = value.GetUserZoneValueOnGivenDate(fvActivity.Athlete.UserId, enums.ZoneType.BikePower, fvActivity.Start); if (ftp == null) { return; } BikePower calc = new BikePower(stream.GetIndividualStream <int?>(enums.StreamType.Watts), ftp.Value); fvActivity.TSS = calc.TSS(); fvActivity.IntensityFactor = calc.IntensityFactor(); _uow.Complete(); }
private void CalculateStats() { ActivityStreams.CreateFromExistingActivityStream(_jobDetails.ActivityId.Value) .CalculatePeak(StreamType.Watts, _jobDetails.Duration) .Save(false); _jobDetails.MarkJobComplete(); _uow.Complete(); }
public ActionResult Recalculate(long?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ActivityStreams.CreateFromExistingActivityStream(id.Value) .CalculatePeaksAndSave(); return(RedirectToAction("ViewActivity", new { id = id })); }
public ActionResult GetActivitySummaryInformation([System.Web.Http.FromUri] SummaryInformationRequest detail) { ActivityStreams details = ActivityStreams.CreateFromExistingActivityStream(detail.activityId, detail.startIndex, detail.endIndex); if (details.UserId != User.Identity.GetUserId()) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ActivityMinMaxDto mma = new ActivityMinMaxDto(details); mma.Populate(); mma.Label = detail.selection; return(PartialView("_ActivitySummaryInformation", mma)); }
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); }