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);
        }
Ejemplo n.º 3
0
        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);
        }