/// <summary> /// Gets a product specification attribute mapping collection /// </summary> /// <param name="productId">Product identifier</param> /// <param name="allowFiltering">0 to load attributes with AllowFiltering set to false, 0 to load attributes with AllowFiltering set to true, null to load all attributes</param> /// <param name="showOnProductPage">0 to load attributes with ShowOnProductPage set to false, 0 to load attributes with ShowOnProductPage set to true, null to load all attributes</param> /// <returns>Product specification attribute mapping collection</returns> public override DBProductSpecificationAttributeCollection GetProductSpecificationAttributesByProductId(int productId, bool?allowFiltering, bool?showOnProductPage) { var result = new DBProductSpecificationAttributeCollection(); Database db = NopSqlDataHelper.CreateConnection(_sqlConnectionString); DbCommand dbCommand = db.GetStoredProcCommand("Nop_Product_SpecificationAttribute_MappingLoadByProductID"); db.AddInParameter(dbCommand, "ProductID", DbType.Int32, productId); if (allowFiltering.HasValue) { db.AddInParameter(dbCommand, "AllowFiltering", DbType.Boolean, allowFiltering.Value); } else { db.AddInParameter(dbCommand, "AllowFiltering", DbType.Boolean, null); } if (showOnProductPage.HasValue) { db.AddInParameter(dbCommand, "ShowOnProductPage", DbType.Boolean, showOnProductPage.Value); } else { db.AddInParameter(dbCommand, "ShowOnProductPage", DbType.Boolean, null); } using (IDataReader dataReader = db.ExecuteReader(dbCommand)) { while (dataReader.Read()) { var item = GetProductSpecificationAttributeFromReader(dataReader); result.Add(item); } } return(result); }
/// <summary> /// Gets a product specification attribute mapping collection /// </summary> /// <param name="ProductID">Product identifier</param> /// <param name="AllowFiltering">0 to load attributes with AllowFiltering set to false, 0 to load attributes with AllowFiltering set to true, null to load all attributes</param> /// <param name="ShowOnProductPage">0 to load attributes with ShowOnProductPage set to false, 0 to load attributes with ShowOnProductPage set to true, null to load all attributes</param> /// <returns>Product specification attribute mapping collection</returns> public static ProductSpecificationAttributeCollection GetProductSpecificationAttributesByProductID(int ProductID, bool?AllowFiltering, bool?ShowOnProductPage) { string allowFilteringCacheStr = "null"; if (AllowFiltering.HasValue) { allowFilteringCacheStr = AllowFiltering.ToString(); } string showOnProductPageCacheStr = "null"; if (ShowOnProductPage.HasValue) { showOnProductPageCacheStr = ShowOnProductPage.ToString(); } string key = string.Format(PRODUCTSPECIFICATIONATTRIBUTE_ALLBYPRODUCTID_KEY, ProductID, allowFilteringCacheStr, showOnProductPageCacheStr); object obj2 = NopCache.Get(key); if (SpecificationAttributeManager.CacheEnabled && (obj2 != null)) { return((ProductSpecificationAttributeCollection)obj2); } DBProductSpecificationAttributeCollection dbCollection = DBProviderManager <DBSpecificationAttributeProvider> .Provider.GetProductSpecificationAttributesByProductID(ProductID, AllowFiltering, ShowOnProductPage); ProductSpecificationAttributeCollection productSpecificationAttributes = DBMapping(dbCollection); if (SpecificationAttributeManager.CacheEnabled) { NopCache.Max(key, productSpecificationAttributes); } return(productSpecificationAttributes); }
/// <summary> /// Gets a product specification attribute mapping collection /// </summary> /// <param name="ProductID">Product identifier</param> /// <param name="AllowFiltering">0 to load attributes with AllowFiltering set to false, 0 to load attributes with AllowFiltering set to true, null to load all attributes</param> /// <param name="ShowOnProductPage">0 to load attributes with ShowOnProductPage set to false, 0 to load attributes with ShowOnProductPage set to true, null to load all attributes</param> /// <returns>Product specification attribute mapping collection</returns> public override DBProductSpecificationAttributeCollection GetProductSpecificationAttributesByProductID(int ProductID, bool?AllowFiltering, bool?ShowOnProductPage) { DBProductSpecificationAttributeCollection productSpecificationAttributes = new DBProductSpecificationAttributeCollection(); Database db = NopSqlDataHelper.CreateConnection(_sqlConnectionString); DbCommand dbCommand = db.GetStoredProcCommand("Nop_Product_SpecificationAttribute_MappingLoadByProductID"); db.AddInParameter(dbCommand, "ProductID", DbType.Int32, ProductID); if (AllowFiltering.HasValue) { db.AddInParameter(dbCommand, "AllowFiltering", DbType.Boolean, AllowFiltering.Value); } else { db.AddInParameter(dbCommand, "AllowFiltering", DbType.Boolean, null); } if (ShowOnProductPage.HasValue) { db.AddInParameter(dbCommand, "ShowOnProductPage", DbType.Boolean, ShowOnProductPage.Value); } else { db.AddInParameter(dbCommand, "ShowOnProductPage", DbType.Boolean, null); } using (IDataReader dataReader = db.ExecuteReader(dbCommand)) { while (dataReader.Read()) { DBProductSpecificationAttribute productSpecificationAttribute = GetProductSpecificationAttributeFromReader(dataReader); productSpecificationAttributes.Add(productSpecificationAttribute); } } return(productSpecificationAttributes); }
/// <summary> /// Maps a DBProductSpecificationAttributeCollection to a ProductSpecificationAttributeCollection /// </summary> /// <param name="dbCollection">DBProductSpecificationAttributeCollection</param> /// <returns>ProductSpecificationAttributeCollection</returns> private static ProductSpecificationAttributeCollection DBMapping(DBProductSpecificationAttributeCollection dbCollection) { if (dbCollection == null) { return(null); } ProductSpecificationAttributeCollection collection = new ProductSpecificationAttributeCollection(); foreach (DBProductSpecificationAttribute dbItem in dbCollection) { ProductSpecificationAttribute item = DBMapping(dbItem); collection.Add(item); } return(collection); }
/// <summary> /// Gets a product specification attribute mapping collection /// </summary> /// <param name="ProductID">Product identifier</param> /// <param name="AllowFiltering">0 to load attributes with AllowFiltering set to false, 0 to load attributes with AllowFiltering set to true, null to load all attributes</param> /// <param name="ShowOnProductPage">0 to load attributes with ShowOnProductPage set to false, 0 to load attributes with ShowOnProductPage set to true, null to load all attributes</param> /// <returns>Product specification attribute mapping collection</returns> public override DBProductSpecificationAttributeCollection GetProductSpecificationAttributesByProductID(int ProductID, bool? AllowFiltering, bool? ShowOnProductPage) { DBProductSpecificationAttributeCollection productSpecificationAttributes = new DBProductSpecificationAttributeCollection(); Database db = NopSqlDataHelper.CreateConnection(_sqlConnectionString); DbCommand dbCommand = db.GetStoredProcCommand("Nop_Product_SpecificationAttribute_MappingLoadByProductID"); db.AddInParameter(dbCommand, "ProductID", DbType.Int32, ProductID); if (AllowFiltering.HasValue) db.AddInParameter(dbCommand, "AllowFiltering", DbType.Boolean, AllowFiltering.Value); else db.AddInParameter(dbCommand, "AllowFiltering", DbType.Boolean, null); if (ShowOnProductPage.HasValue) db.AddInParameter(dbCommand, "ShowOnProductPage", DbType.Boolean, ShowOnProductPage.Value); else db.AddInParameter(dbCommand, "ShowOnProductPage", DbType.Boolean, null); using (IDataReader dataReader = db.ExecuteReader(dbCommand)) { while (dataReader.Read()) { DBProductSpecificationAttribute productSpecificationAttribute = GetProductSpecificationAttributeFromReader(dataReader); productSpecificationAttributes.Add(productSpecificationAttribute); } } return productSpecificationAttributes; }