Exemple #1
0
        public async Task <IActionResult> GetIssuesFromUser(int userid)
        {
            var issues = await _issuesQueries.GetIssuesByUserId(userid);

            var apiIssues = issues.ToList().Select(i => IssueApiModel.FromReportedIssue <IssueApiModel>(i));

            return(Ok(apiIssues));
        }
Exemple #2
0
        public async Task <IActionResult> GetIssuesAssignedToUser(string userid)
        {
            var issues = await _issuesQueries.GetAssignedToUserAsync(userid);

            var apiIssues = issues.ToList().Select(i => IssueApiModel.FromReportedIssue <IssueApiModel>(i));

            return(Ok(apiIssues));
        }
Exemple #3
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));
        }