ArchiveEntrySkipper.cs 763 B

12345678910111213141516171819202122232425262728
  1. using ImageConvertService.Biz.Models;
  2. namespace ImageConvertService.Biz;
  3. public class ArchiveEntrySkipper
  4. {
  5. public (List<ArchiveEntry> Direct, List<ArchiveEntry> Convert) Filter(IReadOnlyCollection<ArchiveEntry> items, string? skipPsv)
  6. {
  7. List<ArchiveEntry> d = new(), c = new();
  8. if (string.IsNullOrWhiteSpace(skipPsv))
  9. {
  10. c.AddRange(items);
  11. return (d, c);
  12. }
  13. var skipSuffix = skipPsv.Split("|").Distinct().ToArray();
  14. foreach (var entry in items)
  15. {
  16. if (skipSuffix.Any(p => entry.PathAndName.EndsWith(p, StringComparison.OrdinalIgnoreCase)))
  17. d.Add(entry);
  18. else
  19. c.Add(entry);
  20. }
  21. return (d, c);
  22. }
  23. }