Exemplo n.º 1
0
        protected void gvBrands_PreRender(object sender, EventArgs e)
        {
            var brandId = GetIntState(BRAND_ID);

            PopulateBrandInfo(brandId);

            if (GetIntState(BRAND_ID) == -1)
            {
                lbDeleteBrand.Visible = false;
                ltlTitle.Text         = "New Brand";
                //hfCurrentPanel.Value = "general";
            }
            else
            {
                var brand = BrandService.GetBrandById(brandId);
                lbDeleteBrand.Visible = true;
                ltlTitle.Text         = string.Format("{0} (ID: {1}) {2} {3}",
                                                      brand.Name,
                                                      brand.Id,
                                                      string.Format("<a href='{0}' target='_blank'><i class='fa fa-external-link' aria-hidden='true'></i></a>", AdminStoreUtility.GetBrandUrl(brand.UrlRewrite)),
                                                      brand.Enabled ? null : "<i class='fa fa-eye-slash' aria-hidden='true' title='offline'></i>");
            }

            if (GetIntState(DISPLAY) == VIEW_PRODUCT)
            {
                hfCurrentPanel.Value = "products";
            }

            if (gvBrands.TopPagerRow != null)
            {
                gvBrands.TopPagerRow.Visible = true;
                ((TextBox)gvBrands.HeaderRow.FindControl("txtBrandFilterId")).Text   = GetStringState(BRAND_ID_FILTER);
                ((TextBox)gvBrands.HeaderRow.FindControl("txtBrandFilterName")).Text = GetStringState(BRAND_NAME_FILTER);
            }
        }
Exemplo n.º 2
0
        private void Populate(TreeNode node)
        {
            if (BrandId != 0)
            {
                IList <BrandCategory> brandCategories = new List <BrandCategory>();

                if (node.Value == ROOT_INDEX.ToString())
                {
                    node.Text       = BrandService.GetBrandById(BrandId).Name;
                    brandCategories = BrandService.GetBrandCategoriesByBrandParent(BrandId, ROOT_INDEX);
                }
                else
                {
                    brandCategories = BrandService.GetBrandCategoriesByParentId(Convert.ToInt32(node.Value));
                }

                if (brandCategories.Count > 0)
                {
                    PopulateCategories(node, brandCategories);
                }
                else
                {
                    node.SelectAction = TreeNodeSelectAction.Select;
                }
            }
        }
Exemplo n.º 3
0
        public JsonResult GetBrand(string bid)
        {
            long        brandid = bid.ToLong(0);
            BrandEntity result  = BrandService.GetBrandById(brandid) ?? new BrandEntity();

            return(Json(result));
        }
Exemplo n.º 4
0
        private void PopulateBrandInfo(int brandId)
        {
            SetState(BRAND_ID, brandId);
            Brand brand = BrandService.GetBrandById(brandId);

            if (brand != null)
            {
                SetState(BRAND_NAME, brand.Name);

                txtName.Text = Server.HtmlDecode(brand.Name);

                if (brand.FlashImage == string.Empty)
                {
                    imgLogo.Visible      = false;
                    fuLogo.Visible       = true;
                    cbRemoveLogo.Visible = false;
                }
                else
                {
                    imgLogo.Src          = "/get_image_handler.aspx?type=brand&img=" + brand.FlashImage;
                    imgLogo.Alt          = brand.FlashImage;
                    imgLogo.Visible      = true;
                    fuLogo.Visible       = false;
                    cbRemoveLogo.Visible = true;
                }

                txtDesc.Text         = brand.Description;
                txtUrlKey.Text       = brand.UrlRewrite;
                cbMicrosite.Checked  = brand.HasMicrosite;
                txtMetaDesc.Text     = brand.MetaDescription;
                txtMetaTitle.Text    = brand.MetaTitle;
                txtMetaKeywords.Text = brand.MetaKeywords;

                ddlDelivery.SelectedIndex = -1;
                ddlDelivery.Items.FindByValue(brand.Delivery.Id.ToString()).Selected = true;
                cbEnforceStockCount.Checked = brand.EnforceStockCount;
                cbEnabled.Checked           = brand.Enabled;

                gvBanners.DataSource = brand.BrandMedias;
                gvBanners.DataBind();

                LoadNewFeaturedProducts();
            }

            if (brandId == AppConstant.DEFAULT_BRAND)
            {
                SetState(MODE, NEW);
                SetState(CHOSEN_FILTER, ANY);
                lbSaveImage.Enabled = false;
            }
            else
            {
                SetState(MODE, EDIT);
                SetState(CHOSEN_FILTER, YES);
                lbSaveImage.Enabled = true;
            }

            LoadProducts();
        }
