Exemplo n.º 1
0
 public ReadDAL(DalConfig config)
 {
     this.m_factory          = config.ProviderFactory;
     this.m_ConnectionString = config.ConnectionString;
     this.m_reservedWords    = this.PopulateReservedWords();
 }
Exemplo n.º 2
0
    } // End Function EscapeString

    static void Main(string[] args)
    {
        string ms = GetMsCon();
        string pg = GetPgCon();

        ms = EscapeString(ms);
        pg = EscapeString(pg);

        // DESKTOP-4P9UFE8
        System.Console.WriteLine($"MS: {ms}\r\nPG: {pg}");

        ConsoleEnvironment env = new ConsoleEnvironment();

        // https://stackoverflow.com/questions/40169673/read-appsettings-in-asp-net-core-console-application


        // Microsoft.Extensions.Configuration
        // Microsoft.Extensions.Configuration.Json
        // Set to copy to output
        Microsoft.Extensions.Configuration.IConfigurationBuilder builder =
            new Microsoft.Extensions.Configuration.ConfigurationBuilder()
            .SetBasePath(env.ContentRootPath)
            .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
            .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
            .AddJsonFile($"appsettings.{env.MachineName}.json", optional: true)
            .AddEnvironmentVariables()
            .AddUserSecrets()
        ;



        // myc - connection
        // time added - dbtype
        // System.Collections.Generic.Dictionary<System.Guid, System.Data.Common.DbConnection> didi;
        // System.Collections.Generic.Dictionary<System.Guid, CoreDb.ReadDAL> didi;
        // new { DAL = CoreDb.ReadDAL, Con=null, dateTimeAdded}



        // '...Visual Studio 2017\Projects\Loggy\CoreDbTest\bin\Debug\netcoreapp1.0\appsettings.json'.'

        Config = builder.Build();

        Console.WriteLine($"option1 = {Config.GetSection("ConnectionStrings")[env.MachineName]}");

        System.Collections.Generic.List <string> list = new System.Collections.Generic.List <string>();


        foreach (IConfigurationSection kvp in Config.GetSection("ConnectionStrings").GetChildren())
        {
            System.Console.WriteLine($"{kvp.Key}:\t{kvp.Value}");

            if (System.StringComparer.OrdinalIgnoreCase.Equals(kvp.Key, env.MachineName))
            {
                System.Console.WriteLine(kvp.Value);
            }
        } // Next kvp



        foreach (IConfigurationSection kvp in Config.GetSection("ConnectionStrings").GetChildren())
        {
            System.Console.WriteLine($"{kvp.Key}:\t{kvp.Value}");


            if (System.StringComparer.OrdinalIgnoreCase.Equals(kvp.Key, env.MachineName))
            {
                System.Console.WriteLine(kvp.Value);
            }
        } // Next kvp



        // CoreDb.DalConfig conme = new CoreDb.DalConfig("constring");

        CoreDb.DalConfig con = new CoreDb.DalConfig(
            delegate(CoreDb.DalConfig config)
        {
            string sectionName = Config.GetSection("DbProviderName").Value;
            if (sectionName == null)
            {
                sectionName = "ConnectionStrings";
            }

            string cs = Config.GetSection(sectionName).GetSection(env.MachineName).Value;

            if (cs == null)
            {
                cs = Config.GetSection(sectionName).GetSection("DefaultConnection").Value;
            }

            if (cs == null)
            {
                throw new System.IO.InvalidDataException("No connection string found");
            }

            return(cs);
        }
            );


        System.Console.WriteLine(con.ConnectionString);



        string strJSO = Newtonsoft.Json.JsonConvert.SerializeObject(Config, Newtonsoft.Json.Formatting.Indented);

        System.Console.WriteLine(strJSO);

        // Overwrites configuration, but one value at a time,
        // does not replace entire section.
        string foo = Config.GetConnectionString("PG3");

        System.Console.WriteLine(foo);
        foo = Config.GetConnectionString("DefaultConnection");
        System.Console.WriteLine(foo);
        foo = Config.GetConnectionString("DefaultConnection2");
        System.Console.WriteLine(foo);


        Console.WriteLine("Hello World!");
    }