Пример #1
0
        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));
        }
Пример #2
0
        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;
        }
Пример #3
0
        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));
        }