public void PopulateControls()
    {
        ProductKitGroup        productKitGroup     = DataAccessContext.ProductKitGroupRepository.GetOne(Culture, ProductKitGroupID);
        IList <ProductKitItem> productKitItemLists = DataAccessContext.ProductKitGroupRepository.GetProductKitItems(ProductKitGroupID, Culture);

        IList <ProductKitItemDisplay> productKitItemDisplayList = new List <ProductKitItemDisplay>();

        switch (productKitGroup.Type)
        {
        case ProductKitGroup.ProductKitGroupType.Radio:
            RadioTR.Visible = true;
            uxProductKitRadioItem.SetupRadio(productKitGroup, Culture, new StoreRetriever().GetCurrentStoreID(), IsDynamicPrice);
            break;

        case ProductKitGroup.ProductKitGroupType.DropDown:
            DropdownTR.Visible = true;
            uxProductKitDropDownItem.SetupInputList(productKitGroup, Culture, new StoreRetriever().GetCurrentStoreID(), IsDynamicPrice);
            break;

        case ProductKitGroup.ProductKitGroupType.Checkbox:
            CheckboxTR.Visible = true;
            uxProductKitCheckboxItem.SetupInputList(productKitGroup, Culture, new StoreRetriever().GetCurrentStoreID(), IsDynamicPrice);
            break;
        }
    }
예제 #2
0
    protected void uxAddButton_Click(object sender, EventArgs e)
    {
        try
        {
            if (Page.IsValid)
            {
                ProductKitGroup newGroup = new ProductKitGroup(uxLanguageControl.CurrentCulture);
                newGroup = SetupProductKitGroup(newGroup);
                newGroup = DataAccessContext.ProductKitGroupRepository.Save(newGroup);
                uxMessage.DisplayMessage(Resources.ProductKitGroupMessages.AddSuccess);
                ClearInputFields();

                MainContext.RedirectMainControl(
                    "ProductKitGroupItemList.ascx", String.Format("ProductKitGroupID={0}", newGroup.ProductKitGroupID));
            }
            else
            {
                uxMessage.DisplayMessage(Resources.ProductKitGroupMessages.UpdateError);
            }
        }
        catch (Exception ex)
        {
            uxMessage.DisplayException(ex);
        }
    }
    protected void uxAddItemButton_Click(object sender, EventArgs e)
    {
        string errMeg = String.Empty;

        try
        {
            ProductKitGroup productKitGroup = DataAccessContext.ProductKitGroupRepository.GetOne(CurrentCulture, ProductKitGroupID);

            ProductKitItem productKitItem = new ProductKitItem();
            productKitItem.ProductID             = uxProductKitProductDetails.ProductID;
            productKitItem.ProductKitGroupID     = ProductKitGroupID;
            productKitItem.Quantity              = uxProductKitProductDetails.Quantity;
            productKitItem.IsDefault             = uxProductKitProductDetails.IsDefault;
            productKitItem.IsUserDefinedQuantity = uxProductKitProductDetails.IsUserDefinedQuantity;

            if (!IsDuplicateItems(productKitGroup.ProductKitItems, productKitItem))
            {
                productKitGroup.ProductKitItems.Add(productKitItem);
                productKitGroup.ProductKitItems = UpdateItemDefault(productKitGroup.ProductKitItems, productKitItem);
                DataAccessContext.ProductKitGroupRepository.Save(productKitGroup);
                uxMessage.DisplayMessage(Resources.ProductKitGroupItemMessages.ItemAddSuccess);
                OnBubbleEvent(e);
                uxProductKitProductDetails.ClearCheckBox();
            }
            else
            {
                uxMessage.DisplayError("Product already exist in this Group");
            }
        }
        catch (Exception ex)
        {
            MessageControl.DisplayError(ex.ToString());
        }
    }
예제 #4
0
 private ProductKitGroup SetupProductKitGroup(ProductKitGroup productKitGroup)
 {
     productKitGroup.Name        = uxProductKitGroupNameText.Text;
     productKitGroup.Description = uxDescriptionText.Text;
     productKitGroup.IsRequired  = uxIsRequiredCheck.Checked;
     productKitGroup.Type        = (ProductKitGroup.ProductKitGroupType)Enum.Parse(typeof(ProductKitGroup.ProductKitGroupType), uxTypeDrop.SelectedValue);
     return(productKitGroup);
 }
