private async Task <int> GetActiveRuleCount(ListDetailsDto details) { var listSnapshots = DbContext.Snapshots.AsNoTracking() .Where(s => s.FilterListId == details.Id && s.IsCompleted); return(await listSnapshots.SelectMany(sr => sr.AddedSnapshotRules).CountAsync() - await listSnapshots.SelectMany(sr => sr.RemovedSnapshotRules).CountAsync()); }
private async Task <DateTime?> GetUpdatedDate(ListDetailsDto details) { var snapshotDates = DbContext.Snapshots.AsNoTracking() .Where(s => s.FilterListId == details.Id && s.IsCompleted && s.HttpStatusCode == "200" && (s.AddedSnapshotRules.Count > 0 || s.RemovedSnapshotRules.Count > 0)) .Select(s => s.CreatedDateUtc) .OrderByDescending(s => s.Date); return(snapshotDates.Any() ? (DateTime?)await snapshotDates.FirstAsync() : null); }