Exemplo n.º 5
0
        public void Get_Brand_By_Id()
        {
            var brandContextMock = new Mock <DB.Interface.IDatabaseService>();

            brandContextMock.Setup(x => x.Brands).Returns(brandMock.Object);
            BrandService brandService = new BrandService(brandContextMock.Object);
            var          brand        = brandService.GetBrandById(1);

            Assert.IsTrue(brand.ID == 1);
        }
Exemplo n.º 6
0
        public void GetBrandById_InvalidId_ExpectArgumentException(int ID)
        {
            // arrange
            BrandService service = new BrandService(repoMock.Object, validatorMock.Object);

            // act + assert
            var ex = Assert.Throws <ArgumentException>(() => service.GetBrandById(ID));

            Assert.Equal("Incorrect ID entered", ex.Message);
            repoMock.Verify(repo => repo.ReadBrandById(It.Is <int>(id => id == ID)), Times.Never);
        }
Exemplo n.º 7
0
        protected string FindFeaturedItemPriority(int productId, int brandId)
        {
            var matchingFeaturedItem = new BrandFeaturedItem();
            var brand = BrandService.GetBrandById(brandId);

            if (brand != null)
            {
                matchingFeaturedItem = brand.FeaturedItems.Where(x => x.ProductId == productId && x.BrandId == brandId).FirstOrDefault();
            }

            return((matchingFeaturedItem != null) ? matchingFeaturedItem.Priority.ToString() : string.Empty);
        }
        public IActionResult Get(int id)
        {
            var brand = _brandService.GetBrandById(id);

            if (brand == null)
            {
                return(NotFound($"Unfortunately no brand found with id: {id}"));
            }
            else
            {
                return(Ok(brand));
            }
        }
Exemplo n.º 9
0
        protected void Page_PreRender(object sender, EventArgs e)
        {
            if (grid.UpdatedRow != null)
            {
                int sort = 0;
                int.TryParse(grid.UpdatedRow["SortOrder"], out sort);
                Brand brand = BrandService.GetBrandById(SQLDataHelper.GetInt(grid.UpdatedRow["ID"]));
                brand.Name      = grid.UpdatedRow["BrandName"];
                brand.Enabled   = SQLDataHelper.GetBoolean(grid.UpdatedRow["Enabled"]);
                brand.SortOrder = sort;
                BrandService.UpdateBrand(brand);
            }

            DataTable data = _paging.PageItems;

            while (data.Rows.Count < 1 && _paging.CurrentPageIndex > 1)
            {
                _paging.CurrentPageIndex--;
                data = _paging.PageItems;
            }

            var clmn = new DataColumn("IsSelected", typeof(bool))
            {
                DefaultValue = _inverseSelection
            };

            data.Columns.Add(clmn);
            if ((_selectionFilter != null) && (_selectionFilter.Values != null))
            {
                for (int i = 0; i <= data.Rows.Count - 1; i++)
                {
                    var intIndex = i;
                    if (Array.Exists(_selectionFilter.Values, c => c == (data.Rows[intIndex]["ID"]).ToString()))
                    {
                        data.Rows[i]["IsSelected"] = !_inverseSelection;
                    }
                }
            }

            if (data.Rows.Count < 1)
            {
                goToPage.Visible = false;
            }

            grid.DataSource = data;
            grid.DataBind();

            pageNumberer.PageCount = _paging.PageCount;
            lblFound.Text          = _paging.TotalRowsCount.ToString();
        }
Exemplo n.º 10
0
        public ActionResult Edit(string bid)
        {
            ViewBag.MaxPicCount = 1;
            if (!string.IsNullOrEmpty(bid))
            {
                ViewBag.Brand = BrandService.GetBrandById(bid.ToLong(0));
            }
            else
            {
                ViewBag.Brand = new BrandEntity();
            }

            return(View());
        }
Exemplo n.º 11
0
    protected void Page_PreRender(object sender, EventArgs e)
    {
        var brand = popUpBrand.SelectBrandId != 0 ? BrandService.GetBrandById(popUpBrand.SelectBrandId) : null;

        lBrand.Text           = brand != null ? brand.Name : Resource.Admin_Product_NotSelected;
        ibRemoveBrand.Visible = popUpBrand.SelectBrandId != 0;

        if (!AddingNewProduct)
        {
            aToClient.HRef    = "../" + UrlService.GetLinkDB(ParamType.Product, ProductId);
            aToClient.Visible = true;
        }
        else
        {
            aToClient.Visible = false;
        }
    }
