#include <stdlib.h>
#include "JSONRPCUtils.h"
+#include "XBDateTime.h"
#include "utils/SortUtils.h"
#include "interfaces/IAnnouncer.h"
#include "playlists/SmartPlayList.h"
stringArray.push_back(it->asString());
}
+ static void SetFromDBDate(const CVariant &jsonDate, CDateTime &date)
+ {
+ if (!jsonDate.isString())
+ return;
+
+ if (jsonDate.empty())
+ date.Reset();
+ else
+ date.SetFromDBDate(jsonDate.asString());
+ }
+
+ static void SetFromDBDateTime(const CVariant &jsonDate, CDateTime &date)
+ {
+ if (!jsonDate.isString())
+ return;
+
+ if (jsonDate.empty())
+ date.Reset();
+ else
+ date.SetFromDBDateTime(jsonDate.asString());
+ }
+
static bool GetXspFiltering(const CStdString &type, const CVariant &filter, CStdString &xsp)
{
if (type.empty() || !filter.isObject())
// restore original playcount or the new one won't be announced
int newPlaycount = infos.m_playCount;
infos.m_playCount = playcount;
- videodatabase.SetPlayCount(CFileItem(infos), newPlaycount, infos.m_lastPlayed.IsValid() ? infos.m_lastPlayed : CDateTime::GetCurrentDateTime());
+ videodatabase.SetPlayCount(CFileItem(infos), newPlaycount, infos.m_lastPlayed);
}
UpdateResumePoint(parameterObject, infos, videodatabase);
// restore original playcount or the new one won't be announced
int newPlaycount = infos.m_playCount;
infos.m_playCount = playcount;
- videodatabase.SetPlayCount(CFileItem(infos), newPlaycount, infos.m_lastPlayed.IsValid() ? infos.m_lastPlayed : CDateTime::GetCurrentDateTime());
+ videodatabase.SetPlayCount(CFileItem(infos), newPlaycount, infos.m_lastPlayed);
}
UpdateResumePoint(parameterObject, infos, videodatabase);
// restore original playcount or the new one won't be announced
int newPlaycount = infos.m_playCount;
infos.m_playCount = playcount;
- videodatabase.SetPlayCount(CFileItem(infos), newPlaycount, infos.m_lastPlayed.IsValid() ? infos.m_lastPlayed : CDateTime::GetCurrentDateTime());
+ videodatabase.SetPlayCount(CFileItem(infos), newPlaycount, infos.m_lastPlayed);
}
UpdateResumePoint(parameterObject, infos, videodatabase);
if (ParameterNotNull(parameterObject, "imdbnumber"))
details.m_strIMDBNumber = parameterObject["imdbnumber"].asString();
if (ParameterNotNull(parameterObject, "premiered"))
- details.m_premiered.SetFromDBDate(parameterObject["premiered"].asString());
+ SetFromDBDate(parameterObject["premiered"], details.m_premiered);
if (ParameterNotNull(parameterObject, "votes"))
details.m_strVotes = parameterObject["votes"].asString();
if (ParameterNotNull(parameterObject, "lastplayed"))
- details.m_lastPlayed.SetFromDBDateTime(parameterObject["lastplayed"].asString());
+ SetFromDBDateTime(parameterObject["lastplayed"], details.m_lastPlayed);
if (ParameterNotNull(parameterObject, "firstaired"))
- details.m_firstAired.SetFromDBDateTime(parameterObject["firstaired"].asString());
+ SetFromDBDateTime(parameterObject["firstaired"], details.m_firstAired);
if (ParameterNotNull(parameterObject, "productioncode"))
details.m_strProductionCode = parameterObject["productioncode"].asString();
if (ParameterNotNull(parameterObject, "season"))