void BindcblPreferences(int menuItemId) { cblPreferences.ClearSelection(); cblPreferences.Items.Clear(); hccMenuItem menuItem = hccMenuItem.GetById(menuItemId); if (menuItem != null) { List <hccPreference> prefs = menuItem.GetPreferences(); if (prefs.Count > 0) { cblPreferences.DataSource = prefs; cblPreferences.DataTextField = "Name"; cblPreferences.DataValueField = "PreferenceID"; cblPreferences.DataBind(); divPreferences.Visible = true; } else { divPreferences.Visible = false; } } }
public string ShowingPreferencesByMenuitemid(DefaultMenu Defaultmenudetails) { List <hccPreference> itemPrefs = new List <hccPreference>(); try { string menuitempreferences = ""; if (Defaultmenudetails.MenuItemID != 0) { hccMenuItem hccMenuItem = new hccMenuItem { MenuItemID = Convert.ToInt16(Defaultmenudetails.MenuItemID) }; itemPrefs = hccMenuItem.GetPreferences(); if (itemPrefs.Count > 0) { foreach (var preference in itemPrefs) { hccProgramDefaultMenuExPref excPref = hccProgramDefaultMenuExPref.GetBy(Defaultmenudetails.DefaultMenuID, preference.PreferenceID); if (excPref != null) { menuitempreferences += preference.PreferenceID.ToString() + "|" + 1.ToString() + "|" + preference.Name.ToString() + "&" + Defaultmenudetails.MealTypeID.ToString() + "|" + Defaultmenudetails.CalendarID.ToString() + "|" + Defaultmenudetails.ProgramID.ToString() + "|" + Defaultmenudetails.DayNumber.ToString() + "*"; } else { menuitempreferences += preference.PreferenceID.ToString() + "|" + 0.ToString() + "|" + preference.Name.ToString() + "&" + Defaultmenudetails.MealTypeID.ToString() + "|" + Defaultmenudetails.CalendarID.ToString() + "|" + Defaultmenudetails.ProgramID.ToString() + "|" + Defaultmenudetails.DayNumber.ToString() + "*"; } } } else { menuitempreferences = 0.ToString() + "|" + 0.ToString() + "|" + " " + "&" + Defaultmenudetails.MealTypeID.ToString() + "|" + Defaultmenudetails.CalendarID.ToString() + "|" + Defaultmenudetails.ProgramID.ToString() + "|" + Defaultmenudetails.DayNumber.ToString() + "*"; } } else { menuitempreferences = 0.ToString() + "|" + 0.ToString() + "|" + " " + "&" + Defaultmenudetails.MealTypeID.ToString() + "|" + Defaultmenudetails.CalendarID.ToString() + "|" + Defaultmenudetails.ProgramID.ToString() + "|" + Defaultmenudetails.DayNumber.ToString() + "*"; } return(menuitempreferences); } catch (Exception ex) { throw ex; } }
void BindcblPreferences(int menuItemId) { cblPreferences.ClearSelection(); cblPreferences.Items.Clear(); hccMenuItem menuItem = hccMenuItem.GetById(menuItemId); if (menuItem != null) { List <hccPreference> prefs = menuItem.GetPreferences(); if (prefs.Count > 0) { cblPreferences.DataSource = prefs; cblPreferences.DataTextField = "Name"; cblPreferences.DataValueField = "PreferenceID"; cblPreferences.DataBind(); divPreferences.Visible = true; } else { divPreferences.Visible = false; } } List <hccPreference> cartprefs = hccCartItemMealPreference.GetPrefsBy(CurrentCartItem.CartItemID); foreach (hccPreference pref in cartprefs) { var t = cblPreferences.Items.FindByValue(pref.PreferenceID.ToString()); if (t != null) { t.Selected = true; } } }
void BindForm() { if (defaultMenuSelections.Count == 0) { defaultMenuSelections = hccProgramDefaultMenu.GetBy(CurrentCalendarId, CurrentProgramId); } List <DropDownList> ddls = new List <DropDownList>(); List <HtmlGenericControl> divDdls = new List <HtmlGenericControl>(); DailyNutrition totalNutInfo = new DailyNutrition { DayNumber = CurrentDay }; List <HtmlGenericControl> divItemContainers; string ddlBorderClass = string.Empty; List <hccAllergen> userAllergens; userAllergens = hccUserProfileAllergen.GetAllergensBy(CurrentCartItem.UserProfile.UserProfileID, true); BindDropDownLists(userAllergens); divItemContainers = pnlDefaultMenu.Controls.OfType <HtmlGenericControl>().Where(a => a.Attributes["class"] == "divItemContainer").ToList(); divItemContainers.ForEach(delegate(HtmlGenericControl ctrl) { divDdls.AddRange(ctrl.Controls.OfType <HtmlGenericControl>().Where(a => a.Attributes["class"] == "divDdl")); }); divDdls.ForEach(a => ddls.AddRange(a.Controls.OfType <DropDownList>())); int dailyDefaultsCount = defaultMenuSelections.Where(a => a.DayNumber == CurrentDay).Count(); if (dailyDefaultsCount == 0 || dailyDefaultsCount != ddls.Count) { lblFeedback.Text += "Not all default values have been created for the selected date and program combination. Select the default items on the Production Management -> Program Default Menus page, and press 'Save' to create the default items."; pnlDefaultMenu.Visible = false; } else { hccCartItemCalendar cartCalendar = hccCartItemCalendar.GetBy(this.PrimaryKeyIndex, CurrentCalendarId); defaultMenuSelections.ForEach(delegate(hccProgramDefaultMenu defaultSelection) { try { DropDownList ddl = ddls.Where(a => a.Attributes["day"] == defaultSelection.DayNumber.ToString() && a.Attributes["type"] == defaultSelection.MealTypeID.ToString() && a.Attributes["ord"] == defaultSelection.Ordinal.ToString()) .SingleOrDefault(); if (ddl != null) { int menuItemId = defaultSelection.MenuItemID; string value = menuItemId.ToString() + "-" + defaultSelection.MenuItemSizeID.ToString(); int DefaultMenuExceptID = 0; int cartcalendarid = 0; // bold face the default selection int defaultIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(value)); ddl.Items[(defaultIndex <= -1 ? 0 : defaultIndex)].Attributes["class"] += "bold italic"; hccCartDefaultMenuException menuItemExc = hccCartDefaultMenuException.GetBy(defaultSelection.DefaultMenuID, cartCalendar.CartCalendarID); if (menuItemExc != null) { menuItemId = menuItemExc.MenuItemID; value = menuItemId.ToString() + "-" + menuItemExc.MenuItemSizeID.ToString(); DefaultMenuExceptID = menuItemExc.DefaultMenuExceptID; cartcalendarid = menuItemExc.CartCalendarID; } ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(value)); ddl.Attributes.Add("defMenuId", defaultSelection.DefaultMenuID.ToString()); ddl.Attributes.Add("defMenuExceptionId", DefaultMenuExceptID.ToString()); ddl.Attributes.Add("defMenuCartCalendarId", cartcalendarid.ToString()); ddl.SelectedItem.Attributes["class"] += " bold"; HtmlGenericControl divItemContainer = (HtmlGenericControl)ddl.Parent.Parent; HtmlGenericControl divNuts = divItemContainer.Controls.OfType <HtmlGenericControl>().Where(a => a.Attributes["class"] == "divNuts").SingleOrDefault(); HtmlGenericControl divAllrgs = divItemContainer.Controls.OfType <HtmlGenericControl>().Where(a => a.Attributes["class"] == "divAllrgs").SingleOrDefault(); HtmlGenericControl divPrefs = divItemContainer.Controls.OfType <HtmlGenericControl>().Where(a => a.Attributes["class"] == "divPrefs").SingleOrDefault(); if (menuItemId > 0) { hccMenuItem menuItem = null; if (menuItemExc == null) { if (defaultSelection.MenuItemID > 0) { menuItem = hccMenuItem.GetById(defaultSelection.MenuItemID); } } else if (menuItemExc.MenuItemID > 0) { menuItem = hccMenuItem.GetById(menuItemExc.MenuItemID); } if (menuItem != null) { // nutrition info if (divNuts != null) { string nutInfo = string.Empty; hccMenuItemNutritionData menuNut = hccMenuItemNutritionData.GetBy(menuItem.MenuItemID); if (menuNut != null) { nutInfo = string.Format("Calories: {0}, Fat: {1}, Protein: {2}, Carbohydrates: {3}, Fiber: {4},Sodium: {5}", menuNut.Calories.ToString("f2"), menuNut.TotalFat.ToString("f2"), menuNut.Protein.ToString("f2"), menuNut.TotalCarbohydrates.ToString("f2"), menuNut.DietaryFiber.ToString("f2"), menuNut.Sodium.ToString("f2")); divNuts.InnerHtml = nutInfo; totalNutInfo.Calories += menuNut.Calories; totalNutInfo.Carbs += menuNut.TotalCarbohydrates; totalNutInfo.Fat += menuNut.TotalFat; totalNutInfo.Fiber += menuNut.DietaryFiber; totalNutInfo.Protein += menuNut.Protein; totalNutInfo.Sodium += menuNut.Sodium; } else { nutInfo = string.Format("Calories: {0}, Fat: {1}, Protein: {2}, Carbohydrates: {3}, Fiber: {4},Sodium: {5}", 0, 0, 0, 0, 0, 0); } divNuts.InnerText = nutInfo; } // allergen displays List <hccAllergen> selectItemAllergens = new List <hccAllergen>(); string allrgsList = string.Empty; allrgsList = "Allergens: " + menuItem.AllergensList; selectItemAllergens = menuItem.GetAllergens(); if (divAllrgs != null) { divAllrgs.InnerText = allrgsList; } List <hccAllergen> matchedAllergens = selectItemAllergens.Intersect(userAllergens).ToList(); if (matchedAllergens.Count > 0) { ddl.SelectedItem.Attributes["class"] += " bold"; ddlBorderClass = "redBorder"; } else { if (menuItemExc == null) { ddlBorderClass = "greenBorder"; } else { ddlBorderClass = "blueBorder"; } } // preferences List <hccPreference> itemPrefs = menuItem.GetPreferences(); if (itemPrefs.Count > 0 && divPrefs != null) { itemPrefs.ForEach(delegate(hccPreference pref) { HtmlInputCheckBox chkPref = new HtmlInputCheckBox(); chkPref.Value = pref.PreferenceID.ToString(); Label lblPref = new Label(); lblPref.Text = pref.Name; divPrefs.Controls.Add(chkPref); divPrefs.Controls.Add(lblPref); hccCartMenuExPref cartMenuExPref = hccCartMenuExPref.GetById(cartCalendar.CartItemID, defaultSelection.DayNumber); if (cartMenuExPref != null) { if (cartMenuExPref.IsModified) { if (menuItemExc != null) { hccCartDefaultMenuExPref excPref = hccCartDefaultMenuExPref.GetBy(menuItemExc.DefaultMenuExceptID, pref.PreferenceID); if (excPref != null) { chkPref.Checked = true; } } } //hccCartItem cartItem = hccCartItem.GetById(cartCalendar.CartItemID); //if (cartItem != null) //{ // if (Convert.ToBoolean(cartItem.IsModified)) // { // hccCartDefaultMenuExPref excPref = hccCartDefaultMenuExPref.GetBy(menuItemExc.DefaultMenuExceptID, pref.PreferenceID); // if (excPref != null) // { // chkPref.Checked = true; // } // } // else // { // hccCartDefaultMenuExPref excPref = hccCartDefaultMenuExPref.GetBy(menuItemExc.DefaultMenuExceptID, pref.PreferenceID); // if (excPref != null) // chkPref.Checked = true; // hccProgramDefaultMenuExPref programmenuexpref = hccProgramDefaultMenuExPref.GetBy(defaultSelection.DefaultMenuID, pref.PreferenceID); // if (programmenuexpref != null) // chkPref.Checked = true; // } //} } else { //hccCartItem cartItem = hccCartItem.GetById(cartCalendar.CartItemID); //if (cartItem != null) //{ // if (!Convert.ToBoolean(cartItem.IsModified)) // { // hccProgramDefaultMenuExPref programmenuexpref = hccProgramDefaultMenuExPref.GetBy(defaultSelection.DefaultMenuID, pref.PreferenceID); // if (programmenuexpref != null) // chkPref.Checked = true; // } //} hccProgramDefaultMenuExPref programmenuexpref = hccProgramDefaultMenuExPref.GetBy(defaultSelection.DefaultMenuID, pref.PreferenceID); if (programmenuexpref != null) { chkPref.Checked = true; } } }); } } else { divNuts.InnerText = string.Empty; divPrefs.InnerText = string.Empty; divAllrgs.InnerText = string.Empty; } ddl.CssClass = "mealItemDdl " + ddlBorderClass; } } } catch (Exception ex) { throw ex; } }); if (totalNutInfo == null) { divTotalNutrition.InnerHtml = divTotalNutrition.InnerHtml.Replace("##Cals##", "0"); divTotalNutrition.InnerHtml = divTotalNutrition.InnerHtml.Replace("##Fats##", "0"); divTotalNutrition.InnerHtml = divTotalNutrition.InnerHtml.Replace("##Ptrns##", "0"); divTotalNutrition.InnerHtml = divTotalNutrition.InnerHtml.Replace("##Carbs##", "0"); divTotalNutrition.InnerHtml = divTotalNutrition.InnerHtml.Replace("##Fbrs##", "0"); divTotalNutrition.InnerHtml = divTotalNutrition.InnerHtml.Replace("##Sod##", "0"); } else { divTotalNutrition.InnerHtml = divTotalNutrition.InnerHtml.Replace("##Cals##", totalNutInfo.Calories.ToString("f2")); divTotalNutrition.InnerHtml = divTotalNutrition.InnerHtml.Replace("##Fats##", totalNutInfo.Fat.ToString("f2")); divTotalNutrition.InnerHtml = divTotalNutrition.InnerHtml.Replace("##Ptrns##", totalNutInfo.Protein.ToString("f2")); divTotalNutrition.InnerHtml = divTotalNutrition.InnerHtml.Replace("##Carbs##", totalNutInfo.Carbs.ToString("f2")); divTotalNutrition.InnerHtml = divTotalNutrition.InnerHtml.Replace("##Fbrs##", totalNutInfo.Fiber.ToString("f2")); divTotalNutrition.InnerHtml = divTotalNutrition.InnerHtml.Replace("##Sod##", totalNutInfo.Sodium.ToString("f2")); } divTotalNutrition.Visible = true; } }
public XmlDocument GetPreferences() { try { if (this.Context.Request.QueryString["mid"] != null && !string.IsNullOrWhiteSpace(this.Context.Request.QueryString["mid"])) { string prefString = string.Empty, nutInfo = string.Empty, allrgsList = string.Empty; int menuItemId = int.Parse(this.Context.Request.QueryString["mid"]); if (menuItemId > 0) { hccMenuItem menuItem = hccMenuItem.GetById(menuItemId); if (menuItem != null) { // nutrition hccMenuItemNutritionData menuNut = hccMenuItemNutritionData.GetBy(menuItem.MenuItemID); if (menuNut != null) { nutInfo = string.Format("Calories: {0}, Fat: {1}, Protein: {2}, Carbohydrates: {3}, Fiber: {4}, Sodium: {5}", menuNut.Calories.ToString("f2"), menuNut.TotalFat.ToString("f2"), menuNut.Protein.ToString("f2"), menuNut.TotalCarbohydrates.ToString("f2"), menuNut.DietaryFiber.ToString("f2"), menuNut.Sodium.ToString("f2")); } else { nutInfo = string.Format("Calories: {0}, Fat: {1}, Protein: {2}, Carbohydrates: {3}, Fiber: {4}, Sodium: {5}", 0, 0, 0, 0, 0, 0); } // allergens allrgsList = "Allergens: " + menuItem.AllergensList; // prefs List <hccPreference> prefs = menuItem.GetPreferences(); prefs.ForEach(delegate(hccPreference pref) { prefString += pref.PreferenceID.ToString() + ":" + pref.Name + "|"; }); prefString = prefString.TrimEnd('|'); } if (prefString.Trim() == "") { prefString = "None"; } string retVal = string.Format("<menuData><nutrition>{0}</nutrition><allergens>{1}</allergens><prefs>{2}</prefs></menuData>", nutInfo, allrgsList, prefString); XmlDocument xml = new XmlDocument(); xml.LoadXml(retVal); return(xml); } else { return(null); } } else { return(null); } } catch { throw; } }
protected override void LoadForm() { try { List <hccProgramDefaultMenu> defaultMenuSelections = hccProgramDefaultMenu.GetBy(CurrentCalendarId, CurrentProgramId); List <DropDownList> ddls = new List <DropDownList>(); List <CheckBoxList> chklists = new List <CheckBoxList>(); List <DailyNutrition> dailyNuts = new List <DailyNutrition>(); List <HtmlGenericControl> nutDisplays = new List <HtmlGenericControl>(); BindDropDownLists(); List <Panel> pnls = pnlDefaultMenu.Controls.OfType <Panel>().ToList(); int i = 1; pnls.ForEach(delegate(Panel pnl) { //foreach(var control in pnl.Controls.Count) ddls.AddRange(pnl.Controls.OfType <DropDownList>()); chklists.AddRange(pnl.Controls.OfType <CheckBoxList>()); //pnl.FindControl("mealItemDdl"); string divName = "divNutrition" + i.ToString(); nutDisplays.Add((HtmlGenericControl)pnl.FindControl(divName)); i++; }); if (defaultMenuSelections.Count != ddls.Count) { lblFeedback.Text += "No default values have been saved for the selected date and program combination. Select the default items and press 'Save' to set the default items."; } defaultMenuSelections.ForEach(delegate(hccProgramDefaultMenu selection) { if (dailyNuts.Where(a => a.DayNumber == selection.DayNumber).SingleOrDefault() == null) { dailyNuts.Add(new DailyNutrition { DayNumber = selection.DayNumber }); } DailyNutrition dailyNut = dailyNuts.Where(a => a.DayNumber == selection.DayNumber).Single(); hccMenuItemNutritionData menuNut = hccMenuItemNutritionData.GetBy(selection.MenuItemID); if (menuNut != null) { dailyNut.Calories += menuNut.Calories; dailyNut.Carbs += menuNut.TotalCarbohydrates; dailyNut.Fat += menuNut.TotalFat; dailyNut.Fiber += menuNut.DietaryFiber; dailyNut.Protein += menuNut.Protein; dailyNut.Sodium += menuNut.Sodium; } DropDownList ddl = ddls.Where(a => a.Attributes["day"] == selection.DayNumber.ToString() && a.Attributes["type"] == selection.MealTypeID.ToString() && a.Attributes["ord"] == selection.Ordinal.ToString()) .SingleOrDefault(); CheckBoxList chklist = chklists.Where(a => a.Attributes["day"] == selection.DayNumber.ToString() && a.Attributes["type"] == selection.MealTypeID.ToString() && a.Attributes["ord"] == selection.Ordinal.ToString()) .SingleOrDefault(); if (ddl != null) { string value = selection.MenuItemID.ToString() + "-" + selection.MenuItemSizeID.ToString(); ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(value)); ddl.Attributes.Add("defMenuId", selection.DefaultMenuID.ToString()); } if (chklist != null) { List <ListItem> listItem = new List <ListItem>(); hccMenuItem hccMenuItem = new hccMenuItem { MenuItemID = Convert.ToInt32(selection.MenuItemID) }; List <hccPreference> itemPrefs = hccMenuItem.GetPreferences(); if (itemPrefs.Count > 0 && ddl.SelectedIndex > 0) { itemPrefs.ForEach(delegate(hccPreference pref) { ListItem chkPref = new ListItem(); chkPref.Value = pref.PreferenceID.ToString(); chkPref.Text = pref.Name; chkPref.Attributes.Add("prefID", pref.PreferenceID.ToString()); hccProgramDefaultMenuExPref excPref = hccProgramDefaultMenuExPref.GetBy(selection.DefaultMenuID, pref.PreferenceID); if (excPref != null) { chkPref.Selected = true; } chklist.Items.Add(chkPref); }); } else { ListItem li = new ListItem("", ""); li.Selected = false; li.Attributes.Add("Style", " max-height: 170px;display: block;overflow - y: auto; width: 100 %;min - height: 170px;display: none;"); chklist.Items.Add(li); } } }); nutDisplays.ForEach(delegate(HtmlGenericControl ctrl) { int nutDay = int.Parse(ctrl.Attributes["day"]); DailyNutrition dNut = dailyNuts.Where(a => a.DayNumber == nutDay).SingleOrDefault(); if (dNut == null) { ctrl.InnerHtml = ctrl.InnerHtml.Replace("##Cals##", "0"); ctrl.InnerHtml = ctrl.InnerHtml.Replace("##Fats##", "0"); ctrl.InnerHtml = ctrl.InnerHtml.Replace("##Ptrns##", "0"); ctrl.InnerHtml = ctrl.InnerHtml.Replace("##Carbs##", "0"); ctrl.InnerHtml = ctrl.InnerHtml.Replace("##Fbrs##", "0"); ctrl.InnerHtml = ctrl.InnerHtml.Replace("##Sod##", "0"); } else { ctrl.InnerHtml = ctrl.InnerHtml.Replace("##Cals##", dNut.Calories.ToString("f2")); ctrl.InnerHtml = ctrl.InnerHtml.Replace("##Fats##", dNut.Fat.ToString("f2")); ctrl.InnerHtml = ctrl.InnerHtml.Replace("##Ptrns##", dNut.Protein.ToString("f2")); ctrl.InnerHtml = ctrl.InnerHtml.Replace("##Carbs##", dNut.Carbs.ToString("f2")); ctrl.InnerHtml = ctrl.InnerHtml.Replace("##Fbrs##", dNut.Fiber.ToString("f2")); ctrl.InnerHtml = ctrl.InnerHtml.Replace("##Sod##", dNut.Sodium.ToString("f2")); } }); } catch (Exception) { throw; } }