Ejemplo n.º 1
0
        private void CreateContextAndConfig(List <EntityType> tablesType, Application application, string appPath)
        {
            bool generated = DbContextGenerator.Generate(application.Name, appPath, tablesType);

            if (generated)
            {
                //Create web.config
                string connectionString = Globals.GetSQLServerConnectionString(application);
                ApplicationUtilities.CreateWebConfig(appPath, application, connectionString);

                //Create Global.asax
                ApplicationUtilities.CreateGlobalAsax(application, appPath);
            }
        }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            var logger = new LoggerConfiguration().WriteTo.ColoredConsole().CreateLogger();

            Log.Logger = logger;

            logger.Information("Parsing options");
            var parser      = CreateArgumentParser(logger);
            var parseResult = parser.Parse(args);

            if (parseResult.HelpCalled)
            {
                return;
            }

            if (parseResult.HasErrors)
            {
                logger.Warning("Some required options are missing (see below). Please use '-?', '/?', '/help' or '--help' parameter to get list of options.");
                foreach (var error in parseResult.Errors)
                {
                    logger.Error(
                        $"'{error.Option.Description}' was not found.");
                }
            }
            else
            {
                logger.Information("Options successfully parsed. Generating DbContext");
                var parsedArguments = parser.Object;
                var generator       = new DbContextGenerator();
                try
                {
                    generator.Generate(parsedArguments.DbContextName, parsedArguments.EntitiesNamespace,
                                       parsedArguments.DataNamespace, parsedArguments.EntitiesDll, parsedArguments.EntityBaseClass);
                }
                catch (GenerationException exception)
                {
                    logger.Error(exception, exception.Message);
                }
                catch (Exception exception)
                {
                    logger.Fatal(exception, "Unknow error occured. Details: {error}", exception.Message);
                }
            }
        }
        public void Test01_Generate_TestDbContext_For_All_Entities()
        {
            var dll = Path.Combine(Directory.GetCurrentDirectory(),
                                   @"SSW.DataOnion.CodeGenerator.Tests.Unit.dll");
            var generator = new DbContextGenerator();

            generator.Generate("TestDbContext", "SSW.DataOnion.CodeGenerator.Tests.Unit.TestEntities", "SSW.DataOnion.CodeGenerator.Tests.Unit", dll);
            var expectedDbContextContents =
                ResourceReader.GetResourceContents(
                    "SSW.DataOnion.CodeGenerator.Tests.Unit.Resources.TestDbContext.output");
            var generatedFileContent = File.ReadAllText("TestDbContext.gen.cs");

            try
            {
                Assert.Equal(expectedDbContextContents, generatedFileContent);
            }
            finally
            {
                File.Delete("TestDbContext.gen.cs");
            }
        }