private static CheckoutAttributeValueCollection DBMapping(DBCheckoutAttributeValueCollection dbCollection)
        {
            if (dbCollection == null)
            {
                return(null);
            }

            var collection = new CheckoutAttributeValueCollection();

            foreach (var dbItem in dbCollection)
            {
                var item = DBMapping(dbItem);
                collection.Add(item);
            }

            return(collection);
        }
        /// <summary>
        /// Gets checkout attribute values by checkout attribute identifier
        /// </summary>
        /// <param name="checkoutAttributeId">The checkout attribute identifier</param>
        /// <param name="languageId">Language identifier</param>
        /// <returns>Checkout attribute value collection</returns>
        public override DBCheckoutAttributeValueCollection GetCheckoutAttributeValues(int checkoutAttributeId, int languageId)
        {
            var       result    = new DBCheckoutAttributeValueCollection();
            Database  db        = NopSqlDataHelper.CreateConnection(_sqlConnectionString);
            DbCommand dbCommand = db.GetStoredProcCommand("Nop_CheckoutAttributeValueLoadByCheckoutAttributeID");

            db.AddInParameter(dbCommand, "CheckoutAttributeID", DbType.Int32, checkoutAttributeId);
            db.AddInParameter(dbCommand, "LanguageID", DbType.Int32, languageId);
            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                while (dataReader.Read())
                {
                    var item = GetCheckoutAttributeValueFromReader(dataReader);
                    result.Add(item);
                }
            }
            return(result);
        }