コード例 #1
0
        public async Task <IActionResult> Location()
        {
            var issLocationData = await this.httpRequester
                                  .GetAsync <IssApiLocationDataResponse>("http://api.open-notify.org/iss-now.json");

            var creadedPositionSnapshot = await this.PositionSnapshotsService
                                          .CreatePositionSnapshot(issLocationData.Message, issLocationData.Timestamp, issLocationData.IssPosition.Latitude, issLocationData.IssPosition.Longitude);

            var viewModel = new IssLocationViewModel
            {
                Latitude              = issLocationData.IssPosition.Latitude,
                Longitude             = issLocationData.IssPosition.Longitude,
                LastCreatedSnapshotId = creadedPositionSnapshot
            };

            return(this.View(viewModel));
        }
コード例 #2
0
ファイル: HomeController.cs プロジェクト: RegRom/IssLocator
        public async Task <IActionResult> Index(int page = 1)
        {
            var registeredTrackPoints = _dbContext.IssTrackPoints.AsNoTracking();
            var speed = 0.0;

            if (registeredTrackPoints.Count() > 2)
            {
                speed = _issLocationService.CalculateSpeed(registeredTrackPoints.FirstOrDefault(),
                                                           registeredTrackPoints.Skip(1).FirstOrDefault());
            }

            var sortedPoints = registeredTrackPoints.OrderByDescending(point => point.Timestamp);

            var viewModel = new IssLocationViewModel
            {
                TrackPoints = await PagingList.CreateAsync(sortedPoints, 20, page),
                Speed       = speed
            };

            return(View(viewModel));
        }