protected override void SaveForm()
        {
            try
            {
                hccCart        userCart      = hccCart.GetById(this.PrimaryKeyIndex);
                MembershipUser user          = Membership.GetUser(userCart.AspNetUserID);
                bool           isFamilyStyle = false;

                if (user != null)
                {
                    hccMenuItem menuItem = hccMenuItem.GetById(int.Parse(ddlMenuItems.SelectedValue));
                    var         itemSize = (Enums.CartItemSize)(int.Parse(ddlOptions.SelectedValue));
                    if (chkFamilyStyle.Checked)
                    {
                        isFamilyStyle = true;
                    }
                    int profileId = 0;
                    if (divProfiles.Visible)
                    {
                        profileId = int.Parse(ddlProfiles.SelectedValue);
                    }
                    else
                    {
                        profileId = hccUserProfile.GetParentProfileBy(userCart.AspNetUserID.Value).UserProfileID;
                    }

                    if (userCart != null)
                    {
                        hccCartItem cartItem = new hccCartItem
                        {
                            CreatedBy         = (Guid)Helpers.LoggedUser.ProviderUserKey,
                            CreatedDate       = DateTime.Now,
                            IsTaxable         = menuItem.IsTaxEligible,
                            ItemDesc          = menuItem.Description,
                            ItemPrice         = hccMenuItem.GetItemPriceBySize(menuItem, (int)itemSize),
                            ItemTypeID        = (int)Enums.CartItemType.AlaCarte,
                            DeliveryDate      = DateTime.Parse(ddlDeliveryDates.SelectedItem.Text),
                            Meal_MealSizeID   = (int)itemSize,
                            Meal_MenuItemID   = menuItem.MenuItemID,
                            Meal_ShippingCost = hccDeliverySetting.GetBy(menuItem.MealType).ShipCost,
                            UserProfileID     = profileId,
                            Quantity          = int.Parse(txtQuantity.Text.Trim()),
                            Plan_IsAutoRenew  = isFamilyStyle,
                            IsCompleted       = false
                        };

                        cartItem.GetOrderNumber(userCart);

                        List <hccCartItemMealPreference> prefsList = new List <hccCartItemMealPreference>();

                        foreach (ListItem item in cblPreferences.Items)
                        {
                            if (item.Selected)
                            {
                                hccCartItemMealPreference pref =
                                    new hccCartItemMealPreference {
                                    CartItemID = cartItem.CartItemID, PreferenceID = int.Parse(item.Value)
                                };
                                prefsList.Add(pref);
                            }
                        }

                        var prefsString = string.Empty;

                        if (prefsList.Count > 0)
                        {
                            prefsString = prefsList
                                          .Select(a => hccPreference.GetById(a.PreferenceID))
                                          .Select(a => a.Name).DefaultIfEmpty(string.Empty).Aggregate((a, b) => a + ", " + b);
                        }

                        cartItem.ItemName = hccCartItem.BuildCartItemName(menuItem.MealType, itemSize, menuItem.Name, GetMealSides(menuItem.MealType), prefsString, cartItem.DeliveryDate);//,cartItem.Quantity

                        hccCartItem existItem = hccCartItem.GetBy(userCart.CartID, cartItem.ItemName, profileId);

                        if (existItem == null)
                        {
                            cartItem.CartID = userCart.CartID;
                            cartItem.Save();

                            if (cartItem.CartItemID > 0)
                            {
                                prefsList.ForEach(delegate(hccCartItemMealPreference cartPref)
                                {
                                    cartPref.CartItemID = cartItem.CartItemID;
                                    cartPref.Save();
                                });
                            }

                            AddUpdateCartALCMenuItem(cartItem);
                            OnSaved(new ControlSavedEventArgs(cartItem.CartItemID));
                            chkFamilyStyle.Checked = false;
                        }
                        else
                        {
                            existItem.Quantity += cartItem.Quantity;
                            if (existItem.AdjustQuantity(existItem.Quantity))
                            {
                                AddUpdateCartALCMenuItem(existItem);
                                OnSaved(new ControlSavedEventArgs(existItem.CartItemID));
                                chkFamilyStyle.Checked = false;
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 2
0
        protected override void SaveForm()
        {
            try
            {
                Page.Validate(this.ValidationGroup);

                if (Page.IsValid)
                {
                    if (CurrentCartItem != null)
                    {
                        if (chkIsComplete.Enabled)
                        {
                            CurrentCartItem.IsCompleted = chkIsComplete.Checked;
                        }

                        hccMenuItem menuItem = null;
                        var         itemSize = Enums.CartItemSize.NoSize;

                        if (!string.IsNullOrWhiteSpace(ddlMenuItems.SelectedValue))
                        {
                            menuItem = hccMenuItem.GetById(int.Parse(ddlMenuItems.SelectedValue));
                        }

                        if (menuItem != null)
                        {
                            if (menuItem.MenuItemID != CurrentCartItem.Meal_MenuItemID)
                            {
                                CurrentCartItem.Meal_MenuItemID = menuItem.MenuItemID;
                            }

                            int selMenuOptionId = int.Parse(ddlOptions.SelectedValue);

                            if (selMenuOptionId != CurrentCartItem.Meal_MealSizeID)
                            {
                                CurrentCartItem.Meal_MealSizeID = selMenuOptionId;
                            }

                            itemSize = (Enums.CartItemSize)(CurrentCartItem.Meal_MealSizeID);

                            CurrentCartItem.ItemDesc  = menuItem.Description;
                            CurrentCartItem.ItemPrice = hccMenuItem.GetItemPriceBySize(menuItem, (int)itemSize);
                        }

                        var prefsString = string.Empty;

                        var prefs = hccCartItemMealPreference.GetBy(CurrentCartItem.CartItemID);
                        prefs.ForEach(a => a.Delete());

                        foreach (ListItem item in cblPreferences.Items)
                        {
                            if (item.Selected)
                            {
                                var pref = new hccCartItemMealPreference {
                                    CartItemID = CurrentCartItem.CartItemID, PreferenceID = int.Parse(item.Value)
                                };
                                pref.Save();

                                if (string.IsNullOrWhiteSpace(prefsString))
                                {
                                    prefsString += item.Text;
                                }
                                else
                                {
                                    prefsString += ", " + item.Text;
                                }
                            }
                        }

                        CurrentCartItem.ItemName = hccCartItem.BuildCartItemName(menuItem.MealType, itemSize, menuItem.Name, GetMealSides(menuItem.MealType), prefsString, CurrentCartItem.DeliveryDate);//,CurrentCartItem.Quantity
                        CurrentCartItem.Save();
                        AddUpdateCartALCMenuItem(CurrentCartItem);

                        lblFeedback.Text      = "Item Saved: " + DateTime.Now.ToString();
                        lblFeedback.ForeColor = Color.Green;
                        BindgvwALCItems();
                        btnSave.Visible     = false;
                        pnlItemEdit.Visible = false;
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }