protected SpecificationAttributeOptionFilterCollection getAlreadyFilteredSpecs()
        {
            SpecificationAttributeOptionFilterCollection result = new SpecificationAttributeOptionFilterCollection();

            string[] queryStringParams = getAlreadyFilteredSpecsQueryStringParams();
            foreach (string qsp in queryStringParams)
            {
                int id = 0;
                int.TryParse(Request.QueryString[qsp], out id);
                SpecificationAttributeOption sao = SpecificationAttributeManager.GetSpecificationAttributeOptionByID(id);
                if (sao != null)
                {
                    SpecificationAttribute sa = sao.SpecificationAttribute;
                    if (sa != null)
                    {
                        result.Add(new SpecificationAttributeOptionFilter
                        {
                            SpecificationAttributeID   = sa.SpecificationAttributeID,
                            SpecificationAttributeName = sa.Name,
                            DisplayOrder = sa.DisplayOrder,
                            SpecificationAttributeOptionID   = sao.SpecificationAttributeOptionID,
                            SpecificationAttributeOptionName = sao.Name
                        });
                    }
                }
            }

            return(result);
        }
        protected SpecificationAttributeOptionFilterCollection getNotFilteredSpecs()
        {
            //get all
            SpecificationAttributeOptionFilterCollection result = SpecificationAttributeManager.GetSpecificationAttributeOptionFilter(this.CategoryID);

            //remove already filtered
            SpecificationAttributeOptionFilterCollection alreadyFilteredOptions = getAlreadyFilteredSpecs();

            foreach (SpecificationAttributeOptionFilter saof1 in alreadyFilteredOptions)
            {
                var query = from s
                            in result
                            where s.SpecificationAttributeID == saof1.SpecificationAttributeID
                            select s;

                List <SpecificationAttributeOptionFilter> toRemove = query.ToList();

                foreach (SpecificationAttributeOptionFilter saof2 in toRemove)
                {
                    result.Remove(saof2);
                }
            }

            result.RemoveAll(x => excludeFilteredOptions.Contains(x.SpecificationAttributeName.ToLower()));
            result.Sort(new SpecificationAttributeOptionFilterComparer());
            return(result);
        }
