示例#1
0
        /// <summary>
        /// <para>Return dbConfig.AdminConnectionString if set, elsewhere AdminConnectionString is build from dbConfig settings</para>
        /// <para>
        /// if <paramref name="validateAdminUserAndPassword"/> is TRUE (default is FALSE), exception will be thrown if an invalid AdminUser or AdminPassword is found:<br/>
        /// - If both of them is invalid, an <see cref="AggregateException"></see> will be thrown<br/>
        /// - If only one of them is invalid, an <see cref="ArgumentNullException"></see> or <see cref="ArgumentException"></see> will be thrown
        /// </para>
        /// </summary>
        /// <param name="dbConfig"></param>
        /// <param name="validateAdminUserAndPassword"></param>
        /// <returns></returns>
        public static string GetAdminConnectionString(this IDbConfig dbConfig, bool validateAdminUserAndPassword = false)
        {
            if (validateAdminUserAndPassword)
            {
                // Will throw exception if fail
                dbConfig.ValidateDatabaseAdminValues();
            }

            if (!string.IsNullOrEmpty(dbConfig.AdminConnectionString))
            {
                return(dbConfig.AdminConnectionString);
            }

            return(BuildAdminConnectionString(dbConfig));
        }