|
|
@ -48,13 +48,14 @@ namespace PlexRequests.Services.Jobs
|
|
|
|
public class RecentlyAdded : IJob, IRecentlyAdded
|
|
|
|
public class RecentlyAdded : IJob, IRecentlyAdded
|
|
|
|
{
|
|
|
|
{
|
|
|
|
public RecentlyAdded(IPlexApi api, ISettingsService<PlexSettings> plexSettings, ISettingsService<EmailNotificationSettings> email,
|
|
|
|
public RecentlyAdded(IPlexApi api, ISettingsService<PlexSettings> plexSettings, ISettingsService<EmailNotificationSettings> email,
|
|
|
|
ISettingsService<ScheduledJobsSettings> scheduledService, IJobRecord rec)
|
|
|
|
ISettingsService<ScheduledJobsSettings> scheduledService, IJobRecord rec, ISettingsService<PlexRequestSettings> plexRequest)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
JobRecord = rec;
|
|
|
|
JobRecord = rec;
|
|
|
|
Api = api;
|
|
|
|
Api = api;
|
|
|
|
PlexSettings = plexSettings;
|
|
|
|
PlexSettings = plexSettings;
|
|
|
|
EmailSettings = email;
|
|
|
|
EmailSettings = email;
|
|
|
|
ScheduledJobsSettings = scheduledService;
|
|
|
|
ScheduledJobsSettings = scheduledService;
|
|
|
|
|
|
|
|
PlexRequestSettings = plexRequest;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private IPlexApi Api { get; }
|
|
|
|
private IPlexApi Api { get; }
|
|
|
@ -62,6 +63,7 @@ namespace PlexRequests.Services.Jobs
|
|
|
|
private readonly TheMovieDbApi _movieApi = new TheMovieDbApi();
|
|
|
|
private readonly TheMovieDbApi _movieApi = new TheMovieDbApi();
|
|
|
|
private ISettingsService<PlexSettings> PlexSettings { get; }
|
|
|
|
private ISettingsService<PlexSettings> PlexSettings { get; }
|
|
|
|
private ISettingsService<EmailNotificationSettings> EmailSettings { get; }
|
|
|
|
private ISettingsService<EmailNotificationSettings> EmailSettings { get; }
|
|
|
|
|
|
|
|
private ISettingsService<PlexRequestSettings> PlexRequestSettings { get; }
|
|
|
|
private ISettingsService<ScheduledJobsSettings> ScheduledJobsSettings { get; }
|
|
|
|
private ISettingsService<ScheduledJobsSettings> ScheduledJobsSettings { get; }
|
|
|
|
private IJobRecord JobRecord { get; }
|
|
|
|
private IJobRecord JobRecord { get; }
|
|
|
|
|
|
|
|
|
|
|
@ -71,14 +73,19 @@ namespace PlexRequests.Services.Jobs
|
|
|
|
{
|
|
|
|
{
|
|
|
|
try
|
|
|
|
try
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
var settings = PlexRequestSettings.GetSettings();
|
|
|
|
|
|
|
|
if (!settings.SendRecentlyAddedEmail)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
var jobs = JobRecord.GetJobs();
|
|
|
|
var jobs = JobRecord.GetJobs();
|
|
|
|
var thisJob =
|
|
|
|
var thisJob =
|
|
|
|
jobs.FirstOrDefault(
|
|
|
|
jobs.FirstOrDefault(
|
|
|
|
x => x.Name.Equals(JobNames.RecentlyAddedEmail, StringComparison.CurrentCultureIgnoreCase));
|
|
|
|
x => x.Name.Equals(JobNames.RecentlyAddedEmail, StringComparison.CurrentCultureIgnoreCase));
|
|
|
|
|
|
|
|
|
|
|
|
var settings = ScheduledJobsSettings.GetSettings();
|
|
|
|
var jobSettings = ScheduledJobsSettings.GetSettings();
|
|
|
|
|
|
|
|
|
|
|
|
if (thisJob?.LastRun > DateTime.Now.AddHours(-settings.RecentlyAdded))
|
|
|
|
if (thisJob?.LastRun > DateTime.Now.AddHours(-jobSettings.RecentlyAdded))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|