int CEpgDatabase::Get(CEpg &epg) { int iReturn(-1); std::string strQuery = PrepareSQL("SELECT * FROM epgtags WHERE idEpg = %u;", epg.EpgID()); if (ResultQuery(strQuery)) { iReturn = 0; try { while (!m_pDS->eof()) { CEpgInfoTagPtr newTag(new CEpgInfoTag()); time_t iStartTime, iEndTime, iFirstAired; iStartTime = (time_t) m_pDS->fv("iStartTime").get_asInt(); CDateTime startTime(iStartTime); newTag->m_startTime = startTime; iEndTime = (time_t) m_pDS->fv("iEndTime").get_asInt(); CDateTime endTime(iEndTime); newTag->m_endTime = endTime; iFirstAired = (time_t) m_pDS->fv("iFirstAired").get_asInt(); CDateTime firstAired(iFirstAired); newTag->m_firstAired = firstAired; newTag->m_iUniqueBroadcastID = m_pDS->fv("iBroadcastUid").get_asInt(); newTag->m_iBroadcastId = m_pDS->fv("idBroadcast").get_asInt(); newTag->m_strTitle = m_pDS->fv("sTitle").get_asString().c_str(); newTag->m_strPlotOutline = m_pDS->fv("sPlotOutline").get_asString().c_str(); newTag->m_strPlot = m_pDS->fv("sPlot").get_asString().c_str(); newTag->m_iGenreType = m_pDS->fv("iGenreType").get_asInt(); newTag->m_iGenreSubType = m_pDS->fv("iGenreSubType").get_asInt(); newTag->m_genre = StringUtils::Split(m_pDS->fv("sGenre").get_asString().c_str(), g_advancedSettings.m_videoItemSeparator); newTag->m_iParentalRating = m_pDS->fv("iParentalRating").get_asInt(); newTag->m_iStarRating = m_pDS->fv("iStarRating").get_asInt(); newTag->m_bNotify = m_pDS->fv("bNotify").get_asBool(); newTag->m_iEpisodeNumber = m_pDS->fv("iEpisodeId").get_asInt(); newTag->m_iEpisodePart = m_pDS->fv("iEpisodePart").get_asInt(); newTag->m_strEpisodeName = m_pDS->fv("sEpisodeName").get_asString().c_str(); newTag->m_iSeriesNumber = m_pDS->fv("iSeriesId").get_asInt(); newTag->m_strRecordingId = m_pDS->fv("sRecordingId").get_asString().c_str(); newTag->m_strIconPath = m_pDS->fv("sIconPath").get_asString().c_str(); epg.AddEntry(*newTag); ++iReturn; m_pDS->next(); } m_pDS->close(); } catch (...) { CLog::Log(LOGERROR, "%s - couldn't load EPG data from the database", __FUNCTION__); } } return iReturn; }
int CEpgDatabase::Get(CEpg &epg) { int iReturn(-1); CSingleLock lock(m_critSection); CStdString strQuery = FormatSQL("SELECT * FROM epgtags WHERE idEpg = %u;", epg.EpgID()); if (ResultQuery(strQuery)) { iReturn = 0; try { while (!m_pDS->eof()) { CEpgInfoTag newTag; time_t iStartTime, iEndTime, iFirstAired; iStartTime = (time_t) m_pDS->fv("iStartTime").get_asInt(); CDateTime startTime(iStartTime); newTag.m_startTime = startTime; iEndTime = (time_t) m_pDS->fv("iEndTime").get_asInt(); CDateTime endTime(iEndTime); newTag.m_endTime = endTime; iFirstAired = (time_t) m_pDS->fv("iFirstAired").get_asInt(); CDateTime firstAired(iFirstAired); newTag.m_firstAired = firstAired; newTag.m_iUniqueBroadcastID = m_pDS->fv("iBroadcastUid").get_asInt(); newTag.m_iBroadcastId = m_pDS->fv("idBroadcast").get_asInt(); newTag.m_strTitle = m_pDS->fv("sTitle").get_asString().c_str(); newTag.m_strPlotOutline = m_pDS->fv("sPlotOutline").get_asString().c_str(); newTag.m_strPlot = m_pDS->fv("sPlot").get_asString().c_str(); newTag.m_iGenreType = m_pDS->fv("iGenreType").get_asInt(); newTag.m_iGenreSubType = m_pDS->fv("iGenreSubType").get_asInt(); newTag.m_strGenre = m_pDS->fv("sGenre").get_asString().c_str(); newTag.m_iParentalRating = m_pDS->fv("iParentalRating").get_asInt(); newTag.m_iStarRating = m_pDS->fv("iStarRating").get_asInt(); newTag.m_bNotify = m_pDS->fv("bNotify").get_asBool(); newTag.m_iEpisodeNumber = m_pDS->fv("iEpisodeId").get_asInt(); newTag.m_iEpisodePart = m_pDS->fv("iEpisodePart").get_asInt(); newTag.m_strEpisodeName = m_pDS->fv("sEpisodeName").get_asString().c_str(); newTag.m_iSeriesNumber = m_pDS->fv("iSeriesId").get_asInt(); epg.AddEntry(newTag); ++iReturn; m_pDS->next(); } m_pDS->close(); } catch (...) { CLog::Log(LOGERROR, "%s - couldn't load EPG data from the database", __FUNCTION__); } } return iReturn; }