do date comparisons in utc

This commit is contained in:
Luke Pulverenti 2013-07-16 17:06:20 -04:00
parent a03b99a229
commit 8937e83149

View file

@ -27,7 +27,7 @@ namespace MediaBrowser.Server.Implementations.EntryPoints.Notifications
private readonly INotificationsRepository _notificationsRepo; private readonly INotificationsRepository _notificationsRepo;
private readonly IUserManager _userManager; private readonly IUserManager _userManager;
private readonly TimeSpan _frequency = TimeSpan.FromHours(1); private readonly TimeSpan _frequency = TimeSpan.FromHours(3);
private readonly TimeSpan _maxAge = TimeSpan.FromDays(31); private readonly TimeSpan _maxAge = TimeSpan.FromDays(31);
public RemoteNotifications(IApplicationPaths appPaths, ILogger logger, IHttpClient httpClient, IJsonSerializer json, INotificationsRepository notificationsRepo, IUserManager userManager) public RemoteNotifications(IApplicationPaths appPaths, ILogger logger, IHttpClient httpClient, IJsonSerializer json, INotificationsRepository notificationsRepo, IUserManager userManager)
@ -58,16 +58,13 @@ namespace MediaBrowser.Server.Implementations.EntryPoints.Notifications
var lastRunTime = File.Exists(dataPath) ? File.GetLastWriteTimeUtc(dataPath) : DateTime.MinValue; var lastRunTime = File.Exists(dataPath) ? File.GetLastWriteTimeUtc(dataPath) : DateTime.MinValue;
if ((DateTime.UtcNow - lastRunTime) >= _frequency) try
{ {
try await DownloadNotifications(dataPath, lastRunTime).ConfigureAwait(false);
{ }
await DownloadNotifications(dataPath, lastRunTime).ConfigureAwait(false); catch (Exception ex)
} {
catch (Exception ex) _logger.ErrorException("Error downloading remote notifications", ex);
{
_logger.ErrorException("Error downloading remote notifications", ex);
}
} }
} }
@ -103,7 +100,7 @@ namespace MediaBrowser.Server.Implementations.EntryPoints.Notifications
{ {
// Only show notifications that are active, new since last download, and not older than max age // Only show notifications that are active, new since last download, and not older than max age
var notificationList = notifications var notificationList = notifications
.Where(i => string.Equals(i.active, "1") && i.date > lastRunTime && (DateTime.Now - i.date) <= _maxAge) .Where(i => string.Equals(i.active, "1") && i.date.ToUniversalTime() > lastRunTime && (DateTime.Now - i.date.ToUniversalTime()) <= _maxAge)
.ToList(); .ToList();
foreach (var user in _userManager.Users.ToList()) foreach (var user in _userManager.Users.ToList())