/// <summary>
        /// Gets a product manufacturer mapping
        /// </summary>
        /// <param name="ProductManufacturerID">Product manufacturer mapping identifier</param>
        /// <returns>Product manufacturer mapping</returns>
        public static ProductManufacturer GetProductManufacturerByID(int ProductManufacturerID)
        {
            if (ProductManufacturerID == 0)
            {
                return(null);
            }

            string key  = string.Format(PRODUCTMANUFACTURERS_BY_ID_KEY, ProductManufacturerID);
            object obj2 = NopCache.Get(key);

            if (ManufacturerManager.MappingsCacheEnabled && (obj2 != null))
            {
                return((ProductManufacturer)obj2);
            }

            DBProductManufacturer dbItem = DBProviderManager <DBManufacturerProvider> .Provider.GetProductManufacturerByID(ProductManufacturerID);

            ProductManufacturer productManufacturer = DBMapping(dbItem);

            if (ManufacturerManager.MappingsCacheEnabled)
            {
                NopCache.Max(key, productManufacturer);
            }
            return(productManufacturer);
        }
        /// <summary>
        /// Updates the product manufacturer mapping
        /// </summary>
        /// <param name="ProductManufacturerID">Product manufacturer mapping identifier</param>
        /// <param name="ProductID">Product identifier</param>
        /// <param name="ManufacturerID">Manufacturer identifier</param>
        /// <param name="IsFeaturedProduct">A value indicating whether the product is featured</param>
        /// <param name="DisplayOrder">The display order</param>
        /// <returns>Product manufacturer mapping </returns>
        public static ProductManufacturer UpdateProductManufacturer(int ProductManufacturerID, int ProductID, int ManufacturerID,
                                                                    bool IsFeaturedProduct, int DisplayOrder)
        {
            DBProductManufacturer dbItem = DBProviderManager <DBManufacturerProvider> .Provider.UpdateProductManufacturer(ProductManufacturerID,
                                                                                                                          ProductID, ManufacturerID, IsFeaturedProduct, DisplayOrder);

            ProductManufacturer productManufacturer = DBMapping(dbItem);

            if (ManufacturerManager.ManufacturersCacheEnabled || ManufacturerManager.MappingsCacheEnabled)
            {
                NopCache.RemoveByPattern(MANUFACTURERS_PATTERN_KEY);
                NopCache.RemoveByPattern(PRODUCTMANUFACTURERS_PATTERN_KEY);
            }

            return(productManufacturer);
        }
        private static ProductManufacturer DBMapping(DBProductManufacturer dbItem)
        {
            if (dbItem == null)
            {
                return(null);
            }

            ProductManufacturer item = new ProductManufacturer();

            item.ProductManufacturerID = dbItem.ProductManufacturerID;
            item.ProductID             = dbItem.ProductID;
            item.ManufacturerID        = dbItem.ManufacturerID;
            item.IsFeaturedProduct     = dbItem.IsFeaturedProduct;
            item.DisplayOrder          = dbItem.DisplayOrder;

            return(item);
        }