Example #3
0
        void BindGrid()
        {
            var specificationAttributes = SpecificationAttributeManager.GetSpecificationAttributes();

            gvSpecificationAttributes.DataSource = specificationAttributes;
            gvSpecificationAttributes.DataBind();
        }
 protected void AddButton_Click(object sender, EventArgs e)
 {
     if (Page.IsValid && IsValidUpload())
     {
         try
         {
             SpecificationAttributeOption sao = null;
             if (IsColor)
             {
                 int colorArgb = -1;
                 if (!String.IsNullOrEmpty(txtColorArgb.Text))
                 {
                     colorArgb = Int32.Parse(txtColorArgb.Text, System.Globalization.NumberStyles.AllowHexSpecifier);
                 }
                 ColorManager.InsertColor(txtNewOptionName.Text, colorArgb);
                 ColorItem colorItem = ColorManager.GetColorByColorName(txtNewOptionName.Text);
                 Upload(colorItem);
             }
             sao = SpecificationAttributeManager.InsertSpecificationAttributeOption(SpecificationAttributeID, txtNewOptionName.Text, txtNewOptionDisplayOrder.Value);
             Response.Redirect("SpecificationAttributeDetails.aspx?SpecificationAttributeID=" + sao.SpecificationAttributeID.ToString());
         }
         catch (Exception exc)
         {
             ProcessException(exc);
         }
     }
 }
        protected List <SpecificationAttributeOptionFilter> getAlreadyFilteredSpecs()
        {
            var result = new List <SpecificationAttributeOptionFilter>();

            string[] queryStringParams = getAlreadyFilteredSpecsQueryStringParams();
            foreach (string qsp in queryStringParams)
            {
                int id = 0;
                int.TryParse(Request.QueryString[qsp], out id);
                var sao = SpecificationAttributeManager.GetSpecificationAttributeOptionById(id);
                if (sao != null)
                {
                    var sa = sao.SpecificationAttribute;
                    if (sa != null)
                    {
                        result.Add(new SpecificationAttributeOptionFilter
                        {
                            SpecificationAttributeId   = sa.SpecificationAttributeId,
                            SpecificationAttributeName = sa.LocalizedName,
                            DisplayOrder = sa.DisplayOrder,
                            SpecificationAttributeOptionId   = sao.SpecificationAttributeOptionId,
                            SpecificationAttributeOptionName = sao.LocalizedName
                        });
                    }
                }
            }

            return(result);
        }
        protected void gvProductSpecificationAttributes_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "UpdateProductSpecificationAttribute")
            {
                int         index = Convert.ToInt32(e.CommandArgument);
                GridViewRow row   = gvProductSpecificationAttributes.Rows[index];

                HiddenField    hfProductSpecificationAttributeId = row.FindControl("hfProductSpecificationAttributeId") as HiddenField;
                Literal        lblSpecificationAttributeName     = row.FindControl("lblSpecificationAttributeName") as Literal;
                DropDownList   ddlSpecificationAttributeOption   = row.FindControl("ddlSpecificationAttributeOption") as DropDownList;
                CheckBox       chkAllowFiltering    = row.FindControl("chkAllowFiltering") as CheckBox;
                CheckBox       chkShowOnProductPage = row.FindControl("chkShowOnProductPage") as CheckBox;
                NumericTextBox txtProductSpecificationAttributeDisplayOrder = row.FindControl("txtProductSpecificationAttributeDisplayOrder") as NumericTextBox;

                int productSpecificationAttributeId = int.Parse(hfProductSpecificationAttributeId.Value);
                int saoId        = int.Parse(ddlSpecificationAttributeOption.SelectedItem.Value);
                int displayOrder = txtProductSpecificationAttributeDisplayOrder.Value;

                ProductSpecificationAttribute productSpecificationAttribute = SpecificationAttributeManager.GetProductSpecificationAttributeById(productSpecificationAttributeId);

                if (productSpecificationAttribute != null)
                {
                    SpecificationAttributeManager.UpdateProductSpecificationAttribute(
                        productSpecificationAttribute.ProductSpecificationAttributeId,
                        productSpecificationAttribute.ProductId,
                        saoId,
                        chkAllowFiltering.Checked,
                        chkShowOnProductPage.Checked,
                        displayOrder);
                }

                BindData();
            }
        }
Example #7
0
        public static SpecificationAttribute GetColorSpecificationAttribute()
        {
            SpecificationAttributeCollection sa            = SpecificationAttributeManager.GetSpecificationAttributes();
            SpecificationAttribute           specAttribute = sa.Find(x => x.Name.ToLower() == Color);

            return(specAttribute);
        }
        private void BindData()
        {
            Product product = ProductManager.GetProductById(this.ProductId);

            if (product != null)
            {
                pnlData.Visible    = true;
                pnlMessage.Visible = false;

                var productSpecificationAttributes = SpecificationAttributeManager.GetProductSpecificationAttributesByProductId(product.ProductId);
                if (productSpecificationAttributes.Count > 0)
                {
                    gvProductSpecificationAttributes.Visible    = true;
                    gvProductSpecificationAttributes.DataSource = productSpecificationAttributes;
                    gvProductSpecificationAttributes.DataBind();
                }
                else
                {
                    gvProductSpecificationAttributes.Visible = false;
                }
            }
            else
            {
                pnlData.Visible    = false;
                pnlMessage.Visible = true;
            }
        }
        protected void OnSpecificationAttributeOptionsDeleting(object sender, GridViewDeleteEventArgs e)
        {
            int saoId = (int)grdSpecificationAttributeOptions.DataKeys[e.RowIndex]["SpecificationAttributeOptionId"];

            SpecificationAttributeManager.DeleteSpecificationAttributeOption(saoId);
            BindData();
        }
        private void FillDesignVariants()
        {
            SpecificationAttributeCollection       sa   = SpecificationAttributeManager.GetSpecificationAttributes();
            SpecificationAttributeOptionCollection saoc = SpecificationAttributeManager.GetSpecificationAttributeOptions();

            FillDropDownList(this.light, sa, saoc, "требование к освещению");
            SetSelectedIndexes();
        }
