namespace MealPlan.Api.Models; /// Meal slot when logging consumption. Extends recipe categories with snack. public enum ConsumptionMealCategory { Breakfast = 0, SecondBreakfast = 1, Lunch = 2, Dinner = 3, Snack = 4, } public enum DietReminderType { Water = 0, Meal = 1, Snack = 2, Custom = 3, } /// Bitmask for reminder days: Sun=1, Mon=2, Tue=4, Wed=8, Thu=16, Fri=32, Sat=64. public static class ReminderDaysMask { public const int All = 127; public static bool IncludesDay(int mask, DayOfWeek day) { var bit = day switch { DayOfWeek.Sunday => 1, DayOfWeek.Monday => 2, DayOfWeek.Tuesday => 4, DayOfWeek.Wednesday => 8, DayOfWeek.Thursday => 16, DayOfWeek.Friday => 32, DayOfWeek.Saturday => 64, _ => 0, }; return (mask & bit) != 0; } }