Exemple #1
0
        private void FillLatitudeAndLongitude(ReportedIssue issueToAdd)
        {
            var stationResponse = _ridesQueries.GetStationAsync(issueToAdd.StopId.Value).Result;

            if (stationResponse != null)
            {
                issueToAdd.Latitude  = stationResponse.Latitude;
                issueToAdd.Longitude = stationResponse.Longitude;
            }
            else
            {
                issueToAdd.Latitude  = 0;
                issueToAdd.Longitude = 0;
            }
        }
Exemple #2
0
        public async Task <IActionResult> GetIssueDetails(int id)
        {
            var issue = await _issuesQueries.GetById(id);

            if (issue == null)
            {
                return(NotFound($"Issue {id} not found."));
            }

            var apiIssue    = IssueApiModel.FromReportedIssue <IssueDetailsApiModel>(issue);
            var extraIssues = _issuesQueries.GetTopByBikeId(3, issue.BikeId);

            extraIssues = extraIssues.Where(i => i.Id != id);
            if (extraIssues.Any())
            {
                apiIssue.addExtraIncidences(extraIssues);
            }

            if (issue.StopId.HasValue)
            {
                var stationResponse = await _ridesQueries.GetStationAsync(issue.StopId.Value);

                if (stationResponse != null)
                {
                    apiIssue.Station = StationApiModel.FromStationResponse(stationResponse);
                }
            }


            var bikeInfo = await _ridesQueries.GetBikeAsync(issue.BikeId);

            if (bikeInfo != null)
            {
                apiIssue.BikeInfo = bikeInfo;
            }

            return(Ok(apiIssue));
        }