private static int InsertEpisodesToDatabase(string connectionString, string seriesLanguage, int seasonID, List <WikiEpisode> episodeList) { int episodesAdded = 0; int episodeTitlesAdded = 0; SqlDataAccess sqlDataAccess = new SqlDataAccess(); sqlDataAccess.GetConnectionString(connectionString); string insertEpisodeSQL = @"CALL Series.usp_Insert_Episode(@SeriesID, @SeasonNumber, @episodeNumberInSeries, @episodeNumberInSeason, @originalAirDate)"; for (int i = 0; i < episodeList.Count; i++) { WikiEpisode currentEpisode = episodeList[i]; episodesAdded += sqlDataAccess.SaveData <WikiEpisode>(insertEpisodeSQL, currentEpisode); string retrieveEpisodeIDSQL = $"SELECT * FROM series.uf_retrieve_episodeid({ seasonID }, '{ episodeList[i].episodeNumberInSeries }')"; int episodeID = Convert.ToInt32(sqlDataAccess.RetrieveData(retrieveEpisodeIDSQL)); //Add English Episode episodeTitlesAdded += InsertEpisodeTitle(connectionString, episodeID, "ENG", currentEpisode.title); if (seriesLanguage.Equals("Japanese")) { episodeTitlesAdded += InsertEpisodeTitle(connectionString, episodeID, "RMJ", currentEpisode.titleRomaji); episodeTitlesAdded += InsertEpisodeTitle(connectionString, episodeID, "JPN", currentEpisode.titleJapanese); } } return(episodesAdded); }
private static void AssignValueToEpisode(WikiEpisode episode, string episodeKey, string episodeValue, int seriesID, int seasonNumber) { episode.SeriesID = seriesID; episode.SeasonNumber = seasonNumber; switch (episodeKey) { case "EpisodeNumber": episode.episodeNumberInSeries = specialEpisodeNumber(episodeValue); break; case "EpisodeNumber2": episode.episodeNumberInSeason = specialEpisodeNumber(episodeValue); break; case "Title": episode.title = episodeValue; break; case "TranslitTitle": episode.titleRomaji = episodeValue; break; case "NativeTitle": episode.titleJapanese = episodeValue; break; case "OriginalAirDate": episode.originalAirDate = ParseWikiDate(episodeValue); break; default: break; } }
private static void CollectEpisodeDetails(WikiEpisode episode, string readerLine, int seriesID, int seasonNumber) { string[] partialLines = readerLine.Split('='); string episodeKey = ParseWikitext(partialLines[0]); string episodeValue = ParseWikitext(partialLines[1]); AssignValueToEpisode(episode, episodeKey, episodeValue, seriesID, seasonNumber); }