public ActionResult <LeagueResponse> UpdateLeague([FromServices] ISaveModel <League> saveLeague, [FromRoute] Guid leagueId, LeagueRequest request) { var league = Mapper.Map <League>(request); league.Id = leagueId; league = saveLeague.Execute(league); var response = Mapper.Map <LeagueResponse>(league); return(new OkObjectResult(response)); }
private void _downloadLeague(LeagueEnum league, int journey) { //http://api.football-data.org/v1/competitions/436/leagueTable/?matchday=22" LeagueTable table = null; Log.Debug($"Solicitando datos de la liga {EnumUtility.GetDescriptionFromEnumValue(league)}"); try { //string request = $"{API_URL}{LeagueRequest}"; string leaguerequest = null; LeagueRequest.TryGetValue(EnumUtility.GetDescriptionFromEnumValue(league), out leaguerequest); string request = $"{API_URL}{leaguerequest}".Replace("$JOURNEY$", journey.ToString()); //request = request.Replace( "$LEAGUEID$", ( ( int )league ).ToString() ); WebHeaderCollection headers = new WebHeaderCollection(); headers.Add(RequestHeader, API_KEY); WebClient wc = new WebClient(); wc.Encoding = Encoding.UTF8; wc.Headers = headers; Log.Debug($"Request: {request}"); var json = wc.DownloadString(request); table = JsonConvert.DeserializeObject <LeagueTable>(json); // convierto los nombres a mayusculas y sin acentos table.standing.Select(a => { a.teamName = a.teamName.RemoveDiacritics().ToUpper(); return(a); }).ToList(); // Por cada nombre en la tabla, lo busco en la TeamsNames y lo sustituyo si lo encuentra foreach (var team in table.standing) { team.teamName = Teams.GetKeyfromName(team.teamName); } } catch (Exception e) { Log.Warn($"Hubo un error al solicitar la clasificacion {EnumUtility.GetDescriptionFromEnumValue( league )}"); Log.Warn(e.Message); } if (table != null) { var fichero = $"{FOLDERPATH}/2017_{EnumUtility.GetDescriptionFromEnumValue( league )}_{journey}.json"; Log.Info($"Salvando {journey} de la liga {EnumUtility.GetDescriptionFromEnumValue( league )} en fichero {fichero}"); File.WriteAllText(fichero, JsonConvert.SerializeObject(table, Formatting.Indented)); } _leagues[league][journey] = table; }
public ActionResult <LeagueResponse> CreateLeague([FromServices] ISaveModel <League> saveLeague, LeagueRequest request) { var league = saveLeague.Execute(Mapper.Map <League>(request)); var response = Mapper.Map <LeagueResponse>(league); return(new OkObjectResult(response)); }