/// <summary>
        /// Return connection name without leading namespace
        /// </summary>
        /// <returns></returns>
        public string RealName()
        {
            var helper      = new AssemblyHelpers();
            var workSection = $"{Path.GetFileNameWithoutExtension(helper.CallingNamespace())}.Properties.Settings.";

            return(Name.Replace(workSection, ""));
        }
Exemple #2
0
        /// <summary>
        /// Get properties for a single connection string
        /// </summary>
        /// <param name="pConnectionName"></param>
        /// <returns></returns>
        public ConnectionProperties Properties(string pConnectionName)
        {
            var connectionProperties = new ConnectionProperties();

            if (ConnectionStrings.Cast <ConnectionStringSettings>().FirstOrDefault((css) => css.Name == pConnectionName) == null)
            {
                return(connectionProperties);
            }

            Configuration configuration = OpenExeConfiguration(_assemblyHelpers.CallingNamespace());
            var           section       = (ConnectionStringsSection)configuration.GetSection("connectionStrings");

            try
            {
                var currentConnectionString = section.ConnectionStrings[pConnectionName].ConnectionString;

                var builder = new SqlConnectionStringBuilder
                {
                    ConnectionString = currentConnectionString
                };

                connectionProperties = new ConnectionProperties
                {
                    DataSource         = builder.DataSource,
                    InitialCatalog     = builder.InitialCatalog,
                    Authentication     = builder.Authentication,
                    AttachDbFilename   = builder.AttachDBFilename,
                    IntegratedSecurity = builder.IntegratedSecurity,
                    IsValid            = true
                };
            }
            catch (Exception)
            {
                connectionProperties.IsValid = false;
            }

            return(connectionProperties);
        }