示例#1
0
        public async Task Execute()
        {
            try
            {
                const string apiKey         = "AIzaSyDEMwf-TmawihildmEKe3V-vZNSmqIZhr0";
                const string searchEngineId = "009825223228933647019:srwbnv-i5xw";

                jsonFilesFromFolder();

                #region Update all team player names with the ones available

                int jsonIndex = 7;

                var jsonFileList = jsonFilesFromFolder().Skip(6);

                foreach (var jsonTeam in jsonFileList)
                {
                    var items = JsonConvert.DeserializeObject <RootObject>(jsonTeam);

                    var team = await _teamService.GetTeamByIdAndYear(jsonIndex, 2009);

                    int index = 0;
                    foreach (var item in team.PlayerList)
                    {
                        var currentPlayerToCopy = items.sheets.Players[index];

                        var nameAndSurname = currentPlayerToCopy.name.Split(' ');
                        if (nameAndSurname.Length > 1)
                        {
                            item.Name    = nameAndSurname[0];
                            item.Surname = nameAndSurname[1];
                        }
                        else
                        {
                            item.Name    = currentPlayerToCopy.name;
                            item.Surname = "";
                        }

                        item.Position = currentPlayerToCopy.position;

                        #region Google Search Code

                        var query = currentPlayerToCopy.name;
                        var customSearchService = new CustomsearchService(new BaseClientService.Initializer {
                            ApiKey = apiKey
                        });
                        var listRequest = customSearchService.Cse.List(query);
                        listRequest.Cx  = searchEngineId;
                        listRequest.Num = 1;
                        //listRequest.Fields = "items(image(contextLink,thumbnailLink),link)";
                        listRequest.SearchType = CseResource.ListRequest.SearchTypeEnum.Image;
                        listRequest.Start      = 1;

                        var search = listRequest.Execute();

                        var url = search.Items[0].Link;

                        var imageByteArray = this.GetImage(url);
                        if (imageByteArray != null)
                        {
                            var blobData = await _globalMediaService.PostBlob(imageByteArray, "test.png", "mycontainer");

                            item.Picture = blobData;
                        }


                        await _playerService.UpdatePlayer(item);

                        #endregion

                        index++;
                    }

                    jsonIndex++;

                    Thread.Sleep(10000);
                }

                #endregion
            }
            catch (Exception ex)
            {
            }
        }