private void GetPacePeakSummary(SportSummaryDto sportSummary) { var bestEfforts = _timesRepo.GetBestTimes(UserId, Start, End); var OneKm = bestEfforts.Where(b => b.Distance == 1000).FirstOrDefault(); if (OneKm != null) { sportSummary.Peak1 = new KeyValuePair <string, string>(OneKm.DistanceName, OneKm.AveragePace.ToMinSec()); } var OneMile = bestEfforts.Where(b => b.Distance == 1609).FirstOrDefault(); if (OneMile != null) { sportSummary.Peak2 = new KeyValuePair <string, string>(OneMile.DistanceName, OneMile.AveragePace.ToMinSec()); } var FiveKm = bestEfforts.Where(b => b.Distance == 5000).FirstOrDefault(); if (FiveKm != null) { sportSummary.Peak3 = new KeyValuePair <string, string>(FiveKm.DistanceName, FiveKm.AveragePace.ToMinSec()); } var TenKm = bestEfforts.Where(b => b.Distance == 10000).FirstOrDefault(); if (TenKm != null) { sportSummary.Peak4 = new KeyValuePair <string, string>(TenKm.DistanceName, TenKm.AveragePace.ToMinSec()); } }
private void GetPowerPeakSummary(SportSummaryDto sportSummary) { PeaksDtoRepository peaks = new PeaksDtoRepository(_context); peaks.UserId = UserId; PeaksDto peakDetails = peaks.ExtractPeaks(PeakStreamType.Power, Start, End); sportSummary.Peak1 = ExtractPeak(peakDetails, 5); sportSummary.Peak2 = ExtractPeak(peakDetails, 60); sportSummary.Peak3 = ExtractPeak(peakDetails, 1200); sportSummary.Peak4 = ExtractPeak(peakDetails, 3600); }
public ActionResult GetSportSummary([System.Web.Http.FromUri] SportSummaryRequestInformation detail) { SportType sportType; try { sportType = EnumConversion.GetEnumFromDescription <SportType>(detail.Sport); } catch (ArgumentException) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SportSummaryDto details = DashboardSportSummary.Create(this.User.Identity.GetUserId(), sportType, detail.FromDateTime.Value, detail.ToDateTime.Value); return(PartialView("_sportSummary", details)); }
private SportSummaryDto GetSportSummary() { IEnumerable <ActivityDto> sportActivitiesDuringPeriod; SportSummaryDto sportSummary = new SportSummaryDto(); if (Sport == SportType.Ride) { sportActivitiesDuringPeriod = _summaryActivities.Where(r => r.IsRide && r.Start >= Start && r.Start <= End).ToList(); sportSummary.IsRide = true; GetPowerPeakSummary(sportSummary); } else if (Sport == SportType.Run) { sportActivitiesDuringPeriod = _summaryActivities.Where(r => r.IsRun && r.Start >= Start && r.Start <= End).ToList(); sportSummary.IsRun = true; GetPacePeakSummary(sportSummary); } else if (Sport == SportType.Swim) { sportActivitiesDuringPeriod = _summaryActivities.Where(r => r.IsSwim && r.Start >= Start && r.Start <= End).ToList(); sportSummary.IsSwim = true; } else if (Sport == SportType.Other) { sportActivitiesDuringPeriod = _summaryActivities.Where(r => r.IsOther && r.Start >= Start && r.Start <= End).ToList(); sportSummary.IsOther = true; } else { sportActivitiesDuringPeriod = _summaryActivities.Where(r => r.Start >= Start && r.Start <= End).ToList(); } sportSummary.Sport = Sport; sportSummary.Duration = TimeSpan.FromSeconds(sportActivitiesDuringPeriod.Sum(r => r.MovingTime.TotalSeconds)); sportSummary.Distance = sportActivitiesDuringPeriod.Sum(r => r.Distance); sportSummary.SufferScore = sportActivitiesDuringPeriod.Sum(r => r.SufferScore); sportSummary.Calories = sportActivitiesDuringPeriod.Sum(r => r.Calories); sportSummary.ElevationGain = sportActivitiesDuringPeriod.Sum(r => r.ElevationGain).ToFeet(); sportSummary.ActivityCount = sportActivitiesDuringPeriod.Count(); sportSummary.TSS = sportActivitiesDuringPeriod.Sum(r => r.TSS); sportSummary.TrainingLoadChartName = string.Format("{0}{1}Chart", Sport, (End - Start).TotalDays.ToString()); return(sportSummary); }