namespace Application.Cli
{
using Application;
using Database.dbo;
using DatabaseIntegrate.dbo;
using Framework.Cli;
using Framework.Cli.Config;
using Framework.DataAccessLayer;
using System.Collections.Generic;
using System.IO;
using System.Linq;
///
/// Command line interface application.
///
public class AppCliMain : AppCli
{
public AppCliMain() :
base(
typeof(HelloWorld).Assembly, // Register Application.Database dll
typeof(AppMain).Assembly) // Register Application dll
{
}
///
/// Set default values to create file ConfigCli.json if it does not exist.
///
protected override void InitConfigCli(ConfigCli configCli)
{
string appTypeName = UtilCli.AppTypeName(typeof(AppMain));
var folderNameAngular = File.Exists(UtilCli.FolderName + "Application.Website/") ? "Application.Website/" : "Framework/Framework.Cli/Template/Application.Website/";
configCli.WebsiteList.Add(new ConfigCliWebsite()
{
DomainNameList = new List(new ConfigCliWebsiteDomain[] { new ConfigCliWebsiteDomain { EnvironmentName = "DEV", DomainName = "localhost", AppTypeName = appTypeName } }),
FolderNameAngular = folderNameAngular,
});
// Default ConnectionString (Windows)
configCli.EnvironmentGet().ConnectionString = "Data Source=localhost; Initial Catalog=Application; Integrated Security=True;";
}
///
/// Cli command generate.
///
protected override void CommandGenerateIntegrate(GenerateIntegrateResult result)
{
// Hello World
result.Add(Data.Query().OrderBy(item => item.Name));
result.AddKey(nameof(HelloWorld.Name));
}
///
/// Cli command deploy.
///
protected override void CommandDeployDbIntegrate(DeployDbIntegrateResult result)
{
// Hello World
result.Add(HelloWorldIntegrateAppCli.RowList);
}
}
}