Пример #1
0
        private async void btnCreateProject_Click(object sender, EventArgs e)
        {
            btnCreateProject.Enabled = false;
            try
            {
                var parameters = new CreateProjectParameters();
                parameters.ProjectType        = GetSelectedProjectType();
                parameters.ProjectName        = tbProjectName.Text;
                parameters.ProjectDescription = tbDescription.Text;
                parameters.ORM               = GetSelectedORM();
                parameters.Database          = GetSelectedDatabase();
                parameters.ConnectionString  = tbConnectionString.Text;
                parameters.UseDefaultPlugins = tbUseDefaultPlugins.Text;
                parameters.OutputDirectory   = tbOutputDirectory.Text;
                var creator = new ProjectCreator(parameters);
                await Task.Run(() => creator.CreateProject());

                MessageBox.Show(Resources.CreatedSuccessfully);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                btnCreateProject.Enabled = true;
            }
        }
Пример #2
0
        public static void Main(string[] args)
        {
            var parameters = new CreateProjectParameters();
            var showHelp   = false;
            var optionSet  = new OptionSet()
            {
                { "t|type=", Resources.AspNetAspNetCoreOrOwin, t => parameters.ProjectType = t },
                { "n|name=", Resources.ProjectName, n => parameters.ProjectName = n },
                { "d|description=", Resources.ProjectDescription, d => parameters.ProjectDescription = d },
                { "m|orm=", Resources.DapperEFCoreMongoDBOrNHibernate, m => parameters.ORM = m },
                { "b|database=", Resources.MSSQLMySQLSQLiteMongoDBOrPostgreSQL, d => parameters.Database = d },
                { "c|connectionString=", Resources.TheConnectionString, c => parameters.ConnectionString = c },
                { "u|useDefaultPlugins=", Resources.TheLocationOfPluginCollectionJson, u => parameters.UseDefaultPlugins = u },
                { "o|output=", Resources.OutputDirectory, o => parameters.OutputDirectory = o },
                { "h|help", Resources.ShowThisMessageAndExit, h => showHelp = (h != null) }
            };

            try
            {
                optionSet.Parse(args);
                if (showHelp)
                {
                    var optionDescriptions = new StringWriter();
                    optionSet.WriteOptionDescriptions(optionDescriptions);
                    Console.WriteLine("ProjectCreator 2.0:");
                    Console.WriteLine(optionDescriptions.ToString());
                    Console.WriteLine();
                    Console.WriteLine("Example:");
                    Console.WriteLine("dotnet ZKWeb.Toolkits.ProjectCreator.Cmd.dll --type=AspNetCore --name=Hello.World --orm=NHibernate --database=SQLite --connectionString=\"Data Source={{App_Data}}/test.db;\" --output=/home/ubuntu");
                    return;
                }
                var creator = new ProjectCreator(parameters);
                creator.CreateProject();
                Console.WriteLine("success");
            }
            catch (Exception e)
            {
                if (e is OptionException || e is ArgumentException)
                {
                    Console.WriteLine(e.Message);
                    Console.WriteLine(Resources.TryProjectCreatorHelpForMoreInformation);
                }
                else
                {
                    Console.WriteLine(e.ToString());
                }
            }
        }
Пример #3
0
        public static void Main(string[] args)
        {
            var parameters = new CreateProjectParameters();
            var showHelp   = false;
            var optionSet  = new OptionSet()
            {
                { "t|type=", "AspNet, AspNetCore or Owin", t => parameters.ProjectType = t },
                { "n|name=", "Project name", n => parameters.ProjectName = n },
                { "d|description=", "Project description", d => parameters.ProjectDescription = d },
                { "m|orm=", "Dapper, EFCore, MongoDB or NHibernate", m => parameters.ORM = m },
                { "b|database=", "MSSQL, MySQL, SQLite, MongoDB or PostgreSQL", d => parameters.Database = d },
                { "c|connectionString=", "The connection string", c => parameters.ConnectionString = c },
                { "u|useDefaultPlugins=",
                  "The location of plugin.collection.json, if you want to use default plugins",
                  u => parameters.UseDefaultPlugins = u },
                { "o|output=", "Output directory", o => parameters.OutputDirectory = o },
                { "h|help", "Show this message and exit", h => showHelp = (h != null) }
            };

            try {
                optionSet.Parse(args);
                if (showHelp)
                {
                    var optionDescriptions = new StringWriter();
                    optionSet.WriteOptionDescriptions(optionDescriptions);
                    Console.WriteLine("ProjectCreator:");
                    Console.WriteLine(optionDescriptions.ToString());
                    return;
                }
                var creator = new ProjectCreator(parameters);
                creator.CreateProject();
                Console.WriteLine("success");
            } catch (Exception e) {
                if (e is OptionException || e is ArgumentException)
                {
                    Console.WriteLine(e.Message);
                    Console.WriteLine("Try `ProjectCreator --help` for more information");
                }
                else
                {
                    Console.WriteLine(e.ToString());
                }
            }
        }
        public async Task <ActionResult <ProjectItem> > CreateItem([FromBody] CreateProjectParameters parameters)
        {
            try
            {
                var command = new CreateProjectItemCommand
                {
                    Name        = parameters.Name,
                    Description = parameters.Description
                };

                ProjectItem projectItem = await _projectRepository.CreateProject(command);

                return(projectItem);
            }
            catch (Exception e)
            {
                //Logger.Log(e);
                return(BadRequest());
            }
        }
Пример #5
0
 /// <summary>
 /// Initialize
 /// </summary>
 /// <param name="parameters">Create project parameters</param>
 public ProjectCreator(CreateProjectParameters parameters)
 {
     parameters.Check();
     Parameters = parameters;
 }