Example #1
0
        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
                });
            }
        }
Example #2
0
        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());
            }
        }