DayOfWeekHelper.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. #pragma warning disable CS1591
  2. using System;
  3. using Jellyfin.Database.Implementations.Enums;
  4. namespace Jellyfin.Data
  5. {
  6. public static class DayOfWeekHelper
  7. {
  8. public static DayOfWeek[] GetDaysOfWeek(DynamicDayOfWeek day)
  9. {
  10. return day switch
  11. {
  12. DynamicDayOfWeek.Everyday => new[] { DayOfWeek.Sunday, DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday, DayOfWeek.Saturday },
  13. DynamicDayOfWeek.Weekday => new[] { DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday },
  14. DynamicDayOfWeek.Weekend => new[] { DayOfWeek.Sunday, DayOfWeek.Saturday },
  15. _ => new[] { (DayOfWeek)day }
  16. };
  17. }
  18. public static bool Contains(this DynamicDayOfWeek dynamicDayOfWeek, DayOfWeek dayOfWeek)
  19. {
  20. return dynamicDayOfWeek switch
  21. {
  22. DynamicDayOfWeek.Everyday => true,
  23. DynamicDayOfWeek.Weekday => dayOfWeek is >= DayOfWeek.Monday and <= DayOfWeek.Friday,
  24. DynamicDayOfWeek.Weekend => dayOfWeek is DayOfWeek.Saturday or DayOfWeek.Sunday,
  25. _ => (DayOfWeek)dynamicDayOfWeek == dayOfWeek
  26. };
  27. }
  28. }
  29. }