|
|
|
@ -157,6 +157,8 @@ namespace Ombi.Core.Engine
|
|
|
|
|
.Skip(position).Take(count).OrderByDescending(x => x.ReleaseDate).ToListAsync();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
allRequests.ForEach(async r => { await CheckForSubscription(shouldHide, r); });
|
|
|
|
|
|
|
|
|
|
return allRequests;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -182,25 +184,28 @@ namespace Ombi.Core.Engine
|
|
|
|
|
.ThenInclude(x => x.Episodes)
|
|
|
|
|
.Skip(position).Take(count).ToListAsync();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
allRequests.ForEach(async r => { await CheckForSubscription(shouldHide, r); });
|
|
|
|
|
return ParseIntoTreeNode(allRequests);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<IEnumerable<TvRequests>> GetRequests()
|
|
|
|
|
{
|
|
|
|
|
var shouldHide = await HideFromOtherUsers();
|
|
|
|
|
IQueryable<TvRequests> allRequests;
|
|
|
|
|
List<TvRequests> allRequests;
|
|
|
|
|
if (shouldHide.Hide)
|
|
|
|
|
{
|
|
|
|
|
allRequests = TvRepository.Get(shouldHide.UserId);
|
|
|
|
|
allRequests = await TvRepository.Get(shouldHide.UserId).ToListAsync();
|
|
|
|
|
|
|
|
|
|
FilterChildren(allRequests, shouldHide);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
allRequests = TvRepository.Get();
|
|
|
|
|
allRequests = await TvRepository.Get().ToListAsync();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return await allRequests.ToListAsync();
|
|
|
|
|
allRequests.ForEach(async r => { await CheckForSubscription(shouldHide, r); });
|
|
|
|
|
return allRequests;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static void FilterChildren(IEnumerable<TvRequests> allRequests, HideResult shouldHide)
|
|
|
|
@ -233,6 +238,8 @@ namespace Ombi.Core.Engine
|
|
|
|
|
allRequests = await TvRepository.GetChild().Include(x => x.SeasonRequests).Where(x => x.ParentRequestId == tvId).ToListAsync();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
allRequests.ForEach(async r => { await CheckForSubscription(shouldHide, r); });
|
|
|
|
|
|
|
|
|
|
return allRequests;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -249,6 +256,8 @@ namespace Ombi.Core.Engine
|
|
|
|
|
allRequests = TvRepository.Get();
|
|
|
|
|
}
|
|
|
|
|
var results = await allRequests.Where(x => x.Title.Contains(search, CompareOptions.IgnoreCase)).ToListAsync();
|
|
|
|
|
|
|
|
|
|
results.ForEach(async r => { await CheckForSubscription(shouldHide, r); });
|
|
|
|
|
return results;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -265,6 +274,7 @@ namespace Ombi.Core.Engine
|
|
|
|
|
allRequests = TvRepository.Get();
|
|
|
|
|
}
|
|
|
|
|
var results = await allRequests.Where(x => x.Title.Contains(search, CompareOptions.IgnoreCase)).ToListAsync();
|
|
|
|
|
results.ForEach(async r => { await CheckForSubscription(shouldHide, r); });
|
|
|
|
|
return ParseIntoTreeNode(results);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -446,6 +456,29 @@ namespace Ombi.Core.Engine
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async Task CheckForSubscription(HideResult shouldHide, TvRequests x)
|
|
|
|
|
{
|
|
|
|
|
foreach (var tv in x.ChildRequests)
|
|
|
|
|
{
|
|
|
|
|
await CheckForSubscription(shouldHide, tv);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async Task CheckForSubscription(HideResult shouldHide, ChildRequests x)
|
|
|
|
|
{
|
|
|
|
|
if (shouldHide.UserId == x.RequestedUserId)
|
|
|
|
|
{
|
|
|
|
|
x.ShowSubscribe = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
x.ShowSubscribe = true;
|
|
|
|
|
var sub = await _subscriptionRepository.GetAll().FirstOrDefaultAsync(s =>
|
|
|
|
|
s.UserId == shouldHide.UserId && s.RequestId == x.Id && s.RequestType == RequestType.TvShow);
|
|
|
|
|
x.Subscribed = sub != null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async Task<RequestEngineResult> AddExistingRequest(ChildRequests newRequest, TvRequests existingRequest)
|
|
|
|
|
{
|
|
|
|
|
// Add the child
|
|
|
|
|