diff --git a/src/FilterLists.Services/FilterList/FilterListService.cs b/src/FilterLists.Services/FilterList/FilterListService.cs index cbb0e0862..ff8d454ad 100644 --- a/src/FilterLists.Services/FilterList/FilterListService.cs +++ b/src/FilterLists.Services/FilterList/FilterListService.cs @@ -38,19 +38,13 @@ public async Task> GetAllSummariesAsync() }); } - private async Task> GetSummaryDtos() - { - return await DbContext.FilterLists.AsNoTracking() - .OrderBy(l => l.Name) - .ProjectTo() - .ToListAsync(); - } + private async Task> GetSummaryDtos() => + await DbContext.FilterLists.OrderBy(l => l.Name).ProjectTo().ToListAsync(); private async Task> GetLatestSnapshots() { return await DbContext.Snapshots.AsNoTracking() - .Where(s => s.IsCompleted && - s.HttpStatusCode == "200" && + .Where(s => s.IsCompleted && s.HttpStatusCode == "200" && (s.AddedSnapshotRules.Count > 0 || s.RemovedSnapshotRules.Count > 0)) .GroupBy(s => s.FilterListId, (key, x) => x.OrderByDescending(y => y.CreatedDateUtc).First()) @@ -59,8 +53,7 @@ private async Task> GetSummaryDtos() public async Task GetDetailsAsync(uint id) { - var details = await DbContext.FilterLists.AsNoTracking() - .ProjectTo() + var details = await DbContext.FilterLists.ProjectTo() .FirstAsync(x => x.Id == id) .FilterParentListFromMaintainerAdditionalLists(); details.RuleCount = await GetActiveRuleCount(details); @@ -79,8 +72,7 @@ private async Task GetActiveRuleCount(ListDetailsDto details) private async Task GetUpdatedDate(ListDetailsDto details) { var snapshotDates = DbContext.Snapshots.AsNoTracking() - .Where(s => s.FilterListId == details.Id && - s.IsCompleted && + .Where(s => s.FilterListId == details.Id && s.IsCompleted && s.HttpStatusCode == "200" && (s.AddedSnapshotRules.Count > 0 || s.RemovedSnapshotRules.Count > 0)) diff --git a/src/FilterLists.Services/Seed/SeedService.cs b/src/FilterLists.Services/Seed/SeedService.cs index 49af0c788..e272ff823 100644 --- a/src/FilterLists.Services/Seed/SeedService.cs +++ b/src/FilterLists.Services/Seed/SeedService.cs @@ -18,27 +18,20 @@ public SeedService(FilterListsDbContext dbContext) : base(dbContext) } public async Task> GetAllAsync() where TEntity : class => - await DbContext.Set().AsNoTracking().ProjectTo().ToArrayAsync(); + await DbContext.Set().ProjectTo().ToArrayAsync(); public async Task> GetAllAsync(PropertyInfo primarySort) - where TEntity : class - { - return await DbContext.Set() - .OrderBy(x => primarySort.GetValue(x, null)) - .AsNoTracking() - .ProjectTo() - .ToArrayAsync(); - } + where TEntity : class => await DbContext.Set() + .OrderBy(x => primarySort.GetValue(x, null)) + .ProjectTo() + .ToArrayAsync(); - public async Task> GetAllAsync(PropertyInfo primarySort, - PropertyInfo secondarySort) where TEntity : class - { - return await DbContext.Set() - .OrderBy(x => primarySort.GetValue(x, null)) - .ThenBy(x => secondarySort.GetValue(x, null)) - .AsNoTracking() - .ProjectTo() - .ToArrayAsync(); - } + public async Task> + GetAllAsync(PropertyInfo primarySort, PropertyInfo secondarySort) + where TEntity : class => await DbContext.Set() + .OrderBy(x => primarySort.GetValue(x, null)) + .ThenBy(x => secondarySort.GetValue(x, null)) + .ProjectTo() + .ToArrayAsync(); } } \ No newline at end of file diff --git a/src/FilterLists.Services/Snapshot/SnapshotService.cs b/src/FilterLists.Services/Snapshot/SnapshotService.cs index 6b2f77b72..cd69500fb 100644 --- a/src/FilterLists.Services/Snapshot/SnapshotService.cs +++ b/src/FilterLists.Services/Snapshot/SnapshotService.cs @@ -13,7 +13,7 @@ namespace FilterLists.Services.Snapshot public class SnapshotService : Service { //TODO: update algorithm to support non-standard list sizes and formats (#200, #201) - private readonly List _ignoreLists = new List {48, 149, 173, 185, 186, 187, 188, 189, 352}; + private readonly List ignoreLists = new List {48, 149, 173, 185, 186, 187, 188, 189, 352}; public SnapshotService(FilterListsDbContext dbContext) : base(dbContext) { @@ -35,30 +35,22 @@ private void RollbackIncompletedSnapshots() //TODO: don't assume that SnapshotDe.DedupSnapshotRules() didn't partially complete } - private async Task> GetListsToCapture(int batchSize) - { - return await DbContext - .FilterLists - .Where(list => - (!list.Snapshots.Any() || - list.Snapshots.Select(ss => ss.CreatedDateUtc) - .OrderByDescending(sscd => sscd) - .FirstOrDefault() < DateTime.UtcNow.AddDays(-1)) && !_ignoreLists.Contains(list.Id)) - .OrderBy(list => list.Snapshots.Any()) - .ThenBy(list => - list.Snapshots.Select(ss => ss.CreatedDateUtc) - .OrderByDescending(sscd => sscd) - .FirstOrDefault()) - .Take(batchSize) - .AsNoTracking() - .ProjectTo() - .ToListAsync(); - } + private async Task> GetListsToCapture(int batchSize) => + await DbContext + .FilterLists + .Where(list => + (!list.Snapshots.Any() || + list.Snapshots.Select(ss => ss.CreatedDateUtc).OrderByDescending(sscd => sscd).FirstOrDefault() < + DateTime.UtcNow.AddDays(-1)) && !ignoreLists.Contains(list.Id)) + .OrderBy(list => list.Snapshots.Any()) + .ThenBy(list => + list.Snapshots.Select(ss => ss.CreatedDateUtc).OrderByDescending(sscd => sscd).FirstOrDefault()) + .Take(batchSize) + .ProjectTo() + .ToListAsync(); - private IEnumerable GetSnapshots(IEnumerable lists) - { - return lists.Select(list => new SnapshotDe(DbContext, list)); - } + private IEnumerable GetSnapshots(IEnumerable lists) => + lists.Select(list => new SnapshotDe(DbContext, list)); private static async Task SaveSnapshots(IEnumerable snapshots) {