public static void WriteToDB(int pageId, UserTeams userTeamsUpdateInsert, UserTeamCupMatches userTeamCupInsert, UserTeamClassicLeagues userTeamClassicLeaguesInsert, UserTeamH2hLeagues userTeamH2hLeaguesInsert, UserTeamGameweekHistories userTeamGameweekHistoriesInsert, UserTeamPicks userTeamPicksInsert, UserTeamPickAutomaticSubs userTeamPickAutomaticSubsInsert, UserTeamChips userTeamChipsInsert, UserTeamTransferHistoryData userTeamTransferHistoriesInsert, UserTeamSeasons userTeamSeasonsInsert, SqlConnection db) { try { Globals.UserTeamUpdateRowsInserted = 0; Globals.UserTeamPickRowsInserted = 0; Globals.UserTeamPickAutomaticSubsRowsInserted = 0; Globals.UserTeamGameweekHistoryRowsInserted = 0; Globals.UserTeamChipRowsInserted = 0; Globals.UserTeamTransferHistoryRowsInserted = 0; Globals.UserTeamSeasonRowsInserted = 0; Globals.UserTeamClassicLeagueRowsInserted = 0; Globals.UserTeamH2hLeagueRowsInserted = 0; Globals.UserTeamCupRowsInserted = 0; Logger.Out(""); WriteUserTeamToDB(Globals.PageId, userTeamsUpdateInsert, db); WriteUserTeamChipToDB(Globals.PageId, userTeamChipsInsert, db); WriteUserTeamGameweekHistoryToDB(Globals.PageId, userTeamGameweekHistoriesInsert, db); WriteUserTeamPicksToDB(Globals.PageId, userTeamPicksInsert, db); WriteUserTeamPickAutomaticSubsToDB(Globals.PageId, userTeamPickAutomaticSubsInsert, db); WriteUserTeamTransferHistoryToDB(Globals.PageId, userTeamTransferHistoriesInsert, db); WriteUserTeamSeasonToDB(Globals.PageId, userTeamSeasonsInsert, db); WriteUserTeamClassicLeagueToDB(Globals.PageId, userTeamClassicLeaguesInsert, db); WriteUserTeamH2hLeagueToDB(Globals.PageId, userTeamH2hLeaguesInsert, db); WriteUserTeamCupToDB(Globals.PageId, userTeamCupInsert, db); Logger.Out(""); Logger.Out("UserTeam: " + Convert.ToString(Globals.UserTeamInsertCount) + " rows inserted"); Logger.Out("UserTeamCup: " + Convert.ToString(Globals.UserTeamCupRowsInserted) + " rows inserted"); Logger.Out("UserTeamUpdates: " + Convert.ToString(Globals.UserTeamUpdateRowsInserted) + " rows inserted"); Logger.Out("UserTeamSeason: " + Convert.ToString(Globals.UserTeamSeasonRowsInserted) + " rows inserted"); Logger.Out("UserTeamClassicLeague: " + Convert.ToString(Globals.UserTeamClassicLeagueRowsInserted) + " rows inserted"); Logger.Out("UserTeamH2hLeague: " + Convert.ToString(Globals.UserTeamH2hLeagueRowsInserted) + " rows inserted"); Logger.Out("UserTeamGameweekHistory: " + Convert.ToString(Globals.UserTeamGameweekHistoryRowsInserted) + " rows inserted"); Logger.Out("UserTeamTransferHistory: " + Convert.ToString(Globals.UserTeamTransferHistoryRowsInserted) + " rows inserted"); Logger.Out("UserTeamChip: " + Convert.ToString(Globals.UserTeamChipRowsInserted) + " rows inserted"); Logger.Out("UserTeamPick: " + Convert.ToString(Globals.UserTeamPickRowsInserted) + " rows inserted"); Logger.Out("UserTeamPickAutomaticSub: " + Convert.ToString(Globals.UserTeamPickAutomaticSubsRowsInserted) + " rows inserted"); Logger.Out(""); Logger.Out("API Page calls: " + Convert.ToString(Globals.ApiPageCalls)); Logger.Out("API UserTeam calls: " + Convert.ToString(Globals.ApiUserTeamCalls)); Logger.Out("API UserTeamHistory calls: " + Convert.ToString(Globals.ApiUserTeamHistoryCalls)); Logger.Out("API UserTeamTransferHistory calls: " + Convert.ToString(Globals.ApiUserTeamTransferHistoryCalls)); Logger.Out("API UserTeamPick calls: " + Convert.ToString(Globals.ApiUserTeamPickCalls)); Logger.Out("API calls: " + Convert.ToString(Globals.ApiCalls)); Logger.Out(""); } catch (Exception ex) { Logger.Error("Program WriteToDB error: " + ex.Message); //WriteToDB(userTeamRowsInserted, userTeamSeasonRowsInserted, userTeamInsert, userTeamSeasonsInsert, db); } }
public int InsertUserTeamCup(UserTeamCupMatches userTeamCupMatches, SqlConnection db) { int rowsAffected = 0; try { using (IDataReader reader = userTeamCupMatches.GetDataReader()) { using (var bulkCopy = new SqlBulkCopy(db)) { bulkCopy.BulkCopyTimeout = 0; bulkCopy.BatchSize = 1000; bulkCopy.DestinationTableName = "UserTeamCupStaging"; bulkCopy.EnableStreaming = true; // Add your column mappings here bulkCopy.ColumnMappings.Add("id", "id"); bulkCopy.ColumnMappings.Add("entry_1_entry", "homeTeam_userTeamid"); bulkCopy.ColumnMappings.Add("entry_1_name", "homeTeam_userTeamName"); bulkCopy.ColumnMappings.Add("entry_1_player_name", "homeTeam_playerName"); bulkCopy.ColumnMappings.Add("entry_1_points", "homeTeam_points"); bulkCopy.ColumnMappings.Add("entry_1_win", "homeTeam_win"); bulkCopy.ColumnMappings.Add("entry_1_draw", "homeTeam_draw"); bulkCopy.ColumnMappings.Add("entry_1_loss", "homeTeam_loss"); bulkCopy.ColumnMappings.Add("entry_1_total", "homeTeam_total"); bulkCopy.ColumnMappings.Add("entry_2_entry", "awayTeam_userTeamid"); bulkCopy.ColumnMappings.Add("entry_2_name", "awayTeam_userTeamName"); bulkCopy.ColumnMappings.Add("entry_2_player_name", "awayTeam_playerName"); bulkCopy.ColumnMappings.Add("entry_2_points", "awayTeam_points"); bulkCopy.ColumnMappings.Add("entry_2_win", "awayTeam_win"); bulkCopy.ColumnMappings.Add("entry_2_draw", "awayTeam_draw"); bulkCopy.ColumnMappings.Add("entry_2_loss", "awayTeam_loss"); bulkCopy.ColumnMappings.Add("entry_2_total", "awayTeam_total"); bulkCopy.ColumnMappings.Add("event", "gameweekid"); bulkCopy.ColumnMappings.Add("is_knockout", "is_knockout"); bulkCopy.ColumnMappings.Add("winner", "winner"); bulkCopy.ColumnMappings.Add("seed_value", "seed_value"); bulkCopy.ColumnMappings.Add("fromuserteamid", "fromuserteamid"); bulkCopy.ColumnMappings.Add("tiebreak", "tiebreak"); bulkCopy.WriteToServer(reader); rowsAffected = SqlBulkCopyExtension.RowsCopiedCount(bulkCopy); } } return(rowsAffected); } catch (Exception ex) { Logger.Error("UserTeamCup Repository (insert) error: " + ex.Message); throw ex; } }
public static void WriteUserTeamCupToDB(int pageId, UserTeamCupMatches userTeamCupInsert, SqlConnection db) { try { UserTeamCupRepository userTeamCupRepository = new UserTeamCupRepository(); //Write UserTeamCup to the db Globals.UserTeamCupRowsInserted = userTeamCupRepository.InsertUserTeamCup(userTeamCupInsert, db); Logger.Out("UserTeamCup bulk insert complete (PageId: " + Convert.ToString(pageId) + ")"); userTeamCupInsert.Clear(); } catch (Exception ex) { Logger.Error("Program WriteUserTeamCupToDB error: " + ex.Message); } }
public static void GetUserTeamCupJson(int userTeamId, UserTeam userTeam, UserTeamCupMatches userTeamCupInsert, SqlConnection db) { try { //Load Cup data UserTeamCupRepository cupRepository = new UserTeamCupRepository(); //List<int> CupIds = cupRepository.GetAllCupIdsForUserId(userTeamId, db); //int cupid, gameweekid; foreach (UserTeamCupMatch match in userTeam.leagues.cup.matches) { match.fromuserteamid = userTeamId; //if (!CupIds.Contains(match.id) && match.@event < Globals.LatestGameweek) if (match.@event < Globals.LatestGameweek) { //cupRepository.InsertUserTeamCup(match, db); userTeamCupInsert.Add(match); Logger.Out("Cup: " + match.entry_1_name + " v " + match.entry_2_name + " - added"); } //else //{ // cupRepository.UpdateUserTeamCup(match, db); //} //if (match.tiebreak != null) //{ // cupid = match.id; // gameweekid = match.@event; // GetUserTeamCupTiebreakJson(userTeamId, cupid, gameweekid, cup); //} } } catch (Exception ex) { Logger.Error("GetUserTeamCupJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message); //throw new Exception("GetUserTeamCupJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message); //GetUserTeamCupJson(userTeamId, userTeamHistoryData); } }
public static bool GetLeagueDataJson(int leagueId, List <int> userTeamIds, string userTeamLeaguesUrl, string userTeamUrl, UserTeams userTeamsUpdateInsert, UserTeamCupMatches userTeamCupInsert, UserTeamClassicLeagues userTeamClassicLeaguesInsert, UserTeamH2hLeagues userTeamH2hLeaguesInsert, UserTeamGameweekHistories userTeamGameweekHistoriesInsert, UserTeamPicks userTeamPicksInsert, UserTeamPickAutomaticSubs userTeamPickAutomaticSubsInsert, UserTeamChips userTeamChipsInsert, UserTeamTransferHistoryData userTeamTransferHistoriesInsert, UserTeamSeasons userTeamSeasonsInsert, SqlConnection db) { UserTeamRepository userTeamRepository = new UserTeamRepository(); UserTeamPickRepository userTeamPickRepository = new UserTeamPickRepository(); UserTeamGameweekHistoryRepository userTeamGameweekHistoryRepository = new UserTeamGameweekHistoryRepository(); UserTeamTransferHistoryRepository userTeamTransferHistoryRepository = new UserTeamTransferHistoryRepository(); UserTeamClassicLeagueRepository userTeamClassicLeagueRepository = new UserTeamClassicLeagueRepository(); UserTeamSeasonRepository userTeamSeasonRepository = new UserTeamSeasonRepository(); try { int userTeamId = 0; bool has_next = false; List <int> leagueUserTeamIds = new List <int>(); string url = string.Format(userTeamLeaguesUrl, leagueId, Globals.PageId); JsonSerializer serializer = new JsonSerializer() { Formatting = Formatting.None }; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; using (HttpClient client = new HttpClient()) using (Stream s = client.GetStreamAsync(url).Result) using (StreamReader sr = new StreamReader(s)) using (JsonReader reader = new JsonTextReader(sr)) { Globals.ApiCalls += 1; Globals.ApiPageCalls += 1; // read the json from a stream // json size doesn't matter because only a small piece is read at a time from the HTTP request var leagueStandingsData = serializer.Deserialize <LeagueStandingsData>(reader); if (leagueStandingsData != null) { League league = leagueStandingsData.league; Standings standings = leagueStandingsData.standings; string leagueName = league.name; has_next = standings.has_next; Logger.Out(leagueName + " (" + Convert.ToString(leagueId) + "): Page " + Convert.ToString(Globals.PageId)); Logger.Out(""); if (db.State == ConnectionState.Closed) { db.ConnectionString = ConfigurationManager.ConnectionStrings["FantasyPremierLeagueUserTeam"].ConnectionString; db.Open(); Logger.Error("GetLeagueDataJson Info (LeagueId: " + leagueId.ToString() + ", PageId:" + Globals.PageId.ToString() + "): Reopening closed db connection"); } List <int> pageUserTeamIds = new List <int>(); foreach (TeamLeaguePosition teamLeaguePosition in standings.results) { userTeamId = teamLeaguePosition.entry; //Add each UserTeamId to a list for checking if GameweekHistory, TransferHistory, and Picks have already been processed for that GW by UserTeamId pageUserTeamIds.Add(userTeamId); } using (DataTable dtUserMaxGWForUserTeamForGameweekHistory = userTeamGameweekHistoryRepository.GetMaxGameweekIdFromUserTeamGameweekHistoryForUserTeamIds(pageUserTeamIds, db)) using (DataTable dtUserMaxGWForUserTeamForPicks = userTeamPickRepository.GetMaxGameweekIdFromUserTeamPickForUserTeamIds(pageUserTeamIds, db)) using (DataTable dtUserMaxGWForUserTeamForTransferHistory = userTeamTransferHistoryRepository.GetMaxGameweekIdFromUserTeamTransferHistoryForUserTeamIds(pageUserTeamIds, db)) using (DataTable dtClassicLeagueCountForUserTeam = userTeamClassicLeagueRepository.GetClassicLeagueCountFromUserTeamClassicLeagueForUserTeamIds(pageUserTeamIds, db)) using (DataTable dtSeasonCountForUserTeam = userTeamSeasonRepository.GetSeasonCountFromUserTeamSeasonForUserTeamIds(pageUserTeamIds, db)) using (DataTable dtUserTeam = userTeamRepository.GetUserTeamForUserTeamIds(pageUserTeamIds, db)) { foreach (TeamLeaguePosition teamLeaguePosition in standings.results) { userTeamId = teamLeaguePosition.entry; Globals.MaxGWFromGameweekHistoryForUserTeamId = GetColumnNameValue(userTeamId, dtUserMaxGWForUserTeamForGameweekHistory, "gameweekid"); Globals.MaxGWFromPicksForUserTeamId = GetColumnNameValue(userTeamId, dtUserMaxGWForUserTeamForPicks, "gameweekid"); Globals.MaxGWFromTransferHistoryForUserTeamId = GetColumnNameValue(userTeamId, dtUserMaxGWForUserTeamForTransferHistory, "gameweekid"); Globals.LeagueCountFromUserTeamClassicLeagueForUserTeamId = GetColumnNameValue(userTeamId, dtClassicLeagueCountForUserTeam, "leagueCount"); Globals.SeasonCountFromUserTeamSeasonForUserTeamId = GetColumnNameValue(userTeamId, dtSeasonCountForUserTeam, "seasonCount"); Globals.ExistingUserTeamId = GetColumnNameValue(userTeamId, dtUserTeam, "userteamid"); FantasyPremierLeagueAPIClient.GetUserTeamDataJson(userTeamId, userTeamIds, userTeamUrl, userTeamsUpdateInsert, userTeamCupInsert, userTeamClassicLeaguesInsert, userTeamH2hLeaguesInsert, userTeamGameweekHistoriesInsert, userTeamPicksInsert, userTeamPickAutomaticSubsInsert, userTeamChipsInsert, userTeamTransferHistoriesInsert, userTeamSeasonsInsert, db); } } pageUserTeamIds.Clear(); } return(has_next); } } catch (Exception ex) { Logger.Error("GetLeagueDataJson data exception (LeagueId: " + leagueId.ToString() + ", PageId:" + Globals.PageId.ToString() + "): " + ex.Message); bool has_next = true; if (Globals.LeagueRetries < 10) { has_next = GetLeagueDataJson(leagueId, userTeamIds, userTeamLeaguesUrl, userTeamUrl, userTeamsUpdateInsert, userTeamCupInsert, userTeamClassicLeaguesInsert, userTeamH2hLeaguesInsert, userTeamGameweekHistoriesInsert, userTeamPicksInsert, userTeamPickAutomaticSubsInsert, userTeamChipsInsert, userTeamTransferHistoriesInsert, userTeamSeasonsInsert, db); Globals.LeagueRetries += 1; } else { Logger.Error("GetLeagueDataJson data exception (LeagueId: " + leagueId.ToString() + "): League/Page doesn't exist skipping to next!!!"); //Program.WriteToDB(pageId, userTeamGameweekHistoriesInsert, userTeamPicksInsert, userTeamPickAutomaticSubsInsert, userTeamChipsInsert, userTeamTransferHistoriesInsert, userTeamSeasonsInsert, userTeamClassicLeaguesInsert, userTeamH2hLeaguesInsert, db); Globals.LeagueRetries = 0; //throw new Exception("GetLeagueDataJson data exception (LeagueId: " + leagueId.ToString() + ", PageId:" + Globals.PageId.ToString() + "): " + ex.Message); } return(has_next); } }
public static void GetUserTeamLeagueAndCupJson(int userTeamId, List <int> userTeamIds, string userTeamUrl, UserTeams userTeamsUpdateInsert, UserTeamCupMatches userTeamCupInsert, UserTeamClassicLeagues userTeamClassicLeaguesInsert, UserTeamH2hLeagues userTeamH2hLeaguesInsert, SqlConnection db) { try { var url = ""; url = string.Format(userTeamUrl, userTeamId); JsonSerializer serializer = new JsonSerializer() { Formatting = Formatting.None }; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; using (HttpClient client = new HttpClient()) using (Stream s = client.GetStreamAsync(url).Result) using (StreamReader sr = new StreamReader(s)) using (JsonReader reader = new JsonTextReader(sr)) { Globals.ApiCalls += 1; Globals.ApiUserTeamCalls += 1; // read the json from a stream // json size doesn't matter because only a small piece is read at a time from the HTTP request var userTeamData = serializer.Deserialize <UserTeam>(reader); if (userTeamData != null) { UserTeam userTeam = userTeamData; //Load UserTeam data string userTeamName = ""; //Set Global variable startedEvent Globals.StartGameweekId = userTeam.started_event; userTeamName = userTeam.name; Logger.Out(userTeamName); //Logger.Out(""); UserTeamRepository userTeamRepository = new UserTeamRepository(); if (!userTeamIds.Contains(userTeam.id)) { userTeamRepository.InsertUserTeam(userTeam, db); userTeamIds.Add(userTeam.id); Globals.UserTeamInsertCount += 1; } else { userTeamsUpdateInsert.Add(userTeam); //userTeamRepository.UpdateUserTeam(userTeamsInsert, db); } if (userTeamData.leagues.classic.Count != Globals.LeagueCountFromUserTeamClassicLeagueForUserTeamId) { GetUserTeamClassicLeagueJson(userTeamId, userTeamData, userTeamClassicLeaguesInsert, db); } if (userTeam.leagues.h2h != null) { GetUserTeamH2hLeagueJson(userTeamId, userTeamData, userTeamH2hLeaguesInsert, db); } if (userTeam.leagues.cup != null) { GetUserTeamCupJson(userTeamId, userTeamData, userTeamCupInsert, db); } } } } catch (Exception ex) { Logger.Error("GetUserTeamLeagueAndCupJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message); //throw new Exception("GetUserTeamLeagueAndCupJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message); } }
static void Main(string[] args) { XmlConfigurator.Configure(); //int pageId; int pageCnt; int leagueId = 314; UserTeams userTeamsUpdateInsert = new UserTeams(); UserTeamPicks userTeamPicksInsert = new UserTeamPicks(); UserTeamPickAutomaticSubs userTeamPickAutomaticSubsInsert = new UserTeamPickAutomaticSubs(); UserTeamGameweekHistories userTeamGameweekHistoriesInsert = new UserTeamGameweekHistories(); UserTeamChips userTeamChipsInsert = new UserTeamChips(); UserTeamTransferHistoryData userTeamTransferHistoriesInsert = new UserTeamTransferHistoryData(); UserTeamSeasons userTeamSeasonsInsert = new UserTeamSeasons(); UserTeamClassicLeagues userTeamClassicLeaguesInsert = new UserTeamClassicLeagues(); UserTeamH2hLeagues userTeamH2hLeaguesInsert = new UserTeamH2hLeagues(); UserTeamCupMatches userTeamCupInsert = new UserTeamCupMatches(); UserTeamRepository userTeamRepository = new UserTeamRepository(); SqlConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["FantasyPremierLeagueUserTeam"].ConnectionString); try { Logger.Out("Starting..."); Logger.Out(""); int pageId; Globals.PageId = 1; int insertInterval; Globals.InsertInterval = 10; bool test = true; if (args.Length == 0) { //System.Console.WriteLine("No arguments passed into program"); Logger.Out("No arguments passed into program"); } else { test = int.TryParse(args[0], out pageId); if (test == false) { Logger.Out("Argument[0] passed into program doesnn't exist or was not integer"); return; } else { Globals.PageId = pageId; } test = int.TryParse(args[1], out insertInterval); if (test == false) { //System.Console.WriteLine("Arguments passed into program were not integer"); Logger.Out("Argument[1] InsertInterval passed into program doesnn't exist or were not integer"); return; } else { Globals.InsertInterval = insertInterval; } } Logger.Out("Starting UserTeams data load"); Logger.Out(""); string userTeamUrl = ConfigSettings.ReadSetting("userTeamURL"); string userTeamLeaguesUrl = ConfigSettings.ReadSetting("userTeamLeaguesURL"); using (db) { db.Open(); bool has_next = true; Globals.UserTeamRetries = 0; pageCnt = 0; List <int> userTeamIds = userTeamRepository.GetAllUserTeamIds(db); Globals.ApiCalls = 0; Globals.ApiPageCalls = 0; Globals.ApiUserTeamCalls = 0; Globals.ApiUserTeamHistoryCalls = 0; Globals.ApiUserTeamTransferHistoryCalls = 0; Globals.ApiUserTeamPickCalls = 0; Globals.UserTeamInsertCount = 0; while (has_next == true) { SetLatestGameweek("UserTeamGameweekHistory"); SetActualGameweek("UserTeamGameweekPick"); pageCnt += 1; if (db.State == ConnectionState.Closed) { db.ConnectionString = ConfigurationManager.ConnectionStrings["FantasyPremierLeagueUserTeam"].ConnectionString; db.Open(); Logger.Error("Program Info (LeagueId: " + leagueId.ToString() + ", PageId:" + Globals.PageId.ToString() + "): Reopening closed db connection"); } has_next = FantasyPremierLeagueLeaguesAPIClient.GetLeagueDataJson(leagueId, userTeamIds, userTeamLeaguesUrl, userTeamUrl, userTeamsUpdateInsert, userTeamCupInsert, userTeamClassicLeaguesInsert, userTeamH2hLeaguesInsert, userTeamGameweekHistoriesInsert, userTeamPicksInsert, userTeamPickAutomaticSubsInsert, userTeamChipsInsert, userTeamTransferHistoriesInsert, userTeamSeasonsInsert, db); if (pageCnt >= Globals.InsertInterval) { WriteToDB(Globals.PageId, userTeamsUpdateInsert, userTeamCupInsert, userTeamClassicLeaguesInsert, userTeamH2hLeaguesInsert, userTeamGameweekHistoriesInsert, userTeamPicksInsert, userTeamPickAutomaticSubsInsert, userTeamChipsInsert, userTeamTransferHistoriesInsert, userTeamSeasonsInsert, db); Globals.ApiCalls = 0; Globals.ApiPageCalls = 0; Globals.ApiUserTeamCalls = 0; Globals.ApiUserTeamHistoryCalls = 0; Globals.ApiUserTeamTransferHistoryCalls = 0; Globals.ApiUserTeamPickCalls = 0; Globals.UserTeamInsertCount = 0; pageCnt = 0; } Globals.PageId += 1; } WriteToDB(Globals.PageId, userTeamsUpdateInsert, userTeamCupInsert, userTeamClassicLeaguesInsert, userTeamH2hLeaguesInsert, userTeamGameweekHistoriesInsert, userTeamPicksInsert, userTeamPickAutomaticSubsInsert, userTeamChipsInsert, userTeamTransferHistoriesInsert, userTeamSeasonsInsert, db); db.Close(); } Logger.Out("UserTeams data load complete"); Logger.Out(""); Logger.Out("Finished!!!"); //// Wait for user input - keep the program running Console.ReadKey(); } catch (Exception ex) { Logger.Error(ex.Message); //Logger.Error(userTeamName + " caused error!!!"); if (db.State == ConnectionState.Closed) { db.ConnectionString = ConfigurationManager.ConnectionStrings["FantasyPremierLeagueUserTeam"].ConnectionString; db.Open(); Logger.Error("Program Exception Info (LeagueId: " + leagueId.ToString() + ", PageId:" + Globals.PageId.ToString() + "): Reopening closed db connection"); } //If error is thrown from sub program write existing records to the DB WriteToDB(Globals.PageId, userTeamsUpdateInsert, userTeamCupInsert, userTeamClassicLeaguesInsert, userTeamH2hLeaguesInsert, userTeamGameweekHistoriesInsert, userTeamPicksInsert, userTeamPickAutomaticSubsInsert, userTeamChipsInsert, userTeamTransferHistoriesInsert, userTeamSeasonsInsert, db); //db.Close(); //throw ex; } }
public static void GetUserTeamDataJson(int userTeamId, List <int> userTeamIds, string userTeamUrl, UserTeams userTeamsUpdateInsert, UserTeamCupMatches userTeamCupInsert, UserTeamClassicLeagues userTeamClassicLeaguesInsert, UserTeamH2hLeagues userTeamH2hLeaguesInsert, UserTeamGameweekHistories userTeamGameweekHistoriesInsert, UserTeamPicks userTeamPicksInsert, UserTeamPickAutomaticSubs userTeamPickAutomaticSubsInsert, UserTeamChips userTeamChipsInsert, UserTeamTransferHistoryData userTeamTransferHistoriesInsert, UserTeamSeasons userTeamSeasonsInsert, SqlConnection db) { try { //Process UserTeam, UserTeamClassicLeague, UserTeamH2hLeague, UserTeamCup ////if (Globals.ExistingUserTeamId == 0 || Globals.LeagueCountFromUserTeamClassicLeagueForUserTeamId == 0) //{ FantasyPremierLeagueAPIUserTeamLeagueAndCup.GetUserTeamLeagueAndCupJson(userTeamId, userTeamIds, userTeamUrl, userTeamsUpdateInsert, userTeamCupInsert, userTeamClassicLeaguesInsert, userTeamH2hLeaguesInsert, db); //} //else //{ // Logger.Out("UserTeam: " + Convert.ToString(userTeamId) + " - skipped (already exists with leagues)"); //} //Process UserTeamGameweekHistory, UserTeamChip, UserTeamSeasonHistory if (Globals.MaxGWFromGameweekHistoryForUserTeamId < Globals.LatestGameweek) { FantasyPremierLeagueAPIGameweekHistory.GetUserTeamHistoryDataJson(userTeamId, userTeamGameweekHistoriesInsert, userTeamChipsInsert, userTeamSeasonsInsert, db); } //Process UserTeamPick, UserTeamPickAutomaticSub //Doesn't check UserTeamPickAutomaticSub - which will be missing if run during an active Gameweek - matches are in progress or before have been played) if (Globals.MaxGWFromPicksForUserTeamId < Globals.ActualGameweek && Globals.ActualGameweek > 0) { FantasyPremierLeagueAPIPick.GetUserTeamPickDataJson(userTeamId, userTeamPicksInsert, userTeamPickAutomaticSubsInsert, db); } //Process UserTeamTransferHistory if (Globals.MaxGWFromTransferHistoryForUserTeamId < Globals.ActualGameweek && Globals.ActualGameweek > 0) { FantasyPremierLeagueAPITransferHistory.GetUserTeamTransferHistoryDataJson(userTeamId, userTeamTransferHistoriesInsert, db); } Logger.Out(""); } catch (Exception ex) { Logger.Error("GetUserTeamDataJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message); //throw new Exception("GetUserTeamDataJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message); if (Globals.UserTeamRetries < 10) { Globals.UserTeamRetries += 1; GetUserTeamDataJson(userTeamId, userTeamIds, userTeamUrl, userTeamsUpdateInsert, userTeamCupInsert, userTeamClassicLeaguesInsert, userTeamH2hLeaguesInsert, userTeamGameweekHistoriesInsert, userTeamPicksInsert, userTeamPickAutomaticSubsInsert, userTeamChipsInsert, userTeamTransferHistoriesInsert, userTeamSeasonsInsert, db); } else { Logger.Error("GetUserTeamDataJson data exception (UserTeamId: " + userTeamId.ToString() + "): Issue processing User Team skipping to next!!!"); Thread.Sleep(20000); } } }