Пример #1
0
        private bool IsSubCategory(int parentCategoryID, int searchedCategoryID)
        {
            bool found = false;
            List <Ctlg.CategoryInfo> categories = _categoryController.GetCategories(PortalId, false, parentCategoryID);

            foreach (Ctlg.CategoryInfo category in categories)
            {
                if (category.CategoryID == searchedCategoryID || IsSubCategory(category.CategoryID, searchedCategoryID))
                {
                    found = true;
                    break;
                }
            }
            return(found);
        }
Пример #2
0
        string IPortable.ExportModule(int moduleID)
        {
            int portalId = PortalController.Instance.GetCurrentPortalSettings().PortalId;

            // Export categories
            CategoryController  categoriesControler = new CategoryController();
            List <CategoryInfo> alCategories        = categoriesControler.GetCategories(portalId, true, -3);

            if (alCategories.Count > 0)
            {
                StringBuilder strXML = new StringBuilder();

                XmlWriterSettings settings = new XmlWriterSettings
                {
                    Indent             = true,
                    OmitXmlDeclaration = true
                };
                using (XmlWriter writer = XmlWriter.Create(strXML, settings))
                {
                    writer.WriteStartElement("Catalog");
                    writer.WriteStartElement("Categories");
                    foreach (CategoryInfo categoryInfo in alCategories)
                    {
                        writer.WriteStartElement("Category");
                        writer.WriteElementString("CategoryId", categoryInfo.CategoryID.ToString());
                        writer.WriteElementString("Name", categoryInfo.Name);
                        writer.WriteElementString("SEOName", categoryInfo.SEOName);
                        writer.WriteElementString("Keywords", categoryInfo.Keywords);
                        writer.WriteElementString("Description", categoryInfo.Description);
                        writer.WriteElementString("OrderId", categoryInfo.OrderID.ToString());
                        writer.WriteElementString("ParentCategoryId", categoryInfo.ParentCategoryID.ToString());
                        writer.WriteElementString("Archived", categoryInfo.Archived.ToString());
                        writer.WriteElementString("Message", categoryInfo.Message);
                        writer.WriteEndElement();
                    }
                    writer.WriteEndElement();

                    // Export Products
                    List <ProductInfo> alProducts = GetPortalAllProducts(portalId);

                    if (alProducts.Count > 0)
                    {
                        CultureInfo invariantCulture = CultureInfo.InvariantCulture;
                        string      strProductImage  = Null.NullString;

                        writer.WriteStartElement("Products");
                        foreach (ProductInfo productInfo in alProducts)
                        {
                            writer.WriteStartElement("Product");
                            writer.WriteElementString("CategoryID", productInfo.CategoryID.ToString());
                            writer.WriteElementString("Manufacturer", productInfo.Manufacturer);
                            writer.WriteElementString("ModelNumber", productInfo.ModelNumber);
                            writer.WriteElementString("ModelName", productInfo.ModelName);
                            writer.WriteElementString("SEOName", productInfo.SEOName);
                            writer.WriteElementString("Keywords", productInfo.Keywords);
                            writer.WriteElementString("Summary", productInfo.Summary);
                            writer.WriteElementString("RegularPrice", productInfo.RegularPrice.ToString("0.00", invariantCulture));
                            writer.WriteElementString("UnitCost", productInfo.UnitCost.ToString("0.00", invariantCulture));
                            if (productInfo.IsVirtual)
                            {
                                IFileInfo file = FileManager.Instance.GetFile(productInfo.VirtualFileID);

                                if (file != null)
                                {
                                    writer.WriteElementString("Virtual", productInfo.IsVirtual.ToString());
                                    writer.WriteElementString("RelativePath", file.RelativePath);
                                    writer.WriteElementString("AllowedDownloads", productInfo.AllowedDownloads.ToString());
                                }
                            }
                            else
                            {
                                writer.WriteElementString("ProductWeight", productInfo.ProductWeight.ToString("0.00", invariantCulture));
                                writer.WriteElementString("ProductHeight", productInfo.ProductHeight.ToString("0.00", invariantCulture));
                                writer.WriteElementString("ProductLength", productInfo.ProductLength.ToString("0.00", invariantCulture));
                                writer.WriteElementString("ProductWidth", productInfo.ProductWidth.ToString("0.00", invariantCulture));
                            }
                            writer.WriteElementString("StockQuantity", productInfo.StockQuantity.ToString());
                            writer.WriteElementString("LowThreshold", productInfo.LowThreshold.ToString());
                            writer.WriteElementString("HighThreshold", productInfo.HighThreshold.ToString());
                            writer.WriteElementString("DeliveryTime", productInfo.DeliveryTime.ToString());
                            writer.WriteElementString("PurchasePrice", productInfo.PurchasePrice.ToString("0.00", invariantCulture));
                            writer.WriteElementString("Archived", productInfo.Archived.ToString());
                            if (productInfo.RoleID > 0)
                            {
                                RoleInfo role = RoleController.Instance.GetRoleById(portalId, productInfo.RoleID);

                                if (role != null)
                                {
                                    writer.WriteElementString("RoleName", role.RoleName);
                                }
                            }
                            writer.WriteElementString("Featured", productInfo.Featured.ToString());
                            if (productInfo.Featured)
                            {
                                writer.WriteElementString("SaleStartDate", productInfo.SaleStartDate.ToString(invariantCulture));
                                writer.WriteElementString("SaleEndDate", productInfo.SaleEndDate.ToString(invariantCulture));
                                writer.WriteElementString("SalePrice", productInfo.SalePrice.ToString("0.00", invariantCulture));
                            }
                            if (string.IsNullOrEmpty(productInfo.ProductImage) == false)
                            {
                                if (!productInfo.ProductImage.StartsWith("http", StringComparison.InvariantCultureIgnoreCase))
                                {
                                    strProductImage = productInfo.ProductImage.Replace("Portals/" + portalId, "[PortalId]");
                                }
                                writer.WriteElementString("ProductImage", strProductImage);
                            }
                            writer.WriteElementString("Description", productInfo.Description);
                            writer.WriteEndElement();
                        }
                        writer.WriteEndElement();
                    }
                    writer.WriteEndElement();
                    writer.Close();
                }
                return(strXML.ToString());
            }

            return(string.Empty);
        }