public static void AddFullMatchDetailsToDb(DataObjects.MatchDetails match, sakilaEntities4 db, int homeTeamID, int awayTeamID, int competitionID = 10) { Helper.AddMatchDetailsToDb(match, db, homeTeamID, awayTeamID, competitionID); Helper.AddGoalsDetailsToDb(match, db, homeTeamID, awayTeamID); addOnlyStatisticsToDb(match, db, homeTeamID, awayTeamID); }
public static void addOnlyStatisticsToDb(DataObjects.MatchDetails match, sakilaEntities4 db, int homeTeamID, int awayTeamID) { Helper.AddEventToDb((int)DataObjects.EventType.Possession, homeTeamID, match.MatchID, match.HomeTeam.Possession, db); Helper.AddEventToDb((int)DataObjects.EventType.Corner, homeTeamID, match.MatchID, match.HomeTeam.Corners, db); Helper.AddEventToDb((int)DataObjects.EventType.Fouls, homeTeamID, match.MatchID, match.HomeTeam.Fouls, db); Helper.AddEventToDb((int)DataObjects.EventType.TotalShots, homeTeamID, match.MatchID, match.HomeTeam.TotalShots, db); Helper.AddEventToDb((int)DataObjects.EventType.ShotsOnTarget, homeTeamID, match.MatchID, match.HomeTeam.OnTarget, db); Helper.AddEventToDb((int)DataObjects.EventType.Possession, awayTeamID, match.MatchID, match.AwayTeam.Possession, db); Helper.AddEventToDb((int)DataObjects.EventType.Corner, awayTeamID, match.MatchID, match.AwayTeam.Corners, db); Helper.AddEventToDb((int)DataObjects.EventType.Fouls, awayTeamID, match.MatchID, match.AwayTeam.Fouls, db); Helper.AddEventToDb((int)DataObjects.EventType.TotalShots, awayTeamID, match.MatchID, match.AwayTeam.TotalShots, db); Helper.AddEventToDb((int)DataObjects.EventType.ShotsOnTarget, awayTeamID, match.MatchID, match.AwayTeam.OnTarget, db); }
public static void AddMatchDetailsToDb(DataObjects.MatchDetails match, sakilaEntities4 db, int homeTeamID, int awayTeamID, int competitionID = 10) { var newMatch = new competitionmatch(); newMatch.HomeTeamID = homeTeamID; newMatch.AwayTeamID = awayTeamID; newMatch.HomeGoals = match.HomeTeam.Goals; newMatch.AwayGoals = match.AwayTeam.Goals; newMatch.WinnerTeamID = Helper.GetWinnerTeamID(homeTeamID, match.HomeTeam.Goals, awayTeamID, match.AwayTeam.Goals); newMatch.MatchDate = match.Date; newMatch.CompetitionID = competitionID; db.competitionmatch.Add(newMatch); db.SaveChanges(); match.MatchID = newMatch.CompetitionMatchID; }
public static DataObjects.MatchDetails GetMatchStatisticsFromLivescore(string url) { var awayDetails = new DataObjects.TeamDetails(); var homeDetails = new DataObjects.TeamDetails(); var matchDetails = new DataObjects.MatchDetails(); var dom = CQ.CreateFromUrl(url); string homeTeam = dom["[data-type=home-team]"].Text(); string awayTeam = dom["[data-type=away-team]"].Text(); int homeGoals = int.Parse(dom[".sco [data-type=home]"].Text()); int awayGoals = int.Parse(dom[".sco [data-type=away]"].Text()); return(matchDetails); }
public static void AddFullMatchDetailsToDb(DataObjects.MatchDetails match, sakilaEntities4 db, int homeTeamID, int awayTeamID) { AddMatchDetailsToDb(match, db, homeTeamID, awayTeamID); AddEventToDb((int)DataObjects.EventType.Blocks, homeTeamID, match.MatchID, match.HomeTeam.Blocks, db); AddEventToDb((int)DataObjects.EventType.Clearances, homeTeamID, match.MatchID, match.HomeTeam.Clearances, db); AddEventToDb((int)DataObjects.EventType.Corner, homeTeamID, match.MatchID, match.HomeTeam.Corners, db); AddEventToDb((int)DataObjects.EventType.Crosses, homeTeamID, match.MatchID, match.HomeTeam.Crossses, db); AddEventToDb((int)DataObjects.EventType.Fouls, homeTeamID, match.MatchID, match.HomeTeam.Fouls, db); AddEventToDb((int)DataObjects.EventType.FreeKick, homeTeamID, match.MatchID, match.HomeTeam.FreeKicks, db); AddEventToDb((int)DataObjects.EventType.Handballs, homeTeamID, match.MatchID, match.HomeTeam.Handballs, db); AddEventToDb((int)DataObjects.EventType.Offside, homeTeamID, match.MatchID, match.HomeTeam.Offsides, db); AddEventToDb((int)DataObjects.EventType.Penalties, homeTeamID, match.MatchID, match.HomeTeam.Penalties, db); AddEventToDb((int)DataObjects.EventType.Possession, homeTeamID, match.MatchID, match.HomeTeam.Possession, db); AddEventToDb((int)DataObjects.EventType.YellowCard, homeTeamID, match.MatchID, match.HomeTeam.YellowCards, db); AddEventToDb((int)DataObjects.EventType.RedCard, homeTeamID, match.MatchID, match.HomeTeam.RedCards, db); AddEventToDb((int)DataObjects.EventType.Saves, homeTeamID, match.MatchID, match.HomeTeam.Saves, db); AddEventToDb((int)DataObjects.EventType.ShotsOffTarget, homeTeamID, match.MatchID, match.HomeTeam.OffTarget, db); AddEventToDb((int)DataObjects.EventType.ShotsOnTarget, homeTeamID, match.MatchID, match.HomeTeam.OnTarget, db); AddEventToDb((int)DataObjects.EventType.Handballs, homeTeamID, match.MatchID, match.HomeTeam.Handballs, db); AddEventToDb((int)DataObjects.EventType.ThrowIns, homeTeamID, match.MatchID, match.HomeTeam.ThrowIns, db); AddEventToDb((int)DataObjects.EventType.TotalShots, homeTeamID, match.MatchID, match.HomeTeam.TotalShots, db); AddEventToDb((int)DataObjects.EventType.Blocks, awayTeamID, match.MatchID, match.AwayTeam.Blocks, db); AddEventToDb((int)DataObjects.EventType.Clearances, awayTeamID, match.MatchID, match.AwayTeam.Clearances, db); AddEventToDb((int)DataObjects.EventType.Corner, awayTeamID, match.MatchID, match.AwayTeam.Corners, db); AddEventToDb((int)DataObjects.EventType.Crosses, awayTeamID, match.MatchID, match.AwayTeam.Crossses, db); AddEventToDb((int)DataObjects.EventType.Fouls, awayTeamID, match.MatchID, match.AwayTeam.Fouls, db); AddEventToDb((int)DataObjects.EventType.FreeKick, awayTeamID, match.MatchID, match.AwayTeam.FreeKicks, db); AddEventToDb((int)DataObjects.EventType.Handballs, awayTeamID, match.MatchID, match.AwayTeam.Handballs, db); AddEventToDb((int)DataObjects.EventType.Offside, awayTeamID, match.MatchID, match.AwayTeam.Offsides, db); AddEventToDb((int)DataObjects.EventType.Penalties, awayTeamID, match.MatchID, match.AwayTeam.Penalties, db); AddEventToDb((int)DataObjects.EventType.Possession, awayTeamID, match.MatchID, match.AwayTeam.Possession, db); AddEventToDb((int)DataObjects.EventType.RedCard, awayTeamID, match.MatchID, match.AwayTeam.RedCards, db); AddEventToDb((int)DataObjects.EventType.YellowCard, awayTeamID, match.MatchID, match.AwayTeam.YellowCards, db); AddEventToDb((int)DataObjects.EventType.Saves, awayTeamID, match.MatchID, match.AwayTeam.Saves, db); AddEventToDb((int)DataObjects.EventType.ShotsOffTarget, awayTeamID, match.MatchID, match.AwayTeam.OffTarget, db); AddEventToDb((int)DataObjects.EventType.ShotsOnTarget, awayTeamID, match.MatchID, match.AwayTeam.OnTarget, db); AddEventToDb((int)DataObjects.EventType.Handballs, awayTeamID, match.MatchID, match.AwayTeam.Handballs, db); AddEventToDb((int)DataObjects.EventType.ThrowIns, awayTeamID, match.MatchID, match.AwayTeam.ThrowIns, db); AddEventToDb((int)DataObjects.EventType.TotalShots, awayTeamID, match.MatchID, match.AwayTeam.TotalShots, db); AddGoalsDetailsToDb(match, db, homeTeamID, awayTeamID); }
public static void AddGoalsDetailsToDb(DataObjects.MatchDetails match, sakilaEntities4 db, int homeTeamID, int awayTeamID) { var ownGoalID = 553; foreach (var goal in match.HomeTeam.GoalsDetails) { var newGoal = new matchgoal(); newGoal.MatchID = match.MatchID; newGoal.ScoringMinute = goal.Minute; newGoal.TeamID = homeTeamID; var scorer = NormalizePlayerName(goal.Scorer); if (goal.IsOwnGoal) { newGoal.ScorerID = ownGoalID; } else { newGoal.ScorerID = GetPlayerId(scorer, homeTeamID, db); } db.matchgoal.Add(newGoal); } foreach (var goal in match.AwayTeam.GoalsDetails) { var newGoal = new matchgoal(); newGoal.MatchID = match.MatchID; newGoal.ScoringMinute = goal.Minute; newGoal.TeamID = awayTeamID; var scorer = NormalizePlayerName(goal.Scorer); if (goal.IsOwnGoal) { newGoal.ScorerID = ownGoalID; } else { newGoal.ScorerID = GetPlayerId(scorer, awayTeamID, db); } db.matchgoal.Add(newGoal); } db.SaveChanges(); }
public static void AddAllMatchDeatilsToDb(DataObjects.MatchDetails match, sakilaEntities4 db) { var homeTeamID = db.team.First(x => x.TeamName == match.HomeTeam.Name).TeamID; var awayTeamID = db.team.First(x => x.TeamName == match.AwayTeam.Name).TeamID; var matchAlreadyExists = db.competitionmatch.FirstOrDefault( x => x.HomeTeamID == homeTeamID && x.AwayTeamID == awayTeamID); if (matchAlreadyExists != null) { return; } AddMatchDetailsToDb(match, db, homeTeamID, awayTeamID); AddGoalsDetailsToDb(match, db, homeTeamID, awayTeamID); AddShotsDetailsToDb(match, db, homeTeamID, awayTeamID); AddCornersDetailsToDb(match, db, homeTeamID, awayTeamID); AddOffsidesDetailsToDb(match, db, homeTeamID, awayTeamID); AddPossessionDetailsToDb(match, db, homeTeamID, awayTeamID); }
public static void AddOffsidesDetailsToDb(DataObjects.MatchDetails match, sakilaEntities4 db, int homeTeamID, int awayTeamID) { //2 var homeEv = new matchevent(); homeEv.EventTypeID = 2; homeEv.TeamID = homeTeamID; homeEv.eventvalue = match.HomeTeam.Offsides; homeEv.MatchID = match.MatchID; var awayEv = new matchevent(); awayEv.EventTypeID = 2; awayEv.TeamID = awayTeamID; awayEv.eventvalue = match.AwayTeam.Offsides; awayEv.MatchID = match.MatchID; db.matchevent.Add(homeEv); db.matchevent.Add(awayEv); db.SaveChanges(); }
public static void AddShotsDetailsToDb(DataObjects.MatchDetails match, sakilaEntities4 db, int homeTeamID, int awayTeamID) { var homeEv = new matchevent(); homeEv.EventTypeID = 5; homeEv.TeamID = homeTeamID; homeEv.eventvalue = match.HomeTeam.OnTarget; homeEv.MatchID = match.MatchID; var awayEv = new matchevent(); awayEv.EventTypeID = 5; awayEv.TeamID = awayTeamID; awayEv.eventvalue = match.AwayTeam.OnTarget; awayEv.MatchID = match.MatchID; var homeEv2 = new matchevent(); homeEv2.EventTypeID = 6; homeEv2.TeamID = homeTeamID; homeEv2.eventvalue = match.HomeTeam.OffTarget; homeEv2.MatchID = match.MatchID; var awayEv2 = new matchevent(); awayEv2.EventTypeID = 6; awayEv2.TeamID = awayTeamID; awayEv2.eventvalue = match.AwayTeam.OffTarget; awayEv2.MatchID = match.MatchID; db.matchevent.Add(homeEv); db.matchevent.Add(homeEv2); db.matchevent.Add(homeEv); db.matchevent.Add(awayEv2); db.SaveChanges(); }
public static DataObjects.MatchDetails GetMatchStatistics(string url) { var awayDetails = new DataObjects.TeamDetails(); var homeDetails = new DataObjects.TeamDetails(); var matchDetails = new DataObjects.MatchDetails(); var dom = CQ.CreateFromUrl(url); var homeTeamName = dom[".club.home"].Text(); var awayTeamName = dom[".club.away"].Text(); var date = dom[".fixtureinfo"].Text().Split('|').First().Trim(); matchDetails.Date = DateTime.Parse(date); homeDetails.Name = homeTeamName; awayDetails.Name = awayTeamName; var allRelevantSections = dom[".statsTable .contentTable tr"].ToList(); for (int i = 0; i < allRelevantSections.Count; i = i + 3) { var parameters = allRelevantSections[i].ChildElements.Select(x => x.Cq().Text()).Skip(1).ToList(); var homeParameters = allRelevantSections[i + 1].ChildElements.Select(x => x.Cq().Text()).Skip(1).ToList(); var awayParameters = allRelevantSections[i + 2].ChildElements.Select(x => x.Cq().Text()).Skip(1).ToList(); for (int j = 0; j < parameters.Count; j++) { var parameter = parameters[j]; var homeValue = int.Parse(homeParameters[j]); var awayValue = int.Parse(awayParameters[j]); FillTheRightField(parameter, homeValue, homeDetails); FillTheRightField(parameter, awayValue, awayDetails); } } var homeGoals = dom[".homeScore"].Text(); var awayGoals = dom[".awayScore"].Text(); homeDetails.Goals = int.Parse(homeGoals); awayDetails.Goals = int.Parse(awayGoals); var homeGoalsDetails = dom[".home.goals li"].Select(x => x.Cq().Text()); var awayGoalsDetails = dom[".away.goals li"].Select(x => x.Cq().Text()); homeDetails.GoalsDetails = new List <DataObjects.Goal>(); awayDetails.GoalsDetails = new List <DataObjects.Goal>(); foreach (var homeGoalsDetail in homeGoalsDetails) { var goalsToAdd = GetGoalsFromString(homeGoalsDetail); homeDetails.GoalsDetails.AddRange(goalsToAdd); } foreach (var awayGoalsDetail in awayGoalsDetails) { var goalsToAdd = GetGoalsFromString(awayGoalsDetail); awayDetails.GoalsDetails.AddRange(goalsToAdd); } matchDetails.AwayTeam = awayDetails; matchDetails.HomeTeam = homeDetails; return(matchDetails); }
public static void addOnlyPossessionToDb(DataObjects.MatchDetails match, sakilaEntities4 db, int homeTeamID, int awayTeamID) { Helper.AddEventToDb((int)DataObjects.EventType.Possession, homeTeamID, match.MatchID, match.HomeTeam.Possession, db); Helper.AddEventToDb((int)DataObjects.EventType.Possession, awayTeamID, match.MatchID, match.AwayTeam.Possession, db); }
public static DataObjects.MatchDetails GetMatchStatistics(string url) { var awayDetails = new DataObjects.TeamDetails(); var homeDetails = new DataObjects.TeamDetails(); var matchDetails = new DataObjects.MatchDetails(); var dom = CQ.CreateFromUrl(url); var date = dom[".fixture__date"].Text().Replace("Sept", "sep"); matchDetails.Date = DateTime.ParseExact(date, "ddd dd MMM yyyy", new CultureInfo("us")); var matchHeaderQuery = ".match-overview-header"; var teamNames = matchHeaderQuery + " " + ".fixture__team-name--HorA"; homeDetails.Name = dom[teamNames.Replace("HorA", "home")].Text(); awayDetails.Name = dom[teamNames.Replace("HorA", "away")].Text(); var score = matchHeaderQuery + " " + ".fixture__number--HorA"; homeDetails.Goals = int.Parse(dom[score.Replace("HorA", "home")].Text()); awayDetails.Goals = int.Parse(dom[score.Replace("HorA", "away")].Text()); var scorersQuery = matchHeaderQuery + " " + ".fixture__scorers-HorA"; var homeScorers = dom[scorersQuery.Replace("HorA", "home")] .Select(x => x.Cq().Text()) .Where(x => !string.IsNullOrEmpty(x)) .SelectMany(x => x.Split('Â').ToList()) .Where(x => !x.Contains("Dismissed")) .Select(Helper.RemoveDiacritics) .Select(Helper.NormalizePlayerName) .ToList(); var homeGoals = GetGoalsForTeam(homeScorers); var awayScorers = dom[scorersQuery.Replace("HorA", "away")] .Select(x => x.Cq().Text()) .Where(x => !string.IsNullOrEmpty(x)) .SelectMany(x => x.Split('Â').ToList()) .Where(x => !x.Contains("Dismissed")) .Select(Helper.RemoveDiacritics) .Select(Helper.NormalizePlayerName) .ToList(); var awayGoals = GetGoalsForTeam(awayScorers); homeDetails.GoalsDetails = homeGoals; awayDetails.GoalsDetails = awayGoals; var percentageRowQuery = ".percentage-row"; var relevantDetails = dom[percentageRowQuery].ToList(); try { var possesion = relevantDetails.First(x => x.Cq().Text().Contains("Possession")); var possessionElements = possesion.ChildElements.ToList(); homeDetails.Possession = int.Parse(possessionElements[1].Cq().Text().Replace("Home", "").Trim().Trim('%')); awayDetails.Possession = int.Parse(possessionElements.Last().Cq().Text().Replace("Away", "").Trim().Trim('%')); var totalShots = relevantDetails.First(x => x.Cq().Text().Contains("Shots")); var totalShotsElements = totalShots.ChildElements.ToList(); homeDetails.TotalShots = int.Parse(totalShotsElements[1].Cq().Text().Replace("Home", "")); awayDetails.TotalShots = int.Parse(totalShotsElements.Last().Cq().Text().Replace("Away", "")); var shotsOnTarget = relevantDetails.First(x => x.Cq().Text().Contains("Shots on Target")); var shotsOnTargetElements = shotsOnTarget.ChildElements.ToList(); homeDetails.OnTarget = int.Parse(shotsOnTargetElements[1].Cq().Text().Replace("Home", "")); awayDetails.OnTarget = int.Parse(shotsOnTargetElements.Last().Cq().Text().Replace("Away", "")); var corners = relevantDetails.First(x => x.Cq().Text().Contains("Corners")); var cornernsElements = corners.ChildElements.ToList(); homeDetails.Corners = int.Parse(cornernsElements[1].Cq().Text().Replace("Home", "")); awayDetails.Corners = int.Parse(cornernsElements.Last().Cq().Text().Replace("Away", "")); var fouls = relevantDetails.First(x => x.Cq().Text().Contains("Fouls")); var foulsElements = fouls.ChildElements.ToList(); homeDetails.Fouls = int.Parse(foulsElements[1].Cq().Text().Replace("Home", "")); awayDetails.Fouls = int.Parse(foulsElements.Last().Cq().Text().Replace("Away", "")); } catch (Exception) { Console.WriteLine("No Stats for this match!"); } matchDetails.HomeTeam = homeDetails; matchDetails.AwayTeam = awayDetails; return(matchDetails); }
public static DataObjects.MatchDetails GetMatchStatisticsFromEspn(string url) { var awayDetails = new DataObjects.TeamDetails(); var homeDetails = new DataObjects.TeamDetails(); var matchDetails = new DataObjects.MatchDetails(); var summaryPage = url.Replace("matchstats", "match"); var summaryPageDom = CQ.CreateFromUrl(summaryPage); var title = summaryPageDom["title"].Text(); var dateStr = title.Split('-')[2].Trim(); matchDetails.Date = DateTime.Parse(dateStr); if (matchDetails.Date > DateTime.Today) { return(null); } var dom = CQ.CreateFromUrl(url); homeDetails.Name = dom[".team.away .long-name"].Text(); awayDetails.Name = dom[".team.home .long-name"].Text(); homeDetails.Goals = int.Parse(dom[".score-container [data-home-away=home]"].Text()); awayDetails.Goals = int.Parse(dom[".score-container [data-home-away=away]"].Text()); var awayScorers = dom[".team.home [data-event-type=goal]"] .Select(x => x.Cq().Text().Trim()) .SelectMany(x => x.Split(')').ToList()) .Where(x => !string.IsNullOrEmpty(x)) .Select(Helper.RemoveDiacritics) .Select(Helper.NormalizePlayerName) .ToList(); var awayGoals = GetGoalsForTeam(awayScorers); var homeScorers = dom[".team.away [data-event-type=goal]"] .Select(x => x.Cq().Text().Trim()) .SelectMany(x => x.Split(')').ToList()) .Where(x => !string.IsNullOrEmpty(x)) .Select(Helper.RemoveDiacritics) .Select(Helper.NormalizePlayerName) .ToList(); var homeGoals = GetGoalsForTeam(homeScorers); homeDetails.GoalsDetails = homeGoals; awayDetails.GoalsDetails = awayGoals; homeDetails.Possession = int.Parse(dom[".possession [data-home-away=home]"].First().Text().Replace("%", "").Trim()); awayDetails.Possession = int.Parse(dom[".possession [data-home-away=away]"].First().Text().Replace("%", "").Trim()); var homeShots = dom[".shots [data-home-away=home]"].First().Text(); homeDetails.TotalShots = int.Parse(homeShots.Split('(').First()); homeDetails.OnTarget = int.Parse(homeShots.Split('(').Last().Replace(")", "").Trim()); var awayShots = dom[".shots [data-home-away=away]"].First().Text(); awayDetails.TotalShots = int.Parse(awayShots.Split('(').First()); awayDetails.OnTarget = int.Parse(awayShots.Split('(').Last().Replace(")", "").Trim()); homeDetails.Fouls = int.Parse(dom["[data-stat=foulsCommitted]"].First().Text()); awayDetails.Fouls = int.Parse(dom["[data-stat=foulsCommitted]"].Last().Text()); homeDetails.YellowCards = int.Parse(dom["[data-stat=yellowCards]"].First().Text()); awayDetails.YellowCards = int.Parse(dom["[data-stat=yellowCards]"].Last().Text()); homeDetails.RedCards = int.Parse(dom["[data-stat=redCards]"].First().Text()); awayDetails.RedCards = int.Parse(dom["[data-stat=redCards]"].Last().Text()); homeDetails.Offsides = int.Parse(dom["[data-stat=offsides]"].First().Text()); awayDetails.Offsides = int.Parse(dom["[data-stat=offsides]"].Last().Text()); homeDetails.Corners = int.Parse(dom["[data-stat=wonCorners]"].First().Text()); awayDetails.Corners = int.Parse(dom["[data-stat=wonCorners]"].Last().Text()); matchDetails.HomeTeam = homeDetails; matchDetails.AwayTeam = awayDetails; return(matchDetails); }
public static DataObjects.MatchDetails GetMatchStatistics(string url) { var awayDetails = new DataObjects.TeamDetails(); var homeDetails = new DataObjects.TeamDetails(); var matchDetails = new DataObjects.MatchDetails(); matchDetails.Date = DateTime.Today; var basicQuery = "[data-bind=text: HorA.Event]"; var attempsInitial = ".total-attempts--values-wrap "; var dom = CQ.CreateFromUrl(url.Replace("index.html", "statistics/index.html")); //ballPossession var homeTeamName = dom[".team-home .team-name"].Last().Text().Trim().Trim('\n').Trim('\r').Trim('\t').Trim().Trim(); var homeGoals = dom[basicQuery.Replace("HorA", "home").Replace("Event", "goalsScored")].Text(); var homeoffsides = dom[basicQuery.Replace("HorA", "home").Replace("Event", "offside")].Text(); var homePossession = dom[basicQuery.Replace("HorA", "home").Replace("Event", "ballPossession + '%'")].Text().Trim('%'); var homeGoalsDetails = GetGoalsForTeamInMatch(dom, "home"); Console.Write(homeTeamName + " "); var homeCorners = dom[basicQuery.Replace("HorA", "home").Replace("Event", "corner")].Text(); var homeOnTarget = dom[attempsInitial + basicQuery.Replace("HorA", "home").Replace("Event", "attempsOn")].Text(); var homeOffTarget = dom[attempsInitial + basicQuery.Replace("HorA", "home").Replace("Event", "attempsOff")].Text(); homeDetails.Type = (int)DataObjects.TeamType.Home; homeDetails.Name = homeTeamName; homeDetails.Goals = int.Parse(homeGoals); homeDetails.Offsides = int.Parse(homeoffsides); homeDetails.Corners = int.Parse(homeCorners); homeDetails.OnTarget = int.Parse(homeOnTarget); homeDetails.OffTarget = int.Parse(homeOffTarget); homeDetails.Possession = int.Parse(homePossession); homeDetails.GoalsDetails = homeGoalsDetails; var awayTeamName = dom[".team-away .team-name"].Last().Text().Trim().Trim('\n').Trim('\r').Trim('\t').Trim().Trim(); var awayGoals = dom[basicQuery.Replace("HorA", "away").Replace("Event", "goalsScored")].Text(); var awayoffsides = dom[basicQuery.Replace("HorA", "away").Replace("Event", "offside")].Text(); var awayCorners = dom[basicQuery.Replace("HorA", "away").Replace("Event", "corner")].Text(); var awayOnTarget = dom[attempsInitial + basicQuery.Replace("HorA", "away").Replace("Event", "attempsOn")].Text(); var awayOffTarget = dom[attempsInitial + basicQuery.Replace("HorA", "away").Replace("Event", "attempsOff")].Text(); var awayPossession = dom[basicQuery.Replace("HorA", "away").Replace("Event", "ballPossession + '%'")].Text().Trim('%'); var awayGoalsDetails = GetGoalsForTeamInMatch(dom, "away"); Console.Write(awayTeamName); Console.WriteLine(); awayDetails.Type = (int)DataObjects.TeamType.Away; awayDetails.Name = awayTeamName; awayDetails.Goals = int.Parse(awayGoals); awayDetails.Offsides = int.Parse(awayoffsides); awayDetails.Corners = int.Parse(awayCorners); awayDetails.OnTarget = int.Parse(awayOnTarget); awayDetails.OffTarget = int.Parse(awayOffTarget); awayDetails.OffTarget = int.Parse(awayPossession); awayDetails.GoalsDetails = awayGoalsDetails; matchDetails.HomeTeam = homeDetails; matchDetails.AwayTeam = awayDetails; return(matchDetails); }