예제 #5
0
    protected void uxGrid_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        try
        {
            GridViewRow row                   = uxProductKitGroupItemGrid.Rows[e.RowIndex];
            string      productID             = ((Label)row.FindControl("uxProductIDLabel")).Text;
            bool        isDefault             = ((CheckBox)row.FindControl("uxIsDefaultCheck")).Checked;
            bool        isUserDefinedQuantity = ((CheckBox)row.FindControl("uxIsUserDefinedQuantityCheck")).Checked;
            string      quantity              = ((TextBox)row.FindControl("uxQuantityText")).Text;

            ProductKitGroup        kitGroup = DataAccessContext.ProductKitGroupRepository.GetOne(CurrentCulture, CurrentID);
            IList <ProductKitItem> itemList = kitGroup.ProductKitItems;

            IList <ProductKitItem> newList = new List <ProductKitItem>();

            foreach (ProductKitItem item in itemList)
            {
                if (isDefault)
                {
                    if (item.ProductID == productID)
                    {
                        item.IsDefault             = isDefault;
                        item.IsUserDefinedQuantity = isUserDefinedQuantity;
                        item.Quantity = ConvertUtilities.ToInt32(quantity);
                    }
                    else
                    {
                        item.IsDefault = false;
                    }

                    newList.Add(item);
                }
                else
                {
                    if (item.ProductID == productID)
                    {
                        item.IsDefault             = isDefault;
                        item.IsUserDefinedQuantity = isUserDefinedQuantity;
                        item.Quantity = ConvertUtilities.ToInt32(quantity);
                    }

                    newList.Add(item);
                }
            }

            kitGroup.ProductKitItems = newList;
            DataAccessContext.ProductKitGroupRepository.Save(kitGroup);
            uxMessage.DisplayMessage(Resources.ProductKitGroupItemMessages.ItemUpdateSuccess);

            uxProductKitGroupItemGrid.EditIndex = -1;
            RefreshGrid();
        }
        finally
        {
            // Avoid calling Update() automatically by GridView
            e.Cancel = true;
        }
    }
예제 #6
0
 private void PopulateControls()
 {
     if (CurrentID != null && int.Parse(CurrentID) >= 0)
     {
         ProductKitGroup productKitGroup = DataAccessContext.ProductKitGroupRepository.GetOne(uxLanguageControl.CurrentCulture, CurrentID);
         uxProductKitGroupNameText.Text = productKitGroup.Name;
         uxTypeDrop.SelectedValue       = productKitGroup.Type.ToString();
         uxIsRequiredCheck.Checked      = productKitGroup.IsRequired;
         uxDescriptionText.Text         = productKitGroup.Description;
     }
 }
    private List <ProductKitGroup> ConvertToProductKitGroups(Product product)
    {
        List <ProductKitGroup> list = new List <ProductKitGroup>();

        foreach (ProductKit productKit in product.ProductKits)
        {
            ProductKitGroup kitGroup = DataAccessContext.ProductKitGroupRepository.GetOne(StoreContext.Culture, productKit.ProductKitGroupID);
            list.Add(kitGroup);
        }

        return(list);
    }
    public void SetupInputList(ProductKitGroup group, Culture culture, string storeID, bool isDynamicPrice)
    {
        ProductKitGroup          = group;
        uxKitGroupIDHidden.Value = group.ProductKitGroupID;
        IList <ProductKitItem> itemsList = group.ProductKitItems;

        List <ProductKitItemDisplay> list = new List <ProductKitItemDisplay>();

        foreach (ProductKitItem item in itemsList)
        {
            list.Add(new ProductKitItemDisplay(item, culture, storeID, isDynamicPrice));
        }
        uxInputDataList.DataSource = list;
        uxInputDataList.DataBind();
    }
예제 #9
0
    private void Update()
    {
        try
        {
            if (Page.IsValid)
            {
                ProductKitGroup productKitGroup = DataAccessContext.ProductKitGroupRepository.GetOne(uxLanguageControl.CurrentCulture, CurrentID);
                productKitGroup = SetupProductKitGroup(productKitGroup);
                productKitGroup = DataAccessContext.ProductKitGroupRepository.Save(productKitGroup);

                PopulateControls();
                uxMessage.DisplayMessage(Resources.ProductKitGroupMessages.UpdateSuccess);
            }
        }
        catch (Exception ex)
        {
            uxMessage.DisplayException(ex);
        }
    }
예제 #10
0
    public void SetupInputList(ProductKitGroup group, Culture culture, string storeID, bool isDynamicPrice)
    {
        ProductKitGroup              = group;
        uxTooltippedText.MainText    = ProductKitGroup.Name;
        uxTooltippedText.TooltipText = ProductKitGroup.Description;

        if (ProductKitGroup.IsRequired)
        {
            uxRequireLabel.Visible = true;
        }
        else
        {
            uxRequireLabel.Visible = false;
        }

        uxKitGroupIDHidden.Value = group.ProductKitGroupID;
        int selectIndex = 0;
        int curIndex    = 0;
        IList <ProductKitItem> itemsList = group.ProductKitItems;

        List <ProductKitItemDisplay> list = new List <ProductKitItemDisplay>();

        foreach (ProductKitItem item in itemsList)
        {
            curIndex += 1;
            if (item.IsDefault)
            {
                selectIndex = curIndex;
            }
            list.Add(new ProductKitItemDisplay(item, culture, storeID, isDynamicPrice));
        }
        uxKitItemDrop.DataSource = list;
        uxKitItemDrop.DataBind();
        uxKitItemDrop.Items.Insert(0, new ListItem("--- Please select ---", String.Empty));

        uxKitItemDrop.SelectedIndex = selectIndex;
    }