public static string BuildCartItemName(Enums.MealTypes mealType, Enums.CartItemSize itemSize, string menuItemName,
                                               string mealSides, string preferences, DateTime deliveryDate)//, int Quantity
        {
            string CartItemName = string.Empty;

            CartItemName = Enums.GetEnumDescription(mealType) +
                           (itemSize == Enums.CartItemSize.NoSize ? string.Empty : " - " + Enums.GetEnumDescription(itemSize)) +
                           " - " + menuItemName +
                           (string.IsNullOrEmpty(mealSides) ? string.Empty : " w/ " + mealSides) +
                           (string.IsNullOrEmpty(preferences) ? string.Empty : " - " + preferences) +
                           " - " + deliveryDate.ToShortDateString();// +  " - " + Quantity
            return(CartItemName);
        }
        void BindddlOptions(int menuItemId)
        {
            ddlOptions.ClearSelection();
            ddlOptions.Items.Clear();

            List <Tuple <string, int> > itemSizes   = Enums.GetEnumAsTupleList(typeof(Enums.CartItemSize));
            List <Tuple <string, int> > pricedSizes = new List <Tuple <string, int> >();

            itemSizes.Remove(itemSizes.Single(a => ((Enums.CartItemSize)(a.Item2)) == Enums.CartItemSize.NoSize));

            hccMenuItem menuItem = hccMenuItem.GetById(menuItemId);

            if (menuItem != null)
            {
                if (!menuItem.UseCostChild)
                {
                    itemSizes.Remove(itemSizes.Single(a => ((Enums.CartItemSize)(a.Item2)) == Enums.CartItemSize.ChildSize));
                }

                if (!menuItem.UseCostSmall)
                {
                    itemSizes.Remove(itemSizes.Single(a => ((Enums.CartItemSize)(a.Item2)) == Enums.CartItemSize.SmallSize));
                }

                if (!menuItem.UseCostRegular)
                {
                    itemSizes.Remove(itemSizes.Single(a => ((Enums.CartItemSize)(a.Item2)) == Enums.CartItemSize.RegularSize));
                }

                if (!menuItem.UseCostLarge)
                {
                    itemSizes.Remove(itemSizes.Single(a => ((Enums.CartItemSize)(a.Item2)) == Enums.CartItemSize.LargeSize));
                }

                if (itemSizes.Count > 0)
                {
                    itemSizes.ForEach(delegate(Tuple <string, int> sizeItem)
                    {
                        Enums.CartItemSize cis = ((Enums.CartItemSize)(sizeItem.Item2));

                        switch (cis)
                        {
                        case Enums.CartItemSize.ChildSize:
                            pricedSizes.Add(new Tuple <string, int>(sizeItem.Item1 + " - " + menuItem.CostChild.ToString("c"), sizeItem.Item2));
                            break;

                        case Enums.CartItemSize.SmallSize:
                            pricedSizes.Add(new Tuple <string, int>(sizeItem.Item1 + " - " + menuItem.CostSmall.ToString("c"), sizeItem.Item2));
                            break;

                        case Enums.CartItemSize.RegularSize:
                            pricedSizes.Add(new Tuple <string, int>(sizeItem.Item1 + " - " + menuItem.CostRegular.ToString("c"), sizeItem.Item2));
                            break;

                        case Enums.CartItemSize.LargeSize:
                            pricedSizes.Add(new Tuple <string, int>(sizeItem.Item1 + " - " + menuItem.CostLarge.ToString("c"), sizeItem.Item2));
                            break;

                        default: break;
                        }
                    });

                    ddlOptions.DataSource     = pricedSizes;
                    ddlOptions.DataTextField  = "Item1";
                    ddlOptions.DataValueField = "Item2";
                    ddlOptions.DataBind();

                    if (pricedSizes.Count > 1)
                    {
                        ddlOptions.Items.Insert(0, new ListItem("Select Size...", "-1"));
                        ddlOptions.Enabled = true;
                    }
                }
                else
                {
                    itemSizes.Add(new Tuple <string, int>(Enums.CartItemSize.NoSize.ToString(), (int)Enums.CartItemSize.NoSize));
                    ddlOptions.DataSource     = itemSizes;
                    ddlOptions.DataTextField  = "Item1";
                    ddlOptions.DataValueField = "Item2";
                    ddlOptions.DataBind();

                    ddlOptions.Enabled = false;
                }
            }
        }
Esempio n. 3
0
        public static List <MOTCartItem> GetFromCartCalendarForMOT(hccCartItemCalendar cartCal)
        {
            try
            {
                List <MOTCartItem> retMotItems  = new List <MOTCartItem>();
                List <MOTCartItem> addlMotItems = new List <MOTCartItem>();

                hccCartItem                  cartItem  = hccCartItem.GetById(cartCal.CartItemID);
                hccProductionCalendar        prodCal   = hccProductionCalendar.GetById(cartCal.CalendarID);
                hccProgramPlan               plan      = hccProgramPlan.GetById(cartItem.Plan_PlanID.Value);
                List <hccProgramDefaultMenu> defMenus  = hccProgramDefaultMenu.GetBy(cartCal.CalendarID, plan.ProgramID, plan.NumDaysPerWeek);
                List <hccMenuItem>           planMeals = new List <hccMenuItem>();

                defMenus.ForEach(delegate(hccProgramDefaultMenu defMenu)
                {
                    hccCartDefaultMenuException cartDefMenuEx = hccCartDefaultMenuException.GetBy(defMenu.DefaultMenuID, cartCal.CartCalendarID);

                    hccMenuItem selItem;
                    Enums.CartItemSize selPortionSize = Enums.CartItemSize.NoSize;
                    string prefsString = string.Empty;

                    if (cartDefMenuEx == null)
                    {
                        selItem        = hccMenuItem.GetById(defMenu.MenuItemID);
                        selPortionSize = (Enums.CartItemSize)defMenu.MenuItemSizeID;
                        prefsString    = "None";
                    }
                    else
                    {
                        selItem        = hccMenuItem.GetById(cartDefMenuEx.MenuItemID);
                        selPortionSize = (Enums.CartItemSize)cartDefMenuEx.MenuItemSizeID;

                        try
                        {
                            prefsString = string.Empty;
                            List <hccPreference> prefs = hccCartDefaultMenuExPref.GetPrefsBy(cartDefMenuEx.DefaultMenuExceptID);
                            prefsString = prefs.Select(a => a.Name).DefaultIfEmpty("None").Aggregate((c, d) => c + ", " + d);
                        }
                        catch (Exception)
                        {
                            throw;
                        }
                    }

                    if (selPortionSize == Enums.CartItemSize.NoSize)
                    {
                        selPortionSize = Enums.CartItemSize.RegularSize;
                    }

                    MOTCartItem curMotItem = null;

                    if (selItem != null)
                    {
                        if (selItem.MealType == Enums.MealTypes.BreakfastEntree ||
                            selItem.MealType == Enums.MealTypes.LunchEntree ||
                            selItem.MealType == Enums.MealTypes.DinnerEntree ||
                            selItem.MealType == Enums.MealTypes.ChildEntree ||
                            selItem.MealType == Enums.MealTypes.Beverage ||
                            selItem.MealType == Enums.MealTypes.Dessert ||
                            selItem.MealType == Enums.MealTypes.Goods ||
                            selItem.MealType == Enums.MealTypes.Miscellaneous ||
                            selItem.MealType == Enums.MealTypes.Salad ||
                            selItem.MealType == Enums.MealTypes.Snack ||
                            selItem.MealType == Enums.MealTypes.Soup ||
                            selItem.MealType == Enums.MealTypes.Supplement)
                        {
                            curMotItem = retMotItems.FirstOrDefault(a => a.DayNumber == defMenu.DayNumber &&
                                                                    a.MealType == selItem.MealType);

                            if (curMotItem == null || curMotItem.MealType == Enums.MealTypes.Snack)
                            {
                                curMotItem = new MOTCartItem
                                {
                                    CartItem     = cartItem,
                                    CartItemId   = cartItem.CartItemID,
                                    CustomerName = cartItem.UserProfile.ParentProfileName,
                                    OrderNumber  = cartItem.OrderNumber + "-PRG",
                                    DeliveryDate = prodCal.DeliveryDate,
                                    DayNumber    = defMenu.DayNumber,
                                    ItemName     = selItem.Name,
                                    MealType     = selItem.MealType,
                                    PortionSize  = Enums.GetEnumDescription(selPortionSize),
                                    Preferences  = prefsString,
                                    ProfileName  = cartItem.UserProfile != null ? cartItem.UserProfile.ProfileName : string.Empty,
                                    Servings     = cartItem.Quantity.ToString(),
                                    MenuItem     = selItem,
                                    Quantity     = cartItem.Quantity,
                                    Sides        = "None"
                                };

                                if (cartItem.SnapShipAddrId.HasValue)
                                {
                                    hccAddress addr           = hccAddress.GetById(cartItem.SnapShipAddrId.Value);
                                    curMotItem.DeliveryMethod = ((Enums.DeliveryTypes)addr.DefaultShippingTypeID).ToString();
                                }

                                retMotItems.Add(curMotItem);
                            }
                            else
                            {
                                curMotItem.Sides += selPortionSize + " - " + selItem.Name;
                            }
                        }
                        else
                        {
                            // get parent entree type
                            Enums.MealTypes parentType = Enums.MealTypes.Unknown;

                            if (selItem.MealType == Enums.MealTypes.BreakfastSide)
                            {
                                parentType = Enums.MealTypes.BreakfastEntree;
                            }
                            else if (selItem.MealType == Enums.MealTypes.LunchSide)
                            {
                                parentType = Enums.MealTypes.LunchEntree;
                            }
                            else if (selItem.MealType == Enums.MealTypes.DinnerSide)
                            {
                                parentType = Enums.MealTypes.DinnerEntree;
                            }
                            else if (selItem.MealType == Enums.MealTypes.OtherSide)
                            {
                                parentType = Enums.MealTypes.OtherEntree;
                            }
                            else if (selItem.MealType == Enums.MealTypes.ChildSide)
                            {
                                parentType = Enums.MealTypes.ChildEntree;
                            }

                            curMotItem = retMotItems.FirstOrDefault(a => a.DayNumber == defMenu.DayNumber &&
                                                                    a.MealType == parentType);

                            if (curMotItem == null)
                            {
                                curMotItem = retMotItems.FirstOrDefault(a => a.DayNumber == defMenu.DayNumber);

                                if (curMotItem == null)
                                {
                                    curMotItem = new MOTCartItem
                                    {
                                        CartItem     = cartItem,
                                        CartItemId   = cartItem.CartItemID,
                                        CustomerName = cartItem.UserProfile.ParentProfileName,
                                        OrderNumber  = cartItem.OrderNumber + "-PRG",
                                        DeliveryDate = prodCal.DeliveryDate,
                                        DayNumber    = defMenu.DayNumber,
                                        ItemName     = selItem.Name,
                                        MealType     = selItem.MealType,
                                        PortionSize  = Enums.GetEnumDescription(selPortionSize),
                                        Preferences  = prefsString,
                                        ProfileName  = cartItem.UserProfile != null ? cartItem.UserProfile.ProfileName : string.Empty,
                                        Servings     = cartItem.Quantity.ToString(),
                                        MenuItem     = selItem,
                                        Quantity     = cartItem.Quantity,
                                        Sides        = "None"
                                    };

                                    if (cartItem.SnapShipAddrId.HasValue)
                                    {
                                        hccAddress addr           = hccAddress.GetById(cartItem.SnapShipAddrId.Value);
                                        curMotItem.DeliveryMethod = ((Enums.DeliveryTypes)addr.DefaultShippingTypeID).ToString();
                                    }

                                    retMotItems.Add(curMotItem);
                                }
                            }
                            else
                            {
                                if (string.IsNullOrWhiteSpace(curMotItem.Sides))
                                {
                                    curMotItem.Sides = selItem.Name;

                                    if (prefsString != "None" && !string.IsNullOrWhiteSpace(prefsString))
                                    {
                                        curMotItem.Sides += " (" + prefsString + ")";
                                    }
                                }
                                else
                                {
                                    if (curMotItem.Sides == "None")
                                    {
                                        curMotItem.Sides = selItem.Name;
                                    }
                                    else
                                    {
                                        curMotItem.Sides += ", " + selItem.Name;
                                    }

                                    if (prefsString != "None" && !string.IsNullOrWhiteSpace(prefsString))
                                    {
                                        curMotItem.Sides += " (" + prefsString + ")";
                                    }
                                }
                            }
                        }
                    }
                });

                List <MOTCartItem> removeDupItems = new List <MOTCartItem>();

                retMotItems.ForEach(delegate(MOTCartItem motItem)
                {
                    if (motItem.MealType == Enums.MealTypes.BreakfastEntree ||
                        motItem.MealType == Enums.MealTypes.LunchEntree ||
                        motItem.MealType == Enums.MealTypes.DinnerEntree ||
                        motItem.MealType == Enums.MealTypes.ChildEntree ||
                        motItem.MealType == Enums.MealTypes.Beverage ||
                        motItem.MealType == Enums.MealTypes.Dessert ||
                        motItem.MealType == Enums.MealTypes.Goods ||
                        motItem.MealType == Enums.MealTypes.Miscellaneous ||
                        motItem.MealType == Enums.MealTypes.Salad ||
                        motItem.MealType == Enums.MealTypes.Snack ||
                        motItem.MealType == Enums.MealTypes.Soup ||
                        motItem.MealType == Enums.MealTypes.Supplement)
                    {
                        if (motItem.CartItem.Quantity > 1)
                        {
                            for (int i = 1; i <= motItem.CartItem.Quantity; i++)
                            {
                                MOTCartItem copyMotItem = new MOTCartItem
                                {
                                    CartItem       = motItem.CartItem,
                                    CartItemId     = motItem.CartItemId,
                                    OrderNumber    = motItem.OrderNumber,
                                    DeliveryDate   = motItem.DeliveryDate,
                                    CustomerName   = motItem.CustomerName,
                                    DayNumber      = motItem.DayNumber,
                                    ItemName       = motItem.ItemName,
                                    MealType       = motItem.MealType,
                                    PortionSize    = motItem.PortionSize,
                                    Preferences    = motItem.Preferences,
                                    ProfileName    = motItem.ProfileName,
                                    MenuItem       = motItem.MenuItem,
                                    Index          = motItem.Index,
                                    Quantity       = motItem.Quantity,
                                    Sides          = motItem.Sides,
                                    DeliveryMethod = motItem.DeliveryMethod,
                                    Servings       = "1" //motItem.Servings
                                };

                                addlMotItems.Add(copyMotItem);
                            }

                            removeDupItems.Add(motItem);
                        }
                    }
                });

                if (addlMotItems.Count > 0)
                {
                    retMotItems.AddRange(addlMotItems);
                }

                if (removeDupItems.Count > 0)
                {
                    removeDupItems.ForEach(a => retMotItems.Remove(a));
                }

                var t = retMotItems.ToList();
                return(t);
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 4
0
        public MOTCartItem(hccCartItem cartItem)
        {
            try
            {
                if (cartItem.ItemType == Common.Enums.CartItemType.AlaCarte)
                {
                    hccMenuItem mi = hccMenuItem.GetById(cartItem.Meal_MenuItemID.Value);
                    MenuItem     = mi;
                    CartItem     = cartItem;
                    CartItemId   = cartItem.CartItemID;
                    OrderNumber  = cartItem.OrderNumber + "-ALC";
                    DeliveryDate = cartItem.DeliveryDate;

                    if (cartItem.UserProfile != null)
                    {
                        CustomerName = cartItem.UserProfile.ParentProfileName;
                        ProfileName  = cartItem.UserProfile.ProfileName;
                    }

                    ItemName = mi.Name;
                    MealType = mi.MealType;

                    if (cartItem.Meal_MealSizeID.HasValue)
                    {
                        Enums.CartItemSize size = (Enums.CartItemSize)cartItem.Meal_MealSizeID;

                        if (size == Enums.CartItemSize.NoSize)
                        {
                            size = Enums.CartItemSize.RegularSize;
                        }

                        PortionSize = Enums.GetEnumDescription(size);
                    }
                    else
                    {
                        PortionSize = Enums.GetEnumDescription(Enums.CartItemSize.RegularSize);
                    }

                    Servings    = cartItem.Quantity.ToString();
                    Preferences = hccCartItemMealPreference.GetPrefsBy(cartItem.CartItemID)
                                  .Select(a => a.Name).DefaultIfEmpty("None").Aggregate((c, d) => c + ", " + d);
                    Sides = "None";

                    if (hccMenuItem.EntreeMealTypes.Contains(MealType) && cartItem.MealSideMenuItems.Count > 0)
                    {
                        Sides = cartItem.GetMealSideMenuItemsAsSectionString(", ");
                    }

                    if (cartItem.SnapShipAddrId.HasValue)
                    {
                        hccAddress addr = hccAddress.GetById(cartItem.SnapShipAddrId.Value);
                        DeliveryMethod = ((Enums.DeliveryTypes)addr.DefaultShippingTypeID).ToString();
                    }
                    if (cartItem.Plan_IsAutoRenew == true)
                    {
                        FamilyStyle = "Yes";
                    }
                    else if (cartItem.Plan_IsAutoRenew == false)
                    {
                        FamilyStyle = "No";
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public static MOTCartItem PrepareMOTCartItem(IDataReader t)
        {
            MOTCartItem _MOTCartItem = new MOTCartItem();

            try
            {
                _MOTCartItem.CartItemId   = Convert.ToInt32(t["CartItemID"]);
                _MOTCartItem.DeliveryDate = Convert.ToDateTime(t["DeliveryDate"]);
                _MOTCartItem.OrderNumber  = string.Format("{0}-ALC", t["OrderNumber"]);
                _MOTCartItem.Servings     = Convert.ToString(t["Quantity"]);
                _MOTCartItem.Quantity     = Convert.ToInt32(t["Quantity"]);

                if (t["MEAL_MEALSIZEID"] != DBNull.Value)
                {
                    int _mealSizeID         = Convert.ToInt32(t["MEAL_MEALSIZEID"]);
                    Enums.CartItemSize size = (Enums.CartItemSize)_mealSizeID;

                    if (size == Enums.CartItemSize.NoSize)
                    {
                        size = Enums.CartItemSize.RegularSize;
                    }

                    _MOTCartItem.PortionSize = Enums.GetEnumDescription(size);
                }

                _MOTCartItem.CustomerName = Convert.ToString(t["CUSTOMERNAME"]);
                _MOTCartItem.ProfileName  = Convert.ToString(t["ProfileName"]);

                _MOTCartItem.ItemName = Convert.ToString(t["NAME"]);

                if (t["MealTypeID"] != DBNull.Value)
                {
                    int _mealTypeID = Convert.ToInt32(t["MealTypeID"]);
                    _MOTCartItem.MealType = (Enums.MealTypes)_mealTypeID;
                }

                if (t["DefaultShippingTypeID"] != DBNull.Value)
                {
                    int _delMethodID = Convert.ToInt32(t["DefaultShippingTypeID"]);
                    _MOTCartItem.DeliveryMethod = ((Enums.DeliveryTypes)_delMethodID).ToString();
                }

                //preferences
                _MOTCartItem.Preferences = hccCartItemMealPreference.GetPrefsBy(_MOTCartItem.CartItemId)
                                           .Select(a => a.Name).DefaultIfEmpty("None").Aggregate((c, d) => c + ", " + d);

                var CartItemID = Convert.ToInt32(t["ItemTypeID"]);
                _MOTCartItem.CartItem = new hccCartItem()
                {
                    CartItemID = _MOTCartItem.CartItemId, ItemTypeID = CartItemID, Meal_MealSizeID = Convert.ToInt32(t["MEAL_MEALSIZEID"])
                };

                //sides
                _MOTCartItem.Sides = "None";
                if (hccMenuItem.EntreeMealTypes.Contains(_MOTCartItem.MealType) && _MOTCartItem.CartItem.MealSideMenuItems.Count > 0)
                {
                    _MOTCartItem.Sides = _MOTCartItem.CartItem.GetMealSideMenuItemsAsSectionString(", ");
                }
            }
            catch (Exception E)
            {
            }

            return(_MOTCartItem);
        }