public List <int> GetDaysWithAllergens(int cartCalendarId) { try { List <int> daysWithAllergens = new List <int>(); hccProgramPlan plan = hccProgramPlan.GetById(this.Plan_PlanID.Value); hccUserProfile profile = hccUserProfile.GetById(this.UserProfileID); hccCartItemCalendar cartCal = hccCartItemCalendar.GetById(cartCalendarId); if (plan != null && profile != null) { // get list of user profile allergens List <hccAllergen> userAllergens = profile.GetAllergens(); if (userAllergens.Count > 0) { List <hccProgramDefaultMenu> defaultMenus = hccProgramDefaultMenu.GetBy(cartCal.CalendarID, plan.ProgramID); defaultMenus.ForEach(delegate(hccProgramDefaultMenu defaultMenu) { hccCartDefaultMenuException excMenu = hccCartDefaultMenuException.GetBy(defaultMenu.DefaultMenuID, cartCal.CartCalendarID); List <hccAllergen> menuAllg = new List <hccAllergen>(); if (excMenu == null) { hccMenuItem item = hccMenuItem.GetById(defaultMenu.MenuItemID); if (item != null) { menuAllg = item.GetAllergens(); } } else { menuAllg = excMenu.GetMenuItemAllergens(); } if (menuAllg.Count > 0) { if (userAllergens.Intersect(menuAllg).Count() > 0) { daysWithAllergens.Add(defaultMenu.DayNumber); } } }); } } return(daysWithAllergens); } catch (Exception ex) { throw ex; } }
public List <hccAllergen> GetMenuItemAllergens() { try { List <hccAllergen> algns = new List <hccAllergen>(); hccMenuItem item = hccMenuItem.GetById(this.MenuItemID); if (item != null) { algns.AddRange(item.GetAllergens()); } return(algns); } catch (Exception) { throw; } }