public List <TeamMember> ParseFile(string rawFileContent) { HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(rawFileContent); var docNode = doc.DocumentNode; var managerNode = docNode.SelectSingleNode("//section[@class='organigramma']/table[1]/tbody/tr/td[2]"); var manager = new TeamMember(); manager.Role = MemberRole.Manager; manager.Fullname = Capitalize(managerNode.InnerText); manager.Team = new Domain.Teams.Team { Name = GetTeamName(docNode) }; var additionalDetails = new AdditionalDetails(); additionalDetails.AddDetail("Website", "legaseriea.it", "http://www.legaseriea.it/en"); additionalDetails.AddDetail("Manager Profile", manager.Fullname, GetProfileUrl(manager.Fullname)); additionalDetails.AddDetail("League", "Serie A"); additionalDetails.AddDetail("Country", "Italy"); additionalDetails.AddImportMethod("Local Html Parsing"); additionalDetails.AddTimeStampNow("Imported On"); manager.AdditionalDetailsJson = additionalDetails.ToJson(); return(new List <TeamMember> { manager }); }
public List <Team> ParseFile(string rawFileContent) { List <Team> results = new List <Team>(); HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(rawFileContent); var docNode = doc.DocumentNode; var team = new Team(); var additionalDetails = new AdditionalDetails(); var teamName = GetName(docNode); var teamLongName = GetLongName(docNode); var teamProfileUrl = GetProfileUrl(docNode, teamName); var teamWebsiteName = GetWebsite(docNode); var teamWebsiteUrl = GetWebsiteUrl(docNode); var stadiumName = GetStadium(docNode); var stadiumUrl = "https://www.bing.com/images/search?q=" + HttpUtility.UrlEncode(stadiumName + " stadium"); var address = GetAddress(docNode); additionalDetails.AddDetail("Website", "legaseriea.it", "http://www.legaseriea.it/en"); additionalDetails.AddDetail("Original Team", teamName, teamProfileUrl); additionalDetails.AddDetail("Official Website", teamWebsiteName, teamWebsiteUrl); additionalDetails.AddDetail("Original Stadium", stadiumName, stadiumUrl); additionalDetails.AddDetail("Full Name", teamLongName); additionalDetails.AddDetail("Imported Address", address); additionalDetails.AddDetail("League", "Serie A"); additionalDetails.AddDetail("Country", "Italy"); additionalDetails.AddImportMethod("Local Html Parsing"); additionalDetails.AddTimeStampNow("Imported On"); team.AdditionalDetailsJson = additionalDetails.ToJson(); team.Name = teamName; team.Address = address; results.Add(team); return(results); }
private TeamMember ParsePlayer(HtmlNode playerNode, string teamName) { var player = new TeamMember(); player.Team = new Domain.Teams.Team { Name = teamName }; player.Number = GetPlayerNumber(playerNode); player.Fullname = GetFullName(playerNode); player.Role = MemberRole.Player; player.Position = GetPlayerPosition(playerNode); player.DateOfBirth = GetDateOfbirth(playerNode); var nationalityFIFA = GetNationalityFIFA(playerNode); var profileUrl = GetProfileUrl(playerNode); var goals = GetGoals(playerNode); var y = GetYellowCards(playerNode); var r = GetRedCards(playerNode); var additionalDetails = new AdditionalDetails(); additionalDetails.AddDetail("Website", "legaseriea.it", "http://www.legaseriea.it/en"); additionalDetails.AddDetail("Player Profile", player.Fullname, profileUrl); //additionalDetails.AddDetail("Original Team", teamName, teamProfileUrl); additionalDetails.AddDetail("Nationality", nationalityFIFA); additionalDetails.AddDetail("Goals", goals); additionalDetails.AddDetail("Yellow", y); additionalDetails.AddDetail("Red", r); additionalDetails.AddDetail("League", "Serie A"); additionalDetails.AddDetail("Country", "Italy"); additionalDetails.AddImportMethod("Local Html Parsing"); additionalDetails.AddTimeStampNow("Imported On"); player.AdditionalDetailsJson = additionalDetails.ToJson(); return(player); }