Example #1
0
        public void Regen(string[] args)
        {
            if (args.Length > 0)
            {
                string dataTypeStr = $"{generatorProjectName}.{modelNamespace}" + dbContextName;
                var    dataType    = Assembly.GetCallingAssembly().GetType(dataTypeStr);
                if (dataType != null)
                {
                    var context = Activator.CreateInstance(dataType) as DbContext;
                    using (context)
                    {
                        FileHelper.DeleteDataServiceStructure(
                            projectPath);
                        var gen = context.GetDataServiceGenerator(
                            "../../../", projectPath, projectName,
                            JsonPropertyFormatEnum.JsonStyle, DIContainer.ServiceProvider, true, true);
                        gen.Generate();
                    }
                }
            }
            else
            {
                if (!Directory.Exists("../../../" + outputFolder))
                {
                    Console.WriteLine("After scaffolded. Run again");
                    var proc1 = GeneralHelper.ExecuteScaffoldFromCmd(
                        "../../../", dbServer, dbName, username, password, outputFolder, dbContextName);
                }
                else
                {
                    var proc2 = GeneralHelper.ExecuteScaffoldFromCmd(
                        projectPath, dbServer, dbName, username, password, outputFolder, dbContextName);
                    proc2.WaitForExit();

                    var proc3 = GeneralHelper.ExecuteBuildProjectCmd("../../../../", $"{generatorProjectName} -c Release");
                    proc3.WaitForExit();

                    var proc4 = GeneralHelper.ExecuteRunDllCmd("../../Release/netcoreapp2.2", $"{generatorProjectName}.dll true");
                    proc4.WaitForExit();

                    Directory.Delete("../../../" + outputFolder, true);
                }
            }
        }