/// <summary>
        /// Builds a Configuration object using settings from the
        /// appsettings section of the application/web config file.
        /// </summary>
        /// <param name="merchantID">
        /// If not null, this method will get the settings specific to
        /// this merchant id.
        /// </param>
        /// <param name="failIfNoMerchantID">
        /// If set to true, an ApplicationException will be thrown if
        /// merchantID is null and there is no merchantID in the
        /// appsettings, either.
        /// </param>
        /// <returns>the built Configuration object</returns>
        private static Configuration InternalBuildConfiguration(
            string merchantID, bool failIfNoMerchantID)
        {
            Configuration config = new Configuration();

            if (merchantID == null)
            {
                merchantID
                    = AppSettings.GetSetting(null, MERCHANT_ID);
            }
            if (merchantID != null || failIfNoMerchantID)
            {
                // if merchantID is null, the assignment below will
                // throw an exception.
                config.MerchantID = merchantID;
            }

            string keysDirectory
                = AppSettings.GetSetting(
                      merchantID, Configuration.KEYS_DIRECTORY);

            if (keysDirectory != null)
            {
                config.KeysDirectory = keysDirectory;
            }
            else
            {
                // look for "keysDir" for backwards-compatibility
                config.KeysDirectory
                    = AppSettings.GetSetting(
                          merchantID, Configuration.KEYS_DIR);
            }

            int boolVal
                = AppSettings.GetBoolSetting(
                      merchantID, Configuration.SEND_TO_PRODUCTION);

            if (boolVal != -1)
            {
                config.SendToProduction = (boolVal == 1);
            }

            boolVal
                = AppSettings.GetBoolSetting(
                      merchantID, Configuration.ENABLE_LOG);
            config.setLogProperties(
                boolVal == 1,
                AppSettings.GetSetting(
                    merchantID, Configuration.LOG_DIRECTORY));

            config.ServerURL
                = AppSettings.GetSetting(
                      merchantID, Configuration.SERVER_URL);
            if (config.ServerURL == null)
            {
                // look for "cybersourceURL" for backwards-compatibility
                config.ServerURL
                    = AppSettings.GetSetting(
                          merchantID, Configuration.CYBERSOURCE_URL);
            }

            config.KeyFilename
                = AppSettings.GetSetting(
                      merchantID, Configuration.KEY_FILENAME);

            config.Password
                = AppSettings.GetSetting(
                      merchantID, Configuration.PASSWORD);

            config.LogFilename
                = AppSettings.GetSetting(
                      merchantID, Configuration.LOG_FILENAME);

            config.LogMaximumSize
                = AppSettings.GetIntSetting(
                      merchantID, Configuration.LOG_MAXIMUM_SIZE);

            config.Timeout
                = AppSettings.GetIntSetting(
                      merchantID, Configuration.TIMEOUT);

            boolVal
                = AppSettings.GetBoolSetting(
                      merchantID, Configuration.DEMO);
            if (boolVal != -1)
            {
                config.Demo = (boolVal == 1);
            }

            config.ConnectionLimit
                = AppSettings.GetIntSetting(
                      merchantID, Configuration.CONNECTION_LIMIT);

            return(config);
        }
