Esempio n. 1
0
        public static void PerformRepositoryGenerate(TargetLanguage targetLanguage, TargetDatabaseConnector targetDatabaseConnector, string connectionString, string directory, string @namespace)
        {
            IServiceGenerator strategy = default;
            var generator = new UnitOfWorkGenerator();

            switch (targetLanguage)
            {
            case TargetLanguage.CSharp:
                strategy = new CSharpStrategy(connectionString, directory, @namespace);
                break;

            case TargetLanguage.VisualBasic:
                strategy = new VisualBasicStrategy(connectionString, directory, @namespace);
                break;

            case TargetLanguage.TypeScript:
                strategy = new TypeScriptStrategy(connectionString, directory, @namespace);
                break;
            }
            switch (targetDatabaseConnector)
            {
            case TargetDatabaseConnector.SQLServer:
                strategy.SetGenerator <SqlConnection, SqlParameter>((x) => $"[{x}]");
                break;

            case TargetDatabaseConnector.Oracle:
                strategy.SetGenerator <OracleConnection, OracleParameter>();
                break;

            case TargetDatabaseConnector.MySQL:
                strategy.SetGenerator <MySqlConnection, MySqlParameter>();
                break;

            case TargetDatabaseConnector.PostgreSQL:
                strategy.SetGenerator <NpgsqlConnection, NpgsqlParameter>();
                break;

            case TargetDatabaseConnector.SQLite:
                strategy.SetGenerator <SQLiteConnection, SQLiteParameter>();
                break;
            }
            generator.UseStrategy(strategy);
            generator.Generate();
        }
 public static void ClassInit(TestContext textContext)
 {
     domainService            = new NewsLetterService();
     domainService.UnitOfWork = UnitOfWorkGenerator.MockUnitOfWork();
     AutoMapperInit.BuildMap();
 }
Esempio n. 3
0
        public static void PerformStrategyGenerate(TargetLanguage targetLanguage, TargetDatabaseConnector targetDatabaseConnector, string connectionString, string directory, string @namespace)
        {
            switch (targetLanguage)
            {
            case TargetLanguage.CSharp:
                switch (targetDatabaseConnector)
                {
                case TargetDatabaseConnector.SQLServer:
                    var strategy1  = new CSharpSingletonStrategy <SqlConnection>(connectionString, directory, @namespace, (x) => $"[{x}]");
                    var generator1 = new UnitOfWorkGenerator <SqlConnection>();
                    generator1.UseStrategy(strategy1);
                    generator1.Generate();
                    break;

                case TargetDatabaseConnector.Oracle:
                    var strategy2  = new CSharpSingletonStrategy <OracleConnection>(connectionString, directory, @namespace);
                    var generator2 = new UnitOfWorkGenerator <OracleConnection>();
                    generator2.UseStrategy(strategy2);
                    generator2.Generate();
                    break;

                case TargetDatabaseConnector.MySQL:
                    var strategy3  = new CSharpSingletonStrategy <MySqlConnection>(connectionString, directory, @namespace);
                    var generator3 = new UnitOfWorkGenerator <MySqlConnection>();
                    generator3.UseStrategy(strategy3);
                    generator3.Generate();
                    break;

                case TargetDatabaseConnector.PostgreSQL:
                    var strategy4  = new CSharpSingletonStrategy <NpgsqlConnection>(connectionString, directory, @namespace);
                    var generator4 = new UnitOfWorkGenerator <NpgsqlConnection>();
                    generator4.UseStrategy(strategy4);
                    generator4.Generate();
                    break;
                }
                break;

            case TargetLanguage.VisualBasic:
                switch (targetDatabaseConnector)
                {
                case TargetDatabaseConnector.SQLServer:
                    var strategy1  = new VisualBasicSingletonStrategy <SqlConnection>(connectionString, directory, @namespace, (x) => $"[{x}]");
                    var generator1 = new UnitOfWorkGenerator <SqlConnection>();
                    generator1.UseStrategy(strategy1);
                    generator1.Generate();
                    break;

                case TargetDatabaseConnector.Oracle:
                    var strategy2  = new VisualBasicSingletonStrategy <OracleConnection>(connectionString, directory, @namespace);
                    var generator2 = new UnitOfWorkGenerator <OracleConnection>();
                    generator2.UseStrategy(strategy2);
                    generator2.Generate();
                    break;

                case TargetDatabaseConnector.MySQL:
                    var strategy3  = new VisualBasicSingletonStrategy <MySqlConnection>(connectionString, directory, @namespace);
                    var generator3 = new UnitOfWorkGenerator <MySqlConnection>();
                    generator3.UseStrategy(strategy3);
                    generator3.Generate();
                    break;

                case TargetDatabaseConnector.PostgreSQL:
                    var strategy4  = new VisualBasicSingletonStrategy <NpgsqlConnection>(connectionString, directory, @namespace);
                    var generator4 = new UnitOfWorkGenerator <NpgsqlConnection>();
                    generator4.UseStrategy(strategy4);
                    generator4.Generate();
                    break;
                }
                break;
            }
        }