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)); }
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)); }