public ArrayList LoadGamesFrom(string sStartSeason, string sStartWeek, int offset) { if (GameList == null) GameList = new ArrayList(); GameList.Clear(); var processWeek = new NFLWeek(Int32.Parse(sStartSeason), Int32.Parse(sStartWeek), true); if (offset > 0) { for (var i = 0; i < offset; i++) { foreach (var game in processWeek.GameList()) GameList.Add(game); processWeek = processWeek.NextWeek(processWeek); } } else { // going backwards for (var i = 0; i > offset; i--) { // process week #if DEBUG Utility.Announce(string.Format(" getting {0} game for {1} wk {2} ", Name, processWeek.Season, processWeek.Week)); #endif var dr = Utility.TflWs.GetGame(processWeek.Season, string.Format("{0:00}", Int32.Parse(processWeek.Week)), TeamCode); if (dr != null) { var myGame = new NFLGame(dr); GameList.Add(myGame); } processWeek = processWeek.PreviousWeek(processWeek, false, regularSeasonGamesOnly: true); } } return GameList; }