List <UserTeamPickId> ReadUserTeamPickIdList(IDataReader reader) { try { List <UserTeamPickId> list = new List <UserTeamPickId>(); int column1 = reader.GetOrdinal("userteamid"); int column2 = reader.GetOrdinal("gameweekid"); int column3 = reader.GetOrdinal("position"); //UserTeamPickId userTeamPickId = new UserTeamPickId(0, 0, 0); //UserTeamPickId userTeamChipId = new UserTeamPickId(); while (reader.Read()) { //check for the null value and than add if (!reader.IsDBNull(column1)) { UserTeamPickId userTeamPickId = new UserTeamPickId(0, 0, 0); userTeamPickId.userteamid = reader.GetInt32(column1); userTeamPickId.gameweekid = reader.GetInt32(column2); userTeamPickId.position = reader.GetInt32(column3); list.Add(userTeamPickId); } } return(list); } catch (Exception ex) { Logger.Error("UserTeamPick Repository (ReadUserTeamPickIdList) error: " + ex.Message); throw ex; } }
//public static void GetUserTeamPickDataJson(int userTeamId, int gameweekId, UserTeamPicks userTeamPicksInsert, UserTeamPickAutomaticSubs userTeamPickAutomaticSubsInsert, string userTeamPicksUrl, SqlConnection db) //{ // //Logger.Out("GetUserTeamPickDataJson: Gameweek " + Convert.ToString(gameweekId) + " - starting"); // var urlUserTeamPicks = ""; // try // { // UserTeamPickRepository userTeamPickRepository = new UserTeamPickRepository(); // urlUserTeamPicks = string.Format(userTeamPicksUrl, userTeamId, gameweekId); // HttpClient clientUserTeamPicks = new HttpClient(); // JsonSerializer serializerUserTeamPicks = new JsonSerializer(); // ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; // //Logger.Out("Before using statements - url: " + urlUserTeamPicks); // using (Stream sUserTeamPicks = clientUserTeamPicks.GetStreamAsync(urlUserTeamPicks).Result) // using (StreamReader srUserTeamPicks = new StreamReader(sUserTeamPicks)) // using (JsonReader readerUserTeamPicks = new JsonTextReader(srUserTeamPicks)) // { // Globals.ApiCalls += 1; // Globals.ApiUserTeamPickCalls += 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 userTeamPickData = serializerUserTeamPicks.Deserialize<UserTeamPickData>(readerUserTeamPicks); // if (userTeamPickData != null) // { // GetUserTeamPickJson(userTeamId, gameweekId, userTeamPicksInsert, userTeamPickData, db); // GetUserTeamPickAutomaticSubJson(userTeamId, gameweekId, userTeamPickAutomaticSubsInsert, userTeamPickData, db); // } // } // //Logger.Out("GetUserTeamPickDataJson: Gameweek " + Convert.ToString(gameweekId) + " - completed"); // } // catch (Exception ex) // { // Logger.Error("GetUserTeamPickDataJson data exception (UserTeamId: " + userTeamId.ToString() + " GameweekId: " + gameweekId.ToString() + "): " + ex.Message); // //throw new Exception("GetUserTeamPickDataJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message); // GetUserTeamPickDataJson(userTeamId, gameweekId, userTeamPicksInsert, userTeamPickAutomaticSubsInsert, userTeamPicksUrl, db); // } //} public static void GetUserTeamPickJson(int userTeamId, int gameweekId, string urlUserTeamPicks, UserTeamPicks userTeamPicksInsert, UserTeamPickAutomaticSubs userTeamPickAutomaticSubsInsert, SqlConnection db) { try { //Process UserTeamPick and UserTeamPickAutomaticSub if (gameweekId >= Globals.MaxGWFromPicksForUserTeamId) { UserTeamPickRepository userTeamPickRepository = new UserTeamPickRepository(); urlUserTeamPicks = string.Format(urlUserTeamPicks, userTeamId, gameweekId); JsonSerializer serializerUserTeamPicks = new JsonSerializer() { Formatting = Formatting.None }; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; using (HttpClient clientUserTeamPicks = new HttpClient()) using (Stream sUserTeamPicks = clientUserTeamPicks.GetStreamAsync(urlUserTeamPicks).Result) using (StreamReader srUserTeamPicks = new StreamReader(sUserTeamPicks)) using (JsonReader readerUserTeamPicks = new JsonTextReader(srUserTeamPicks)) { Globals.ApiCalls += 1; Globals.ApiUserTeamPickCalls += 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 userTeamPickData = serializerUserTeamPicks.Deserialize <UserTeamPickData>(readerUserTeamPicks); if (userTeamPickData != null) { //Load UserTeamPick data //int userTeamPickIds_userteamid = 0; //int userTeamPickIds_gameweekid = 0; //UserTeamPickId userTeamPickId = new UserTeamPickId(); //userTeamPickId.userteamid = userTeamId; //userTeamPickId.gameweekid = gameweekId; ///List<UserTeamPickId> userTeamPickIds = userTeamPickRepository.GetAllUserTeamPickIdsForUserTeamIdAndGameweekId(userTeamId, gameweekId, db); //if (userTeamPickIds.Count > 0) //{ // userTeamPickIds_userteamid = userTeamPickIds[0].userteamid; // userTeamPickIds_gameweekid = userTeamPickIds[0].gameweekid; //} //UserTeamPicks userTeamPicksUpdate = new UserTeamPicks(); foreach (UserTeamPick userTeamPick in userTeamPickData.picks) { UserTeamPickId userTeamPickId = new UserTeamPickId ( userTeamId, gameweekId, userTeamPick.position ); //needed if want to assign value from parent to add into db table userTeamPick.userteamid = userTeamId; userTeamPick.gameweekid = gameweekId; //if (!userTeamPickIds.Contains(userTeamPickId) && !userTeamPicksInsert.Contains(userTeamPick)) if (!userTeamPicksInsert.Contains(userTeamPick)) { userTeamPicksInsert.Add(userTeamPick); } //else //{ // userTeamPickRepository.UpdateUserTeamPick(userTeamPick); //} } //Logger.Out("GetUserTeamPickJson: Gameweek " + Convert.ToString(gameweekId) + " - completed"); } GetUserTeamPickAutomaticSubJson(userTeamId, gameweekId, userTeamPickAutomaticSubsInsert, userTeamPickData, db); } } //Logger.Out("GetUserTeamPickDataJson: Gameweek " + Convert.ToString(gameweekId) + " - completed"); } catch (Exception ex) { Logger.Error("GetUserTeamPickJson data exception (UserTeamId:" + userTeamId.ToString() + "/GameweekId:" + gameweekId.ToString() + "): " + ex.Message); Logger.Error("GetUserTeamPickJson data exception (UserTeamId:" + userTeamId.ToString() + "/GameweekId:" + gameweekId.ToString() + "): skipping userteam/gameweek"); //throw new Exception("GetUserTeamPickJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message); //GetUserTeamPickJson(userTeamId, gameweekId, urlUserTeamPicks, maxGWFromPicksForUserTeamId, userTeamPicksInsert, userTeamPickAutomaticSubsInsert, db); //if (gameweekId + 1 < Globals.ActualGameweek) //{ // gameweekId++; // GetUserTeamPickJson(userTeamId, gameweekId, urlUserTeamPicks, maxGWFromPicksForUserTeamId, userTeamPicksInsert, userTeamPickAutomaticSubsInsert, db); //} } }