Exemplo n.º 12
0
        protected bool ProductIsFeaturedInBrand(int productId, int brandId)
        {
            var featuredItemType = Convert.ToInt32(ddlFeaturedItemTypeFilter.SelectedValue);
            var brand            = BrandService.GetBrandById(brandId);

            if (brand != null)
            {
                return(brand.FeaturedItems.Where(x => x.ProductId == productId)
                       .Where(x => x.BrandId == brandId)
                       .Where(x => x.FeaturedItemType == featuredItemType)
                       .Count() > 0);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 13
0
        public void GetBrandById_BrandExists()
        {
            // arrange

            Brand brand = new Brand {
                ID = 1
            };

            brandDatabase.Add(brand.ID, brand);

            BrandService service = new BrandService(repoMock.Object, validatorMock.Object);

            // act
            var result = service.GetBrandById(brand.ID);

            // assert
            Assert.Equal(brand, result);
            repoMock.Verify(repo => repo.ReadBrandById(It.Is <int>(id => id == brand.ID)), Times.Once);
        }
Exemplo n.º 14
0
        public void GetBrandById_BrandDoesNotExist_ExpectNull()
        {
            // arrange
            var brand1 = new Brand {
                ID = 1
            };
            var brand2 = new Brand {
                ID = 2
            };

            brandDatabase.Add(brand2.ID, brand2);

            BrandService service = new BrandService(repoMock.Object, validatorMock.Object);

            // act
            var result = service.GetBrandById(brand1.ID);

            // assert
            Assert.Null(result);
            repoMock.Verify(repo => repo.ReadBrandById(It.Is <int>(ID => ID == brand1.ID)), Times.Once);
        }
Exemplo n.º 15
0
        protected void Page_PreRender(object sender, EventArgs e)
        {
            var brand = popUpBrand.SelectBrandId != 0 ? BrandService.GetBrandById(popUpBrand.SelectBrandId) : null;

            lBrand.Text           = brand != null ? brand.Name : Resource.Admin_Product_NotSelected;
            ibRemoveBrand.Visible = popUpBrand.SelectBrandId != 0;

            if (!AddingNewProduct)
            {
                aToClient.HRef    = "../" + UrlService.GetLinkDB(ParamType.Product, ProductId);
                aToClient.Visible = true;
            }
            else
            {
                aToClient.Visible = false;
            }

            if (ProductId != 0)
            {
                var listDetailsTabs = new List <ITab>();

                foreach (var detailsTabsModule in AttachedModules.GetModules <IProductTabs>())
                {
                    var classInstance = (IProductTabs)Activator.CreateInstance(detailsTabsModule, null);
                    if (ModulesRepository.IsActiveModule(classInstance.ModuleStringId) && classInstance.CheckAlive())
                    {
                        listDetailsTabs.AddRange(classInstance.GetProductTabsCollection(ProductId));
                    }
                }

                lvTabBodies.DataSource = listDetailsTabs;
                lvTabTitles.DataSource = listDetailsTabs;

                lvTabBodies.DataBind();
                lvTabTitles.DataBind();
            }
        }
Exemplo n.º 16
0
        protected void LoadBrandById(int brandId)
        {
            Brand brand = BrandService.GetBrandById(brandId);

            if (brand == null)
            {
                MsgErr(Resource.Admin_m_Brand_ErrorLoadingBrand);
                return;
            }
            txtURL.Text = brand.UrlPath;

            txtName.Text = brand.Name;

            if (brand.BrandLogo != null)
            {
                lblLogo.Text     = brand.BrandLogo.PhotoName;
                pnlLogo.Visible  = true;
                imgLogo.ImageUrl = FoldersHelper.GetPath(FolderType.BrandLogo, brand.BrandLogo.PhotoName, true);
                imgLogo.ToolTip  = brand.BrandLogo.PhotoName;
            }
            else
            {
                lblLogo.Text    = @"No picture";
                pnlLogo.Visible = false;
            }

            txtSortOrder.Text        = brand.SortOrder.ToString(CultureInfo.InvariantCulture);
            FCKDescription.Text      = brand.Description;
            FCKBriefDescription.Text = brand.BriefDescription;
            chkEnabled.Checked       = brand.Enabled;
            txtHeadTitle.Text        = brand.Meta.Title;
            txtH1.Text               = brand.Meta.H1;
            txtMetaKeys.Text         = brand.Meta.MetaKeywords;
            txtMetaDescription.Text  = brand.Meta.MetaDescription;
            txtBrandSiteUrl.Text     = brand.BrandSiteUrl;
            ddlCountry.SelectedValue = brand.CountryId.ToString(CultureInfo.InvariantCulture);
        }
Exemplo n.º 17
0
        protected void lbSaveMetaBrand_Click(object sender, EventArgs e)
        {
            var brandId = GetIntState(BRAND_ID);
            var brand   = BrandService.GetBrandById(brandId);

            if (brand != null)
            {
                brand.MetaTitle         = txtMetaTitle.Text.Trim();
                brand.MetaDescription   = txtMetaDesc.Text.Trim();
                brand.MetaKeywords      = txtMetaKeywords.Text.Trim();
                brand.SecondaryKeywords = txtSecondaryKeywords.Text.Trim();

                BrandService.UpdateBrand(brand);

                enbNotice.Message = "Brand metadata was updated successfully.";
            }
            else
            {
                enbNotice.Message = "Sorry, there is no such brand.";
            }

            LoadProducts();
            hfCurrentPanel.Value = "meta";
        }
Exemplo n.º 18
0
 public Brand GetBrandById(int BrandId)
 {
     return(bs.GetBrandById(BrandId));
 }
Exemplo n.º 19
0
        public static void SaveProductsToCsv(string path, Encodings.EncodingsEnum encodeType, Separators.SeparatorsEnum delimetr, List <ProductFields.Fields> fieldMapping)
        {
            using (var writer = new CsvHelper.CsvWriter(new StreamWriter(path, false, Encodings.GetEncoding(encodeType))))
            {
                writer.Configuration.Delimiter = Separators.GetCharSeparator(delimetr);
                //var fields = new List<string> { "SKU", "Name*", "ParamSynonym", "Category", "Enabled*", "Price*", "PurchasePrice*", "Amount*", "Unit", "Discount", "ShippingPrice", "Weight", "Size", "BriefDescription", "Description" };
                //foreach (var item in fields)
                //    writer.WriteField(item);
                foreach (var item in fieldMapping)
                {
                    writer.WriteField(ProductFields.GetStringNameByEnum(item));
                }
                writer.NextRecord();
                var items = ProductService.GetProducts();
                if (items == null)
                {
                    return;
                }
                var regex = new Regex("^[0-9]+$");
                for (int j = 0; j < items.Count; j++)
                {
                    var product = items[j];
                    if (!ExportStatistic.IsRun)
                    {
                        return;
                    }
                    var offer = product.Offers.FirstOrDefault() ?? new Offer {
                        Amount = 0, Price = 0, SupplyPrice = 0, Unit = "", ShippingPrice = 0
                    };
                    var meta = MetaInfoService.GetMetaInfo(product.ID, MetaType.Product) ??
                               new MetaInfo(0, 0, MetaType.Product, string.Empty, string.Empty, string.Empty);
                    for (int i = 0; i < fieldMapping.Count; i++)
                    {
                        var item = fieldMapping[i];
                        //Changed by Evgeni to insert dotes
                        if (item == ProductFields.Fields.Sku)
                        {
                            string art = product.ArtNo;
                            //if (art.Contains("-") == false && art.Length > 7)
                            // {
                            //     art = art.Insert(7, ".").Insert(4, ".").Insert(1, ".");
                            // }
                            //
                            writer.WriteField(art);
                            // writer.WriteField(product.ArtNo);
                        }
                        //
                        if (item == ProductFields.Fields.Name)
                        {
                            writer.WriteField(product.Name);
                        }
                        if (item == ProductFields.Fields.ParamSynonym)
                        {
                            if (regex.IsMatch(product.UrlPath))
                            {
                                writer.WriteField("IPD" + product.UrlPath);
                            }
                            else
                            {
                                writer.WriteField(product.UrlPath);
                            }
                        }
                        if (item == ProductFields.Fields.Category)
                        {
                            writer.WriteField((GetCategoryStringByProductID(product.ProductId)));
                        }
                        if (item == ProductFields.Fields.Enabled)
                        {
                            writer.WriteField(product.Enabled ? "+" : "-");
                        }
                        if (item == ProductFields.Fields.Price)
                        {
                            writer.WriteField(offer.Price.ToString("F2"));
                        }
                        if (item == ProductFields.Fields.PurchasePrice)
                        {
                            writer.WriteField(offer.SupplyPrice.ToString("F2"));
                        }
                        if (item == ProductFields.Fields.Amount)
                        {
                            writer.WriteField(offer.Amount.ToString());
                        }
                        if (item == ProductFields.Fields.Unit)
                        {
                            writer.WriteField(offer.Unit);
                        }
                        if (item == ProductFields.Fields.ShippingPrice)
                        {
                            writer.WriteField(offer.ShippingPrice.ToString("F2"));
                        }
                        if (item == ProductFields.Fields.Discount)
                        {
                            writer.WriteField(product.Discount.ToString("F2"));
                        }
                        if (item == ProductFields.Fields.Weight)
                        {
                            writer.WriteField(product.Weight.ToString("F2"));
                        }
                        if (item == ProductFields.Fields.Size)
                        {
                            writer.WriteField(product.Size.Replace("|", " x "));
                        }
                        if (item == ProductFields.Fields.BriefDescription)
                        {
                            writer.WriteField(product.BriefDescription);
                        }
                        if (item == ProductFields.Fields.Description)
                        {
                            writer.WriteField(product.Description);
                        }

                        if (item == ProductFields.Fields.Title)
                        {
                            writer.WriteField(meta.Title);
                        }
                        if (item == ProductFields.Fields.MetaKeywords)
                        {
                            writer.WriteField(meta.MetaKeywords);
                        }
                        if (item == ProductFields.Fields.MetaDescription)
                        {
                            writer.WriteField(meta.MetaDescription);
                        }
                        if (item == ProductFields.Fields.Markers)
                        {
                            writer.WriteField(MarkersToString(product));
                        }
                        if (item == ProductFields.Fields.Photos)
                        {
                            writer.WriteField(PhotoToString(product.ProductPhotos));
                        }
                        if (item == ProductFields.Fields.Properties)
                        {
                            writer.WriteField(PropertiesToString(product.ProductPropertyValues));
                        }
                        //Changed by Evgeni
                        if (item == ProductFields.Fields.EAN)
                        {
                            writer.WriteField(product.EAN);
                        }
                        if (item == ProductFields.Fields.SubBrandId)
                        {
                            writer.WriteField(product.SubBrandId);
                        }

                        //
                        if (item == ProductFields.Fields.Producer)
                        {
                            var brand = BrandService.GetBrandById(product.BrandId);
                            writer.WriteField(brand != null ? brand.Name : string.Empty);
                        }
                        if (item == ProductFields.Fields.OrderByRequest)
                        {
                            writer.WriteField(product.OrderByRequest ? "+" : "-");
                        }
                    }
                    writer.NextRecord();
                    ExportStatistic.RowPosition++;
                }
            }
        }
Exemplo n.º 20
0
        private void LoadBrand()
        {
            int brandId = 0;

            if (!int.TryParse(Request["brandid"], out brandId) || (brand = BrandService.GetBrandById(brandId)) == null ||
                !brand.Enabled)
            {
                Error404();
            }
            else
            {
                divBrandSiteUrl.Visible = brand.BrandSiteUrl.IsNotEmpty();

                var sb = new StringBuilder();

                var avalibleCategories = BrandService.GetCategoriesByBrand(brandId);
                foreach (
                    var category in
                    CategoryService.GetChildCategoriesByCategoryId(0, false)
                    .Where(cat => avalibleCategories.ContainsKey(cat.CategoryId)))
                {
                    sb.AppendFormat("<div class=\"block-uc brand-block\">");
                    string link = UrlService.GetLink(ParamType.Category, category.UrlPath, category.CategoryId);
                    if (link.Contains("?"))
                    {
                        link = QueryHelper.ChangeQueryParam(link, "brand", brandId.ToString());
                        link = QueryHelper.ChangeQueryParam(link, "indepth", "1");
                    }
                    else
                    {
                        link += "?" + QueryHelper.CreateQueryString(new List <KeyValuePair <string, string> >
                        {
                            new KeyValuePair <string, string>("brand", brandId.ToString()),
                            new KeyValuePair <string, string>("indepth", "1")
                        });
                    }

                    sb.AppendFormat("<span class=\"title\"><a href='{0}'>{1} ({2})</a></span>", link, category.Name,
                                    avalibleCategories[category.CategoryId].InChildsCategoryCount);

                    sb.AppendFormat("<div class=\"content list-brand-marker\">");

                    foreach (
                        var child in category.ChildCategories.Where(ch => avalibleCategories.ContainsKey(ch.CategoryId))
                        )
                    {
                        string sublink = UrlService.GetLink(ParamType.Category, child.UrlPath, child.CategoryId);
                        if (sublink.Contains("?"))
                        {
                            sublink = QueryHelper.ChangeQueryParam(sublink, "brand", brandId.ToString());
                            sublink = QueryHelper.ChangeQueryParam(sublink, "indepth", "1");
                        }
                        else
                        {
                            sublink += "?" + QueryHelper.CreateQueryString(new List <KeyValuePair <string, string> >
                            {
                                new KeyValuePair <string, string>("brand", brandId.ToString()),
                                new KeyValuePair <string, string>("indepth", "1")
                            });
                        }


                        sb.AppendFormat("<a href='{0}'>{1} ({2})</a>", sublink, child.Name,
                                        avalibleCategories[child.CategoryId].InChildsCategoryCount);
                    }
                    sb.AppendFormat("</div>");
                    sb.AppendFormat("</div>");
                }


                lCategories.Text = sb.ToString();
            }
        }
Exemplo n.º 21
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(Request["categoryid"]) || !Int32.TryParse(Request["categoryid"], out _categoryId))
            {
                Error404();
            }

            Category = CategoryService.GetCategory(_categoryId);
            if (Category == null || Category.Enabled == false || Category.ParentsEnabled == false)
            {
                Error404();
                return;
            }

            //Indepth = Request["indepth"] == "1" || Category.DisplayChildProducts;
            Indepth = true;

            _paging = new SqlPaging();
            _paging.From("[Catalog].[Product]");
            _paging.Left_Join("[Catalog].[ProductExt]  ON [Product].[ProductID] = [ProductExt].[ProductID]");
            _paging.Left_Join("[Catalog].[Photo]  ON [Photo].[PhotoId] = [ProductExt].[PhotoId]");
            _paging.Left_Join("[Catalog].[Offer] ON [ProductExt].[OfferID] = [Offer].[OfferID]");

            _paging.Left_Join("[Catalog].[ShoppingCart] ON [ShoppingCart].[OfferID] = [Offer].[OfferID] AND [ShoppingCart].[ShoppingCartType] = 3 AND [ShoppingCart].[CustomerID] = {0}", CustomerContext.CustomerId);
            _paging.Left_Join("[Catalog].[Ratio] on Product.ProductId= Ratio.ProductID and Ratio.CustomerId=[ShoppingCart].[CustomerID]");
            // Для сотрировки по популярности
            _paging.Left_Join(@"(Select [Order].[OrderItems].[ProductId], COUNT([Order].[OrderItems].[ProductId])as Popularity  From [Order].[OrderItems],[Catalog].[Product]
where [Order].[OrderItems].[ProductId]=[Catalog].[Product].[ProductId]
Group by  [Order].[OrderItems].[ProductId])as PopTable
ON PopTable.ProductId=[Catalog].[Product].[ProductId]");


            if (!Indepth)
            {
                _paging.Inner_Join("[Catalog].[ProductCategories] on [ProductCategories].[CategoryID] = {0} and  ProductCategories.ProductId = [Product].[ProductID]", _categoryId);
            }

            _paging.Select(
                "[Product].[ProductID]",
                "CountPhoto",
                "Photo.PhotoId",
                "PhotoName AS Photo",
                "Photo.Description as PhotoDesc",
                "BriefDescription",
                "Product.ArtNo",
                "Name",
                "Recomended",
                "Bestseller",
                "New",
                "OnSale",
                "[Product].Discount",
                "Offer.OfferID",
                "MaxAvailable AS Amount",
                "MinAmount",
                "MaxAmount",
                "Enabled",
                "AllowPreOrder",
                "Ratio",
                "RatioID",
                "ShoppingCartItemId",
                "UrlPath",
                "Offer.ColorID",
                "PopularityManually",
                "DateAdded",
                "ISNULL (Popularity , 0)as Popularity"
                );

            if (SettingsCatalog.ComplexFilter)
            {
                _paging.Select(
                    "Colors",
                    "NotSamePrices as MultiPrices",
                    "MinPrice as Price"
                    );
            }
            else
            {
                _paging.Select(
                    "null as Colors",
                    "0 as MultiPrices",
                    "Price"
                    );
            }

            ProductsCount = Indepth ? Category.ProductsCount : CategoryService.GetEnabledProductsCountInCategory(Category.ID, Indepth);

            categoryView.CategoryID = _categoryId;
            //categoryView.Visible = Category.DisplayStyle == "True" || ProductsCount == 0;
            categoryView.Visible = false;

            pnlSort.Visible        = ProductsCount > 0;
            productView.Visible    = ProductsCount > 0;
            catalogView.CategoryID = _categoryId;

            filterProperty.CategoryId = _categoryId;

            filterBrand.CategoryId = _categoryId;
            filterBrand.InDepth    = Indepth;
            filterBrand.Visible    = SettingsCatalog.ShowProducerFilter;

            filterSize.CategoryId = _categoryId;
            filterSize.InDepth    = Indepth;
            filterSize.Visible    = SettingsCatalog.ShowSizeFilter;

            filterColor.CategoryId = _categoryId;
            filterColor.InDepth    = Indepth;
            filterColor.Visible    = SettingsCatalog.ShowColorFilter;

            filterPrice.CategoryId = _categoryId;
            filterPrice.InDepth    = Indepth;
            filterPrice.Visible    = SettingsCatalog.ShowPriceFilter;


            lblCategoryName.Text = _categoryId != 0 ? Category.Meta.H1 : Resource.Client_MasterPage_Catalog;

            breadCrumbs.Items =
                CategoryService.GetParentCategories(_categoryId).Select(parent => new BreadCrumbs
            {
                Name = parent.Name,
                Url  = UrlService.GetLink(ParamType.Category, parent.UrlPath, parent.CategoryId)
            }).Reverse().ToList();

            if (_categoryId == 0)
            {
                breadCrumbs.Items.Add(new BreadCrumbs
                {
                    Name = Resource.Client_MasterPage_Catalog,
                    Url  = UrlService.GetAbsoluteLink("catalog")
                });
            }

            breadCrumbs.Items.Insert(0, new BreadCrumbs
            {
                Name = Resource.Client_MasterPage_MainPage,
                Url  = UrlService.GetAbsoluteLink("/")
            });

            //Добавим новые meta
            MetaInfo newMetaInfo = new MetaInfo();

            newMetaInfo = Category.Meta;

            StringBuilder newTitle     = new StringBuilder("", 200);
            string        polTitle     = "";
            string        vozrastTitle = "";
            string        brandTitle   = "";

            //если в фильтре указан бренд
            if (!string.IsNullOrEmpty(Request["brand"]))
            {
                brandTitle = BrandService.GetBrandById(int.Parse(Request["brand"])).Name;
            }

            // если в фильтре выбраны пол (prop = 5083 для девочек, prop = 5084 для мальчиков) или
            //возраст( prop = 5087   0 - 12 мес, prop = 5086   1 - 3 года, prop = 5075   4 - 5 лет, prop = 5081  6 - 8 лет, prop = 5082  9 - 11 лет, prop = 5085  более 12 лет
            if (!string.IsNullOrEmpty(Request["prop"]))
            {
                var filterCol = Request["prop"].Split('-');
                foreach (var val in filterCol)
                {
                    switch (val)
                    {
                    case "5083":
                        polTitle = PropertyService.GetPropertyValueById(int.Parse(val)).Value;
                        break;

                    case "5084":
                        polTitle = PropertyService.GetPropertyValueById(int.Parse(val)).Value;
                        break;

                    case "5087":
                        vozrastTitle = PropertyService.GetPropertyValueById(int.Parse(val)).Value;
                        break;

                    case "5086":
                        vozrastTitle = PropertyService.GetPropertyValueById(int.Parse(val)).Value;
                        break;

                    case "5075":
                        vozrastTitle = PropertyService.GetPropertyValueById(int.Parse(val)).Value;
                        break;

                    case "5081":
                        vozrastTitle = PropertyService.GetPropertyValueById(int.Parse(val)).Value;
                        break;

                    case "5082":
                        vozrastTitle = PropertyService.GetPropertyValueById(int.Parse(val)).Value;
                        break;

                    case "5085":
                        vozrastTitle = PropertyService.GetPropertyValueById(int.Parse(val)).Value;
                        break;
                    }
                }
            }

            //если  пол или возраст указаны в фильтре
            if (polTitle != "" || vozrastTitle != "")
            {
                newTitle.Append("Игрушки ");
                if (polTitle != "")
                {
                    newTitle.Append(polTitle);
                }
                if (vozrastTitle != "")
                {
                    newTitle.Append((newTitle.ToString() == "") ? vozrastTitle : ", " + vozrastTitle);
                }
                if (brandTitle != "")
                {
                    newTitle.Append(" от " + brandTitle);
                }
            }
            //если пол и возраст не указаны в фильтре
            else
            {
                newTitle.Append(Category.Name);
                if (brandTitle != "")
                {
                    newTitle.Append(" " + brandTitle);
                }
            }
            newMetaInfo.Title           = newTitle + " купить в интернет-магазине Корпорация Игрушек";
            newMetaInfo.MetaDescription = "Интернет-магазин Корпорация Игрушек представляет: " + newTitle.ToString() + " и еще более 5,5 тысяч видов товаров по оптовым ценам. Порадуйте своего ребенка!";
            newMetaInfo.MetaKeywords    = (polTitle != "" || vozrastTitle != "") ? "Игрушки " + newTitle.ToString() : newTitle.ToString();

            var metaInfo = SetMeta(newMetaInfo, Category.Name, page: paging.CurrentPage);

            //var metaInfo = SetMeta(Category.Meta, Category.Name, page: paging.CurrentPage);
            lblCategoryName.Text = metaInfo.H1;

            BuildSorting();
            BuildFilter();
        }
