/// <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 data reader to a product specification attribute /// </summary> /// <param name="dataReader">IDataReader</param> /// <returns>Product specification attribute</returns> private DBProductSpecificationAttribute GetProductSpecificationAttributeFromReader(IDataReader dataReader) { var item = new DBProductSpecificationAttribute(); item.ProductSpecificationAttributeId = NopSqlDataHelper.GetInt(dataReader, "ProductSpecificationAttributeID"); item.ProductId = NopSqlDataHelper.GetInt(dataReader, "ProductID"); item.SpecificationAttributeOptionId = NopSqlDataHelper.GetInt(dataReader, "SpecificationAttributeOptionID"); item.AllowFiltering = NopSqlDataHelper.GetBoolean(dataReader, "AllowFiltering"); item.ShowOnProductPage = NopSqlDataHelper.GetBoolean(dataReader, "ShowOnProductPage"); item.DisplayOrder = NopSqlDataHelper.GetInt(dataReader, "DisplayOrder"); return(item); }
/// <summary> /// Updates the product specification attribute mapping /// </summary> /// <param name="productSpecificationAttributeId">product specification attribute mapping identifier</param> /// <param name="productId">Product identifier</param> /// <param name="specificationAttributeOptionId">Specification attribute option identifier</param> /// <param name="allowFiltering">Allow product filtering by this attribute</param> /// <param name="showOnProductPage">Show the attribute onn the product page</param> /// <param name="displayOrder">The display order</param> /// <returns>Product specification attribute mapping</returns> public override DBProductSpecificationAttribute UpdateProductSpecificationAttribute(int productSpecificationAttributeId, int productId, int specificationAttributeOptionId, bool allowFiltering, bool showOnProductPage, int displayOrder) { DBProductSpecificationAttribute item = null; Database db = NopSqlDataHelper.CreateConnection(_sqlConnectionString); DbCommand dbCommand = db.GetStoredProcCommand("Nop_Product_SpecificationAttribute_MappingUpdate"); db.AddInParameter(dbCommand, "ProductSpecificationAttributeID", DbType.Int32, productSpecificationAttributeId); db.AddInParameter(dbCommand, "ProductID", DbType.Int32, productId); db.AddInParameter(dbCommand, "SpecificationAttributeOptionID", DbType.Int32, specificationAttributeOptionId); db.AddInParameter(dbCommand, "AllowFiltering", DbType.Boolean, allowFiltering); db.AddInParameter(dbCommand, "ShowOnProductPage", DbType.Boolean, showOnProductPage); db.AddInParameter(dbCommand, "DisplayOrder", DbType.Int32, displayOrder); if (db.ExecuteNonQuery(dbCommand) > 0) { item = GetProductSpecificationAttributeById(productSpecificationAttributeId); } return(item); }
/// <summary> /// Inserts a product specification attribute mapping /// </summary> /// <param name="productID">Product identifier</param> /// <param name="specificationAttributeOptionID">Specification attribute option identifier</param> /// <param name="allowFiltering">Allow product filtering by this attribute</param> /// <param name="showOnProductPage">Show the attribute on the product page</param> /// <param name="displayOrder">The display order</param> /// <returns>Product specification attribute mapping</returns> public override DBProductSpecificationAttribute InsertProductSpecificationAttribute(int productID, int specificationAttributeOptionID, bool allowFiltering, bool showOnProductPage, int displayOrder) { DBProductSpecificationAttribute productSpecificationAttribute = null; Database db = NopSqlDataHelper.CreateConnection(_sqlConnectionString); DbCommand dbCommand = db.GetStoredProcCommand("Nop_Product_SpecificationAttribute_MappingInsert"); db.AddOutParameter(dbCommand, "ProductSpecificationAttributeID", DbType.Int32, 0); db.AddInParameter(dbCommand, "ProductID", DbType.Int32, productID); db.AddInParameter(dbCommand, "SpecificationAttributeOptionID", DbType.Int32, specificationAttributeOptionID); db.AddInParameter(dbCommand, "AllowFiltering", DbType.Boolean, allowFiltering); db.AddInParameter(dbCommand, "ShowOnProductPage", DbType.Boolean, showOnProductPage); db.AddInParameter(dbCommand, "DisplayOrder", DbType.Int32, displayOrder); if (db.ExecuteNonQuery(dbCommand) > 0) { int ProductSpecificationAttributeID = Convert.ToInt32(db.GetParameterValue(dbCommand, "@ProductSpecificationAttributeID")); productSpecificationAttribute = GetProductSpecificationAttributeByID(ProductSpecificationAttributeID); } return(productSpecificationAttribute); }
/// <summary> /// Gets a product specification attribute mapping /// </summary> /// <param name="productSpecificationAttributeId">Product specification attribute mapping identifier</param> /// <returns>Product specification attribute mapping</returns> public override DBProductSpecificationAttribute GetProductSpecificationAttributeById(int productSpecificationAttributeId) { DBProductSpecificationAttribute item = null; if (productSpecificationAttributeId == 0) { return(item); } Database db = NopSqlDataHelper.CreateConnection(_sqlConnectionString); DbCommand dbCommand = db.GetStoredProcCommand("Nop_Product_SpecificationAttribute_MappingLoadByPrimaryKey"); db.AddInParameter(dbCommand, "ProductSpecificationAttributeID", DbType.Int32, productSpecificationAttributeId); using (IDataReader dataReader = db.ExecuteReader(dbCommand)) { if (dataReader.Read()) { item = GetProductSpecificationAttributeFromReader(dataReader); } } return(item); }