예제 #1
0
        private void ResolveKitItemChanges(DataListItem dataItem, KitGroupData kitGroup)
        {
            var ctrlKitGroup = dataItem.FindControl <Admin_controls_editkitgrouptemplate>("ctrlKitGroup");

            ctrlKitGroup.KitGroup = kitGroup;
            ctrlKitGroup.ReconcileChanges();
        }
예제 #2
0
        protected override void OnInit(EventArgs e)
        {
            int productId = Request.QueryStringNativeInt("productId");
            int groupId   = Request.QueryStringNativeInt("groupId");
            int kitItemId = Request.QueryStringNativeInt("itemId");

            KitProductData kitProduct = KitProductData.Find(productId, Customer.Current);

            KitData = kitProduct;

            if (kitProduct != null)
            {
                KitGroupData kitGroup = kitProduct.GetGroup(groupId);
                if (kitGroup != null)
                {
                    KitItemData item = kitGroup.GetItem(kitItemId);
                    if (item != null)
                    {
                        KitItem = item;
                        kitProduct.TempFileStub = Request.QueryStringCanBeDangerousContent("stub");
                    }
                }
            }

            base.OnInit(e);
        }
예제 #3
0
        private void DeleteKitGroup(DataListCommandEventArgs e)
        {
            var          hdfGroupId = e.Item.FindControl <HiddenField>("hdfGroupId");
            int          groupId    = hdfGroupId.Value.ToNativeInt();
            KitGroupData kitGroup   = this.Kit.GetGroup(groupId);

            Kit.DeleteGroup(kitGroup);

            // force the update of the whole groups
            pnlUpdateAllGroups.Update();
        }
예제 #4
0
        private void RebindGroup(DataListItem dataItem)
        {
            var          hdfGroupId = dataItem.FindControl <HiddenField>("hdfGroupId");
            int          groupId    = hdfGroupId.Value.ToNativeInt();
            KitGroupData kitGroup   = this.Kit.GetGroup(groupId);

            var ctrlKitGroup = dataItem.FindControl <Admin_controls_editkitgrouptemplate>("ctrlKitGroup");

            ctrlKitGroup.KitGroup   = kitGroup;
            ctrlKitGroup.GroupTypes = this.GroupTypes;
            ctrlKitGroup.DataBind();
        }
예제 #5
0
        private void DeleteKitItem(DataListCommandEventArgs e)
        {
            var          hdfGroupId = e.Item.FindControl <HiddenField>("hdfGroupId");
            int          groupId    = hdfGroupId.Value.ToNativeInt();
            KitGroupData kitGroup   = this.Kit.GetGroup(groupId);

            int         id          = e.CommandArgument.ToString().ToNativeInt();
            KitItemData toBeDeleted = kitGroup.GetItem(id);

            if (toBeDeleted != null)
            {
                kitGroup.DeleteItem(toBeDeleted);
            }
        }
예제 #6
0
        private void ResolveKitGroupChanges(DataListItem dataItem)
        {
            var          hdfGroupId = dataItem.FindControl <HiddenField>("hdfGroupId");
            int          groupId    = hdfGroupId.Value.ToNativeInt();
            KitGroupData kitGroup   = this.Kit.GetGroup(groupId);

            if (kitGroup != null)
            {
                bool wasNew = kitGroup.IsNew;

                ResolveKitItemChanges(dataItem, kitGroup);

                KitItemData newItem = kitGroup.Items.Find(item => item.IsNew);

                // if name was provided allow name, otherwise don't save
                if (newItem != null &&
                    string.IsNullOrEmpty(newItem.Name))
                {
                    // kick it out
                    kitGroup.Items.Remove(newItem);
                }

                // validate this group and all it's items
                kitGroup.Validate();

                if (kitGroup.IsValid)
                {
                    string locale = GetCurrentLocale();
                    kitGroup.Save(locale);

                    kitGroup.IsModified = true;
                }

                kitGroup.ProvideNewKitItem();

                if (wasNew)
                {
                    // previous group was a new kit group
                    // allow for a new kit group for input
                    var newGroup = kitGroup.Kit.ProvideNewGroup();
                    newGroup.ProvideNewKitItem();

                    // force the update of the whole groups
                    pnlUpdateAllGroups.Update();
                }
            }
        }
예제 #7
0
        protected override void OnInit(EventArgs e)
        {
            Response.CacheControl = "private";
            Response.Expires      = -1;
            Response.AddHeader("pragma", "no-cache");

            ThisCustomer = Customer.Current;

            int kitId   = Request.QueryStringNativeInt("kitId");
            int groupId = Request.QueryStringNativeInt("groupId");

            KitProductData kit = KitProductData.Find(kitId, ThisCustomer);

            KitGroup = kit.GetGroup(groupId);

            BindData();


            base.OnInit(e);
        }
        private void UpdateKitItems(bool updateAll)
        {
            foreach (RepeaterItem rptItemKit in dlMappedKits.Items)
            {
                if (rptItemKit.ItemType == ListItemType.Item ||
                    rptItemKit.ItemType == ListItemType.AlternatingItem)
                {
                    HiddenField hdfKitProductId = rptItemKit.FindControl <HiddenField>("hdfKitProductId");
                    int         kitId           = hdfKitProductId.Value.ToNativeInt();

                    KitProductData kit = MappedKitProducts.Find(k => k.Id == kitId);
                    if (kit != null)
                    {
                        Repeater rptKitGroups = rptItemKit.FindControl <Repeater>("rptKitGroups");
                        foreach (RepeaterItem rptItemGroup in rptKitGroups.Items)
                        {
                            if (rptItemGroup.ItemType == ListItemType.Item ||
                                rptItemGroup.ItemType == ListItemType.AlternatingItem)
                            {
                                HiddenField hdfGroupId = rptItemGroup.FindControl <HiddenField>("hdfGroupId");
                                int         groupId    = hdfGroupId.Value.ToNativeInt();

                                KitGroupData group = kit.GetGroup(groupId);
                                if (group != null)
                                {
                                    Repeater rptKitItems = rptItemGroup.FindControl <Repeater>("rptKitItems");
                                    foreach (RepeaterItem rptKitItem in rptKitItems.Items)
                                    {
                                        if (rptKitItem.ItemType == ListItemType.Item ||
                                            rptKitItem.ItemType == ListItemType.AlternatingItem)
                                        {
                                            HiddenField hdfKitItemtId = rptKitItem.FindControl <HiddenField>("hdfKitItemtId");
                                            int         kitItemId     = hdfKitItemtId.Value.ToNativeInt();

                                            CheckBox chkUpdate = rptKitItem.FindControl <CheckBox>("chkUpdate");
                                            if (chkUpdate.Checked)
                                            {
                                                KitItemData kitItem = group.GetItem(kitItemId);
                                                if (kitItem != null)
                                                {
                                                    kitItem.Name        = XmlCommon.GetLocaleEntry(Variant.Name, LocaleSetting, false);
                                                    kitItem.Description = XmlCommon.GetLocaleEntry(Variant.Description, LocaleSetting, false);

                                                    if (updateAll)
                                                    {
                                                        kitItem.PriceDelta  = Variant.SalePrice > decimal.Zero ? Variant.SalePrice : Variant.Price;
                                                        kitItem.WeightDelta = Variant.Weight;
                                                    }
                                                    kitItem.Save(LocaleSetting);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            BindData();
        }