Example #11
0
        protected void SaveLocalizableContent(SpecificationAttributeOption sao)
        {
            if (sao == null)
            {
                return;
            }

            if (!this.HasLocalizableContent)
            {
                return;
            }

            foreach (GridViewRow row in grdSpecificationAttributeOptions.Rows)
            {
                Repeater rptrLanguageDivs2 = row.FindControl("rptrLanguageDivs2") as Repeater;
                if (rptrLanguageDivs2 != null)
                {
                    HiddenField hfSpecificationAttributeOptionId = row.FindControl("hfSpecificationAttributeOptionId") as HiddenField;
                    int         saoId = int.Parse(hfSpecificationAttributeOptionId.Value);
                    if (saoId == sao.SpecificationAttributeOptionId)
                    {
                        foreach (RepeaterItem item in rptrLanguageDivs2.Items)
                        {
                            if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
                            {
                                var txtLocalizedOptionName = (TextBox)item.FindControl("txtLocalizedOptionName");
                                var lblLanguageId          = (Label)item.FindControl("lblLanguageId");

                                int    languageId = int.Parse(lblLanguageId.Text);
                                string name       = txtLocalizedOptionName.Text;

                                bool allFieldsAreEmpty = string.IsNullOrEmpty(name);

                                var content = SpecificationAttributeManager.GetSpecificationAttributeOptionLocalizedBySpecificationAttributeOptionIdAndLanguageId(sao.SpecificationAttributeOptionId, languageId);
                                if (content == null)
                                {
                                    if (!allFieldsAreEmpty && languageId > 0)
                                    {
                                        //only insert if one of the fields are filled out (avoid too many empty records in db...)
                                        content = SpecificationAttributeManager.InsertSpecificationAttributeOptionLocalized(sao.SpecificationAttributeOptionId,
                                                                                                                            languageId, name);
                                    }
                                }
                                else
                                {
                                    if (languageId > 0)
                                    {
                                        content = SpecificationAttributeManager.UpdateSpecificationAttributeOptionLocalized(content.SpecificationAttributeOptionLocalizedId,
                                                                                                                            content.SpecificationAttributeOptionId, languageId, name);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Example #12
0
        private void FillDesignVariants()
        {
            SpecificationAttributeCollection       sa   = SpecificationAttributeManager.GetSpecificationAttributes();
            SpecificationAttributeOptionCollection saoc = SpecificationAttributeManager.GetSpecificationAttributeOptions();

            FillDropDownList(this.flowers, sa, saoc, "по основным цветам");
            FillDropDownList(this.bunchForm, sa, saoc, "форма букета");
            SetSelectedIndexes();
        }
        protected void gvProductSpecificationAttributes_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            int productSpecificationAttributeId = (int)gvProductSpecificationAttributes.DataKeys[e.RowIndex]["ProductSpecificationAttributeId"];
            ProductSpecificationAttribute productSpecificationAttribute = SpecificationAttributeManager.GetProductSpecificationAttributeById(productSpecificationAttributeId);

            if (productSpecificationAttribute != null)
            {
                SpecificationAttributeManager.DeleteProductSpecificationAttribute(productSpecificationAttribute.ProductSpecificationAttributeId);
                BindData();
            }
        }
 protected void DeleteButton_Click(object sender, EventArgs e)
 {
     try
     {
         SpecificationAttributeManager.DeleteSpecificationAttribute(this.SpecificationAttributeID);
         Response.Redirect("SpecificationAttributes.aspx");
     }
     catch (Exception exc)
     {
         ProcessException(exc);
     }
 }
        protected void OnSpecificationAttributeIndexChanged(object sender, EventArgs e)
        {
            ddlNewProductSpecificationAttributeOption.Items.Clear();
            int saId = Convert.ToInt32(ddlNewProductSpecificationAttribute.SelectedValue.ToString());
            SpecificationAttributeOptionCollection saoCol = SpecificationAttributeManager.GetSpecificationAttributeOptionsBySpecificationAttribute(saId);

            foreach (SpecificationAttributeOption sao in saoCol)
            {
                ListItem item2 = new ListItem(sao.Name, sao.SpecificationAttributeOptionId.ToString());
                this.ddlNewProductSpecificationAttributeOption.Items.Add(item2);
            }
        }
Example #16
0
        private void FillDesignVariants()
        {
            SpecificationAttributeCollection       sa   = SpecificationAttributeManager.GetSpecificationAttributes();
            SpecificationAttributeOptionCollection saoc = SpecificationAttributeManager.GetSpecificationAttributeOptions();

            FillDropDownList(this.visoutDesign, sa, saoc, "оформление без оформления");
            FillDropDownList(this.wrapping, sa, saoc, "оформление упаковка");
            FillDropDownList(this.bunch, sa, saoc, "оформление букет");
            FillDropDownList(this.composition, sa, saoc, "оформление композиция");

            SetSelectedIndexes();
        }
Example #17
0
        protected void OnSpecificationAttributeOptionsDeleting(object sender, GridViewDeleteEventArgs e)
        {
            int saoID = (int)grdSpecificationAttributeOptions.DataKeys[e.RowIndex]["SpecificationAttributeOptionID"];
            SpecificationAttributeOption sao = SpecificationAttributeManager.GetSpecificationAttributeOptionByID(saoID);

            if (sao != null)
            {
                SpecificationAttributeManager.DeleteSpecificationAttributeOption(sao.SpecificationAttributeOptionID);
                string paletteFolderPath = Server.MapPath("~/images/palette/");
                ColorManager.DeleteColor(sao.Name, paletteFolderPath);
                BindData();
            }
        }
Example #18
0
        private void BindData()
        {
            SpecificationAttribute specificationAttribute = SpecificationAttributeManager.GetSpecificationAttributeByID(this.SpecificationAttributeID);

            if (specificationAttribute != null)
            {
                this.txtName.Text          = specificationAttribute.Name;
                this.txtDisplayOrder.Value = specificationAttribute.DisplayOrder;
            }

            SpecificationAttributeOptionCollection saoCol = SpecificationAttributeManager.GetSpecificationAttributeOptionsBySpecificationAttribute(SpecificationAttributeID);

            grdSpecificationAttributeOptions.DataSource = saoCol;
            grdSpecificationAttributeOptions.DataBind();
        }
 protected void AddButton_Click(object sender, EventArgs e)
 {
     if (Page.IsValid)
     {
         try
         {
             SpecificationAttributeOption sao = SpecificationAttributeManager.InsertSpecificationAttributeOption(SpecificationAttributeId, txtNewOptionName.Text, txtNewOptionDisplayOrder.Value);
             SaveLocalizableContent(sao);
             Response.Redirect("SpecificationAttributeDetails.aspx?SpecificationAttributeID=" + sao.SpecificationAttributeId.ToString());
         }
         catch (Exception exc)
         {
             ProcessException(exc);
         }
     }
 }
Example #20
0
        public SpecificationAttribute SaveInfo()
        {
            SpecificationAttribute specificationAttribute = SpecificationAttributeManager.GetSpecificationAttributeByID(this.SpecificationAttributeID);

            if (specificationAttribute != null)
            {
                specificationAttribute = SpecificationAttributeManager.UpdateSpecificationAttribute(specificationAttribute.SpecificationAttributeID, txtName.Text, txtDisplayOrder.Value);
                ColorManager.UpdateColor(specificationAttribute.Name, txtName.Text);
            }
            else
            {
                specificationAttribute = SpecificationAttributeManager.InsertSpecificationAttribute(txtName.Text, txtDisplayOrder.Value);
            }

            return(specificationAttribute);
        }
Example #21
0
        public static List <ColorItem> GetColorsBySAOID(List <int> specificationAttributeOptionIDs)
        {
            List <ColorItem> colors = new List <ColorItem>();

            foreach (var id in specificationAttributeOptionIDs)
            {
                SpecificationAttributeOption sao = SpecificationAttributeManager.GetSpecificationAttributeOptionByID(id);
                ColorItem colorItem = ColorManager.GetColorByColorName(sao.Name);
                if (colorItem != null)
                {
                    colors.Add(colorItem);
                }
            }

            return(colors);
        }
Example #22
0
        public SpecificationAttribute SaveInfo()
        {
            SpecificationAttribute specificationAttribute = SpecificationAttributeManager.GetSpecificationAttributeById(this.SpecificationAttributeId, 0);

            if (specificationAttribute != null)
            {
                specificationAttribute = SpecificationAttributeManager.UpdateSpecificationAttribute(specificationAttribute.SpecificationAttributeId, txtName.Text, txtDisplayOrder.Value);
            }
            else
            {
                specificationAttribute = SpecificationAttributeManager.InsertSpecificationAttribute(txtName.Text, txtDisplayOrder.Value);
            }

            SaveLocalizableContent(specificationAttribute);

            return(specificationAttribute);
        }
Example #23
0
        protected void rptrLanguageDivs_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                var txtLocalizedName = (TextBox)e.Item.FindControl("txtLocalizedName");
                var lblLanguageId    = (Label)e.Item.FindControl("lblLanguageId");

                int languageId = int.Parse(lblLanguageId.Text);

                var content = SpecificationAttributeManager.GetSpecificationAttributeLocalizedBySpecificationAttributeIdAndLanguageId(this.SpecificationAttributeId, languageId);

                if (content != null)
                {
                    txtLocalizedName.Text = content.Name;
                }
            }
        }
Example #24
0
        protected void SaveLocalizableContent(SpecificationAttribute specificationAttribute)
        {
            if (specificationAttribute == null)
            {
                return;
            }

            if (!this.HasLocalizableContent)
            {
                return;
            }

            foreach (RepeaterItem item in rptrLanguageDivs.Items)
            {
                if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
                {
                    var txtLocalizedName = (TextBox)item.FindControl("txtLocalizedName");
                    var lblLanguageId    = (Label)item.FindControl("lblLanguageId");

                    int    languageId = int.Parse(lblLanguageId.Text);
                    string name       = txtLocalizedName.Text;

                    bool allFieldsAreEmpty = string.IsNullOrEmpty(name);

                    var content = SpecificationAttributeManager.GetSpecificationAttributeLocalizedBySpecificationAttributeIdAndLanguageId(specificationAttribute.SpecificationAttributeId, languageId);
                    if (content == null)
                    {
                        if (!allFieldsAreEmpty && languageId > 0)
                        {
                            //only insert if one of the fields are filled out (avoid too many empty records in db...)
                            content = SpecificationAttributeManager.InsertSpecificationAttributeLocalized(specificationAttribute.SpecificationAttributeId,
                                                                                                          languageId, name);
                        }
                    }
                    else
                    {
                        if (languageId > 0)
                        {
                            content = SpecificationAttributeManager.UpdateSpecificationAttributeLocalized(content.SpecificationAttributeLocalizedId, content.SpecificationAttributeId,
                                                                                                          languageId, name);
                        }
                    }
                }
            }
        }
        private void BindData()
        {
            var specificationAttribute = SpecificationAttributeManager.GetSpecificationAttributeById(this.SpecificationAttributeId);

            if (this.HasLocalizableContent)
            {
                var languages = this.GetLocalizableLanguagesSupported();
                rptrLanguageTabs.DataSource = languages;
                rptrLanguageTabs.DataBind();
                rptrLanguageDivs.DataSource = languages;
                rptrLanguageDivs.DataBind();
            }

            if (specificationAttribute != null)
            {
                this.txtName.Text          = specificationAttribute.Name;
                this.txtDisplayOrder.Value = specificationAttribute.DisplayOrder;
            }
        }
Example #26
0
        protected void rptrLanguageDivs2_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                var txtLocalizedOptionName           = (TextBox)e.Item.FindControl("txtLocalizedOptionName");
                var lblLanguageId                    = (Label)e.Item.FindControl("lblLanguageId");
                var hfSpecificationAttributeOptionId = (HiddenField)e.Item.Parent.Parent.FindControl("hfSpecificationAttributeOptionId");

                int languageId = int.Parse(lblLanguageId.Text);
                int saoId      = Convert.ToInt32(hfSpecificationAttributeOptionId.Value);
                SpecificationAttributeOption sao = SpecificationAttributeManager.GetSpecificationAttributeOptionById(saoId, 0);
                if (sao != null)
                {
                    var content = SpecificationAttributeManager.GetSpecificationAttributeOptionLocalizedBySpecificationAttributeOptionIdAndLanguageId(saoId, languageId);
                    if (content != null)
                    {
                        txtLocalizedOptionName.Text = content.Name;
                    }
                }
            }
        }
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            try
            {
                var specificationAttribute = SpecificationAttributeManager.GetSpecificationAttributeById(this.SpecificationAttributeId);
                if (specificationAttribute != null)
                {
                    var sao = SpecificationAttributeManager.InsertSpecificationAttributeOption(specificationAttribute.SpecificationAttributeId,
                                                                                               txtNewOptionName.Text, txtNewOptionDisplayOrder.Value);

                    SaveLocalizableContent(sao);

                    string url = string.Format("SpecificationAttributeDetails.aspx?SpecificationAttributeID={0}&TabID={1}", specificationAttribute.SpecificationAttributeId, "pnlOptions");
                    Response.Redirect(url);
                }
            }
            catch (Exception exc)
            {
                processAjaxError(exc);
            }
        }
        protected void DeleteButton_Click(object sender, EventArgs e)
        {
            try
            {
                SpecificationAttribute specificationAttribute = SpecificationAttributeManager.GetSpecificationAttributeById(this.SpecificationAttributeId);
                if (specificationAttribute != null)
                {
                    SpecificationAttributeManager.DeleteSpecificationAttribute(this.SpecificationAttributeId);

                    CustomerActivityManager.InsertActivity(
                        "DeleteSpecAttribute",
                        GetLocaleResourceString("ActivityLog.DeleteSpecAttribute"),
                        specificationAttribute.Name);
                }

                Response.Redirect("SpecificationAttributes.aspx");
            }
            catch (Exception exc)
            {
                ProcessException(exc);
            }
        }
        private void FillDropDowns()
        {
            this.ddlNewProductSpecificationAttribute.Items.Clear();
            var productSpecificationAttributes = SpecificationAttributeManager.GetSpecificationAttributes();

            foreach (SpecificationAttribute sa in productSpecificationAttributes)
            {
                ListItem item2 = new ListItem(sa.Name, sa.SpecificationAttributeId.ToString());
                this.ddlNewProductSpecificationAttribute.Items.Add(item2);
            }

            ddlNewProductSpecificationAttributeOption.Items.Clear();
            if (!String.IsNullOrEmpty(ddlNewProductSpecificationAttribute.SelectedValue))
            {
                int saId   = Convert.ToInt32(ddlNewProductSpecificationAttribute.SelectedValue.ToString());
                var saoCol = SpecificationAttributeManager.GetSpecificationAttributeOptionsBySpecificationAttribute(saId);
                foreach (SpecificationAttributeOption sao in saoCol)
                {
                    ListItem item2 = new ListItem(sao.Name, sao.SpecificationAttributeOptionId.ToString());
                    this.ddlNewProductSpecificationAttributeOption.Items.Add(item2);
                }
            }
        }
        protected void BindData()
        {
            var product = ProductManager.GetProductById(this.ProductId);

            if (product != null)
            {
                var productSpecificationAttributes = SpecificationAttributeManager.GetProductSpecificationAttributesByProductId(product.ProductId, null, true);
                if (productSpecificationAttributes.Count > 0)
                {
                    this.Visible = true;
                    rptrProductSpecification.DataSource = productSpecificationAttributes;
                    rptrProductSpecification.DataBind();
                }
                else
                {
                    this.Visible = false;
                }
            }
            else
            {
                this.Visible = false;
            }
        }