public static void GetUserTeamSeasonJson(int userTeamId, UserTeamGameweekHistoryData userTeamHistoryData, UserTeamSeasons userTeamSeasonsInsert, SqlConnection db)
        {
            try
            {
                //Load UserTeamSeason data
                UserTeamSeasonRepository userTeamSeasonRepository = new UserTeamSeasonRepository();

                List <string> UserTeamSeasonNames = userTeamSeasonRepository.GetAllUserTeamSeasonNamesForUserTeamId(userTeamId, db);

                foreach (UserTeamSeason userTeamSeason in userTeamHistoryData.past)
                {
                    //needed if want to assign value from parent to add into db table
                    userTeamSeason.userteamid = userTeamId;
                    //userTeamSeason.season = userTeamSeasonRepository.GetSeasonIdFromSeasonName(userTeamSeason.season_name);

                    if (!UserTeamSeasonNames.Contains(userTeamSeason.season_name) && !userTeamSeasonsInsert.Contains(userTeamSeason))
                    {
                        userTeamSeasonsInsert.Add(userTeamSeason);
                    }
                    //else
                    //{
                    //    userTeamSeasonRepository.UpdateUserTeamSeason(userTeamSeason);
                    //}
                }
            }
            catch (Exception ex)
            {
                Logger.Error("GetUserTeamSeasonJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message);
                throw new Exception("GetUserTeamSeasonJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message);
            }
        }
        public static void GetUserTeamGameweekHistoryJson(int userTeamId, UserTeamGameweekHistoryData userTeamHistoryData, UserTeamGameweekHistories userTeamGameweekHistoriesInsert, SqlConnection db)
        {
            //Logger.Out("GetUserTeamGameweekHistoryJson starting");
            //int gameweekId;

            try
            {
                //Load UserTeamGameweekHistory data
                UserTeamGameweekHistoryRepository userTeamGameweekHistoryRepository = new UserTeamGameweekHistoryRepository();

                List <int> userTeamGameweekHistoryIds = new List <int>();

                //List<int> UserTeamGameweekHistoryIds = userTeamGameweekHistoryRepository.GetAllUserTeamGameweekHistoryIdsForUserTeamId(userTeamId, db);
                userTeamGameweekHistoryIds = userTeamGameweekHistoryRepository.GetAllUserTeamGameweekHistoryIdsForUserTeamId(userTeamId, db);

                //string userTeamPicksUrl = ConfigSettings.ReadSetting("userTeamPicksUrl");

                foreach (UserTeamGameweekHistory userTeamGameweekHistory in userTeamHistoryData.current)
                {
                    if (userTeamGameweekHistory.@event <= Globals.latestGameweek)
                    {
                        userTeamGameweekHistory.userteamid = userTeamId;

                        if (!userTeamGameweekHistoryIds.Contains(userTeamGameweekHistory.@event) && !userTeamGameweekHistoriesInsert.Contains(userTeamGameweekHistory))
                        {
                            userTeamGameweekHistoriesInsert.Add(userTeamGameweekHistory);
                        }
                        //else
                        //{
                        //    userTeamGameweekHistoryRepository.UpdateUserTeamGameweekHistory(userTeamGameweekHistory);
                        //}
                    }
                }
                //Logger.Out("GetUserTeamGameweekHistoryJson completed");
            }
            catch (Exception ex)
            {
                Logger.Error("GetUserTeamGameweekHistoryJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message);
                throw new Exception("GetUserTeamGameweekHistoryJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message);
            }
        }
        public static void GetUserTeamChipJson(int userTeamId, UserTeamChips userTeamChipsInsert, UserTeamGameweekHistoryData userTeamHistoryData, SqlConnection db)
        {
            try
            {
                //Logger.Out("GetUserTeamChipJson: Gameweek " + Convert.ToString(gameweekId) + " - starting");

                //Load UserTeamChip data
                UserTeamChipRepository userTeamChipRepository = new UserTeamChipRepository();

                List <UserTeamChipId> userTeamChipIds = new List <UserTeamChipId>();

                //List<UserTeamChipId> userTeamChipIds = userTeamChipRepository.GetAllUserTeamChipIdsForUserTeamId(userTeamId, db);
                userTeamChipIds = userTeamChipRepository.GetAllUserTeamChipIdsForUserTeamId(userTeamId, db);

                foreach (UserTeamChip userTeamChip in userTeamHistoryData.chips)
                {
                    userTeamChip.userteamid = userTeamId;
                    userTeamChip.chip       = userTeamChipRepository.GetChipIdFromName(userTeamChip.name, db);

                    UserTeamChipId userTeamChipId = new UserTeamChipId
                                                    (
                        userTeamId,
                        userTeamChip.@event,
                        userTeamChip.chip
                                                    );

                    //UserTeamChipIds = userTeamChipRepository.GetAllUserTeamPickIdsForUserTeamIdAndGameweekIdAndChipId(userTeamChipId);

                    //needed if want to assign value from parent to add into db table
                    //userTeamChip.entry = userTeamId;

                    userTeamChipId.gameweekid = userTeamChip.@event;
                    userTeamChipId.chipid     = userTeamChip.chip;

                    if (!userTeamChipIds.Contains(userTeamChipId) && !userTeamChipsInsert.Contains(userTeamChip))
                    {
                        userTeamChipsInsert.Add(userTeamChip);
                    }
                    //else
                    //{
                    //    userTeamChipRepository.UpdateUserTeamChip(userTeamChip);
                    //}
                }
                //Logger.Out("GetUserTeamChipJson: Gameweek " + Convert.ToString(gameweekId) + " - completed");
            }
            catch (Exception ex)
            {
                Logger.Error("GetUserTeamChipJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message);
                throw new Exception("GetUserTeamChipJson data exception (UserTeamId: " + userTeamId.ToString() + "): " + ex.Message);
                //GetUserTeamChipJson(userTeamId, userTeamChipsInsert, userTeamHistoryData);
            }
        }