Esempio n. 2
0
        /// <summary>
        /// Builds a Configuration object using settings from the
        /// appsettings section of the application/web config file.
        /// </summary>
        /// <param name="merchantID">
        /// If not null, this method will get the settings specific to
        /// this merchant id.
        /// </param>
        /// <param name="failIfNoMerchantID">
        /// If set to true, an ApplicationException will be thrown if
        /// merchantID is null and there is no merchantID in the
        /// appsettings, either.
        /// </param>
        /// <returns>the built Configuration object</returns>
        private static Configuration InternalBuildConfiguration(
            string merchantID, bool failIfNoMerchantID)
        {
            Configuration config = new Configuration();

            if (merchantID == null)
            {
                merchantID
                    = AppSettings.GetSetting(null, MERCHANT_ID);
            }
            if (merchantID != null || failIfNoMerchantID)
            {
                // if merchantID is null, the assignment below will
                // throw an exception.
                config.MerchantID = merchantID;
            }

            string keysDirectory
                = AppSettings.GetSetting(
                      merchantID, Configuration.KEYS_DIRECTORY);

            if (keysDirectory != null)
            {
                config.KeysDirectory = keysDirectory;
            }
            else
            {
                // look for "keysDir" for backwards-compatibility
                config.KeysDirectory
                    = AppSettings.GetSetting(
                          merchantID, Configuration.KEYS_DIR);
            }

            int boolVal
                = AppSettings.GetBoolSetting(
                      merchantID, Configuration.SEND_TO_PRODUCTION);

            if (boolVal != -1)
            {
                config.SendToProduction = (boolVal == 1);
            }

            boolVal
                = AppSettings.GetBoolSetting(
                      merchantID, Configuration.ENABLE_LOG);
            config.setLogProperties(
                boolVal == 1,
                AppSettings.GetSetting(
                    merchantID, Configuration.LOG_DIRECTORY));

            config.ServerURL
                = AppSettings.GetSetting(
                      merchantID, Configuration.SERVER_URL);
            if (config.ServerURL == null)
            {
                // look for "cybersourceURL" for backwards-compatibility
                config.ServerURL
                    = AppSettings.GetSetting(
                          merchantID, Configuration.CYBERSOURCE_URL);
            }

            //See if akamai flag has been set or not which eventually gives effective server URL
            boolVal
                = AppSettings.GetBoolSetting(
                      merchantID, Configuration.SEND_TO_AKAMAI);
            if (boolVal != -1)
            {
                config.SendToAkamai = (boolVal == 1);
            }

            config.KeyFilename
                = AppSettings.GetSetting(
                      merchantID, Configuration.KEY_FILENAME);

            config.KeyAlias
                = AppSettings.GetSetting(
                      merchantID, Configuration.KEY_ALIAS);

            config.Password
                = AppSettings.GetSetting(
                      merchantID, Configuration.PASSWORD);

            config.LogFilename
                = AppSettings.GetSetting(
                      merchantID, Configuration.LOG_FILENAME);

            config.LogMaximumSize
                = AppSettings.GetIntSetting(
                      merchantID, Configuration.LOG_MAXIMUM_SIZE);

            config.Timeout
                = AppSettings.GetIntSetting(
                      merchantID, Configuration.TIMEOUT);

            boolVal
                = AppSettings.GetBoolSetting(
                      merchantID, Configuration.DEMO);
            if (boolVal != -1)
            {
                config.Demo = (boolVal == 1);
            }

            config.ConnectionLimit
                = AppSettings.GetIntSetting(
                      merchantID, Configuration.CONNECTION_LIMIT);

            // Encryption enable flag
            boolVal
                = AppSettings.GetBoolSetting(
                      merchantID, Configuration.USE_SIGNED_AND_ENCRYPTED);
            if (boolVal != -1)
            {
                config.UseSignedAndEncrypted = (boolVal == 1);
            }

            // certificate cache flag
            boolVal
                = AppSettings.GetBoolSetting(
                      merchantID, Configuration.CERTIFICATE_CACHE_ENABLED);
            if (boolVal != -1)
            {
                config.CertificateCacheEnabled = (boolVal == 1);
            }

            return(config);
        }
        /// <summary>
        /// Builds a Configuration object using settings from the
        /// appsettings section of the application/web config file.
        /// </summary>
        /// <param name="merchantID">
        /// If not null, this method will get the settings specific to
        /// this merchant id.
        /// </param>
        /// <param name="failIfNoMerchantID">
        /// If set to true, an ApplicationException will be thrown if
        /// merchantID is null and there is no merchantID in the
        /// appsettings, either.
        /// </param>
        /// <returns>the built Configuration object</returns>
        private static Configuration InternalBuildConfiguration(
            string merchantID, bool failIfNoMerchantID )
        {
            Configuration config = new Configuration();
            
            if (merchantID == null)
            {
                merchantID
                    = AppSettings.GetSetting( null, MERCHANT_ID );
            }
            if (merchantID != null || failIfNoMerchantID)
            {
                // if merchantID is null, the assignment below will
                // throw an exception.
                config.MerchantID = merchantID;
            }

            string keysDirectory
                = AppSettings.GetSetting(
                    merchantID, Configuration.KEYS_DIRECTORY);
            if (keysDirectory != null)
            {
                config.KeysDirectory = keysDirectory;
            }
            else
            {
                // look for "keysDir" for backwards-compatibility
                config.KeysDirectory
                    = AppSettings.GetSetting(
                        merchantID, Configuration.KEYS_DIR);
            }

            int boolVal
                = AppSettings.GetBoolSetting(
                    merchantID, Configuration.SEND_TO_PRODUCTION);
            if (boolVal != -1) config.SendToProduction = (boolVal == 1);

            boolVal
                = AppSettings.GetBoolSetting(
                    merchantID, Configuration.ENABLE_LOG);
            config.setLogProperties(
                boolVal == 1,
                AppSettings.GetSetting(
                    merchantID, Configuration.LOG_DIRECTORY) );

            config.ServerURL
                = AppSettings.GetSetting(
                    merchantID, Configuration.SERVER_URL);
            if (config.ServerURL == null)
            {
                // look for "cybersourceURL" for backwards-compatibility
                config.ServerURL
                    = AppSettings.GetSetting(
                        merchantID, Configuration.CYBERSOURCE_URL);
            }

            config.KeyFilename
                = AppSettings.GetSetting(
                    merchantID, Configuration.KEY_FILENAME);

            config.Password
                = AppSettings.GetSetting(
                    merchantID, Configuration.PASSWORD);

            config.LogFilename
                = AppSettings.GetSetting(
                    merchantID, Configuration.LOG_FILENAME);

            config.LogMaximumSize
                = AppSettings.GetIntSetting(
                    merchantID, Configuration.LOG_MAXIMUM_SIZE);

            config.Timeout
                = AppSettings.GetIntSetting(
                    merchantID, Configuration.TIMEOUT);

            boolVal
                = AppSettings.GetBoolSetting(
                    merchantID, Configuration.DEMO);
            if (boolVal != -1) config.Demo = (boolVal == 1);

            config.ConnectionLimit
                = AppSettings.GetIntSetting(
                    merchantID, Configuration.CONNECTION_LIMIT);

            return (config);
        }