Exemplo n.º 22
0
        public ActionResult Edit(int id)
        {
            var brand = brandService.GetBrandById(id);

            return(View(brand));
        }
Exemplo n.º 23
0
    private void LoadFirstProduct()
    {
        int productId = SQLDataAccess.ExecuteScalar <int>("Select TOP(1) productId from Catalog.ProductCategories", CommandType.Text);
        var product   = ProductService.GetProduct(productId);

        if (product == null)
        {
            return;
        }
        foreach (var item in Enum.GetValues(typeof(ProductFields.Fields)))
        {
            if ((ProductFields.Fields)item == ProductFields.Fields.None)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = @"-", Value = ((int)ProductFields.Fields.None).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Sku)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.ArtNo, Value = ((int)ProductFields.Fields.Sku).ToString()
                });
            }
            //Added By Evgeni
            if ((ProductFields.Fields)item == ProductFields.Fields.EAN)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.EAN, Value = ((int)ProductFields.Fields.EAN).ToString()
                });
            }
            if ((ProductFields.Fields)item == ProductFields.Fields.SubBrandId)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.SubBrandId.ToString(), Value = ((int)ProductFields.Fields.SubBrandId).ToString()
                });
            }
//

            if ((ProductFields.Fields)item == ProductFields.Fields.Name)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Name.HtmlEncode(), Value = ((int)ProductFields.Fields.Name).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.ParamSynonym)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.UrlPath, Value = ((int)ProductFields.Fields.ParamSynonym).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Category)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = CategoryService.GetCategory(product.CategoryID).Name, Value = ((int)ProductFields.Fields.Category).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Enabled)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Enabled ? "+" : "-", Value = ((int)ProductFields.Fields.Enabled).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Price)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Offers[0].Price.ToString("F2"), Value = ((int)ProductFields.Fields.Price).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.PurchasePrice)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Offers[0].SupplyPrice.ToString("F2"), Value = ((int)ProductFields.Fields.PurchasePrice).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Amount)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Offers[0].Amount.ToString(), Value = ((int)ProductFields.Fields.Amount).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Unit)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Offers[0].Unit, Value = ((int)ProductFields.Fields.Unit).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Discount)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Discount.ToString("F2"), Value = ((int)ProductFields.Fields.Discount).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.ShippingPrice)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Offers[0].ShippingPrice.ToString("F2"), Value = ((int)ProductFields.Fields.ShippingPrice).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Weight)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Weight.ToString("F2"), Value = ((int)ProductFields.Fields.Weight).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Size)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Size.Replace("|", " x "), Value = ((int)ProductFields.Fields.Size).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.BriefDescription)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.BriefDescription.Reduce(20).HtmlEncode(), Value = ((int)ProductFields.Fields.BriefDescription).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Description)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Description.Reduce(20).HtmlEncode(), Value = ((int)ProductFields.Fields.Description).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Title)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Meta.Title.Reduce(20), Value = ((int)ProductFields.Fields.Title).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.MetaKeywords)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Meta.MetaKeywords.Reduce(20), Value = ((int)ProductFields.Fields.MetaKeywords).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.MetaDescription)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.Meta.MetaDescription.Reduce(20), Value = ((int)ProductFields.Fields.MetaDescription).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Photos)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = CsvExport.PhotoToString(product.ProductPhotos), Value = ((int)ProductFields.Fields.Photos).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Markers)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = CsvExport.MarkersToString(product), Value = ((int)ProductFields.Fields.Markers).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Properties)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = CsvExport.PropertiesToString(product.ProductPropertyValues).HtmlEncode(), Value = ((int)ProductFields.Fields.Properties).ToString()
                });
            }

            if ((ProductFields.Fields)item == ProductFields.Fields.Producer)
            {
                var brand = BrandService.GetBrandById(product.ProductId);
                ddlProduct.Items.Add(new ListItem
                {
                    Text  = brand != null ? BrandService.GetBrandById(product.ProductId).Name.HtmlEncode() : string.Empty,
                    Value = ((int)ProductFields.Fields.Producer).ToString()
                });
            }
            if ((ProductFields.Fields)item == ProductFields.Fields.OrderByRequest)
            {
                ddlProduct.Items.Add(new ListItem {
                    Text = product.OrderByRequest ? "+" : "-", Value = ((int)ProductFields.Fields.OrderByRequest).ToString()
                });
            }
        }
    }