private string ResolveNGetPropetyValue(string format, string propertyName)
        {
            string configValue     = null;
            string cmdLineArgValue = ChoEnvironment.GetCmdLineArgValue(propertyName);

            if (!cmdLineArgValue.IsNullOrWhiteSpace())
            {
                return(cmdLineArgValue);
            }

            configValue = ChoETLFramework.GetConfigValue(propertyName);
            if (!configValue.IsNullOrWhiteSpace())
            {
                try
                {
                    if (format.IsNullOrWhiteSpace())
                    {
                        return(configValue);
                    }
                    else
                    {
                        return(ChoUtility.Format(format, configValue));
                    }
                }
                catch { }
            }

            return(propertyName);
        }
        private bool IsPropertyExistsInSources(string propertyName)
        {
            if (_discoveredProperties.ContainsKey(propertyName))
            {
                return(_discoveredProperties[propertyName]);
            }

            string cmdLineArgValue = ChoEnvironment.GetCmdLineArgValue(propertyName);

            if (!cmdLineArgValue.IsNullOrWhiteSpace())
            {
                ChoETLFramework.WriteLog("'{0}' property discovered via command line argument.".FormatString(propertyName));
                _discoveredProperties.Add(propertyName, true);
                return(true);
            }
            if (ChoETLFramework.IniFile != null && ChoETLFramework.IniFile.Contains(propertyName))
            {
                ChoETLFramework.WriteLog("'{0}' property discovered via application INI file.".FormatString(propertyName));
                _discoveredProperties.Add(propertyName, true);
                return(true);
            }
            else if (ChoAppSettings.Contains(propertyName))
            {
                ChoETLFramework.WriteLog("'{0}' property discovered via application config file.".FormatString(propertyName));
                _discoveredProperties.Add(propertyName, true);
                return(true);
            }

            ChoETLFramework.WriteLog("'{0}' property NOT found in any sources.".FormatString(propertyName));
            _discoveredProperties.Add(propertyName, false);
            return(false);
            //return cmdLineArgValue.IsNullOrWhiteSpace() ? ChoAppSettings.Contains(propertyName) : true;
        }