示例#1
0
        public ActionResult Update(int segment, int athlete)
        {
            SegmentUpdate segmentUpdate = new SegmentUpdate(segment);
            segmentUpdate.UpdateSegment();
            segmentUpdate.UpdateEfforts(segment);

            return RedirectToAction("Index", new { athlete = athlete, segment = segment });
        }
示例#2
0
        private void UpdateEffortOnSegment(int segmentID, Models.Segment segmentInfo, SegmentUpdate segmentUpdater)
        {
            segmentUpdater.UpdateEfforts(segmentInfo);
            RidesWorstTime.Add(segmentID, segmentUpdater.WorstPlacing);

            // Update Leaderboard (dictionary)
            var segmentLBoards = segmentUpdater.LeaderBoards;
            foreach (var segmentLBoard in segmentLBoards)
            {
                AddToAthleteRidesLBoards(segmentLBoard.AthleteID, segmentID, segmentLBoard);
            }

            // Update Info
            Info.NoRidden += segmentLBoards.Count(); // verify it works as expected
            //info.NoRiders =
        }
示例#3
0
        public override bool Update()
        {
            if (dbArea.Segments.Count == 0)
                return false;

            ResetCalcValues();
            foreach (var segment in dbArea.Segments)
            {
                SegmentUpdate segmentUpdater = new SegmentUpdate(segment.SegmentID) { StravaWebClientObj = StravaWebClientObj };

                var segmentStat = segmentUpdater.UpdateSegment();
                UpdateEffortOnSegment(segment.SegmentID, segmentStat, segmentUpdater);

                AddStatData(segmentStat.Info);
            }
            return base.Update();
        }