public async Task <IActionResult> ImportAsync([FromRoute] LeaguesRequest request) { try { await _leaguesService.ImportAsync(request.LeagueCode); return(CreatedAtRoute( nameof(GetLeagueAsync), new { leagueCode = request.LeagueCode }, null)); } catch (LeagueDoesNotExistException) { return(NotFound()); } catch (LeagueAlreadyImportedException) { return(Conflict()); } catch (ServiceTimeoutException) { return(new ObjectResult(request.LeagueCode) { StatusCode = (int)HttpStatusCode.GatewayTimeout }); } }
public async Task <IActionResult> GetLeagueAsync([FromRoute] LeaguesRequest request) { try { var league = await _leaguesService.GetLeagueAsync(request.LeagueCode); var response = _mapper.Map <LeagueResponse>(league); return(Ok(response)); } catch (LeagueDoesNotExistException) { return(NotFound()); } }