/// <summary> /// 执行命令。 /// </summary> /// <param name="context">命令执行上下文。</param> public override void Execute(CommandExecuteContext context) { var settings = ShellSettingsManager.LoadSettings() .FirstOrDefault(i => i.Name.Equals(TenantName, StringComparison.OrdinalIgnoreCase)); if (settings == null) { context.WriteLine("找名称为 '{0}' 的租户信息。", TenantName); return; } if (Domains == null) { Domains = new List <string>(); } Domains = Domains.Where(i => !string.IsNullOrWhiteSpace(i)).Select(i => i.Trim()).ToList(); var host = settings["RequestUrlHost"]; string[] hosts = null; var msg = string.Empty; context.Is(() => { msg = "添加"; var list = string.IsNullOrWhiteSpace(host) ? new string[0] : host.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray(); var domains = Domains.Where(i => !list.Any(d => i.Equals(d, StringComparison.OrdinalIgnoreCase))); hosts = list.Concat(domains).ToArray(); }, "Add-SiteDomain"); context.Is(() => { msg = "设置"; hosts = Domains.ToArray(); }, "Set-SiteDomain"); context.Is(() => { msg = "删除"; var list = string.IsNullOrWhiteSpace(host) ? new string[0] : host.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray(); hosts = list.Where(i => !Domains.Any(d => i.Equals(d, StringComparison.OrdinalIgnoreCase))).ToArray(); }, "Remove-SiteDomain", "Delete-SiteDomain"); if (hosts == null) { return; } settings["RequestUrlHost"] = string.Join(",", hosts); ShellSettingsManager.SaveSettings(settings); context.WriteLine(msg + "成功。"); }
/// <summary> /// 执行命令。 /// </summary> /// <param name="context">命令执行上下文。</param> public override void Execute(CommandExecuteContext context) { var settings = SettingsManager.LoadSettings().FirstOrDefault(i => string.Equals(i.Name, TenantName, StringComparison.OrdinalIgnoreCase)); var isAdd = settings == null; if (settings != null && !Quiet) { context.WriteLine("已经存在名称为 '{0}' 的租户,确定要替换吗?\t输入'Y'继续执行,输入其他则终止执行。", TenantName); var t = context.Read("y"); if (!t.Equals("y", StringComparison.OrdinalIgnoreCase)) { return; } } else { settings = new ShellSettings(); } if (List != null) { foreach (var temp in List.Where(i => !string.IsNullOrWhiteSpace(i))) { var index = temp.IndexOf("=", StringComparison.Ordinal); if (index == -1) { continue; } var key = temp.Substring(0, index).Escape(); var value = temp.Substring(index); if (value.StartsWith("=")) { value = value.Remove(0, 1); } if (string.IsNullOrWhiteSpace(value)) { continue; } value = value.Escape(); settings[key] = value.Escape(); } } settings.Name = TenantName; settings.State = State; SettingsManager.SaveSettings(settings); context.WriteLine("{0}租户 '{1}' 成功。", isAdd ? "添加" : "修改", TenantName); }
/// <summary> /// 执行命令。 /// </summary> /// <param name="context">命令执行上下文。</param> public override void Execute(CommandExecuteContext context) { var command = _commandService.GetCommand(FindName); context.Write(Environment.NewLine); if (command == null) { context.WriteLine("找不到名称为 \"{0}\",的命令。", FindName); } else { context.WriteLine("下面是命令 '{0}' 的帮助信息。", FindName); context.WriteLine(command.GetUsage()); } }
/// <summary> /// 执行命令。 /// </summary> /// <param name="context">命令执行上下文。</param> public override void Execute(CommandExecuteContext context) { var setting = SettingsManager.LoadSettings() .FirstOrDefault(i => TenantName.Equals(i.Name, StringComparison.OrdinalIgnoreCase)); if (setting == null) { context.WriteLine("找不到任何可用的租户信息。"); } GetTenantsCommand.WriteSetting(new[] { setting }, context); }
/// <summary> /// 执行命令。 /// </summary> /// <param name="context">命令执行上下文。</param> public override void Execute(CommandExecuteContext context) { var settings = ShellSettingsManager.LoadSettings() .FirstOrDefault(i => i.Name.Equals(TenantName, StringComparison.OrdinalIgnoreCase)); if (settings == null) { context.WriteLine("找名称为 '{0}' 的租户信息。", TenantName); return; } if (Domains == null) Domains = new List<string>(); Domains = Domains.Where(i => !string.IsNullOrWhiteSpace(i)).Select(i => i.Trim()).ToList(); var host = settings["RequestUrlHost"]; string[] hosts = null; var msg = string.Empty; context.Is(() => { msg = "添加"; var list = string.IsNullOrWhiteSpace(host) ? new string[0] : host.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray(); var domains = Domains.Where(i => !list.Any(d => i.Equals(d, StringComparison.OrdinalIgnoreCase))); hosts = list.Concat(domains).ToArray(); }, "Add-SiteDomain"); context.Is(() => { msg = "设置"; hosts = Domains.ToArray(); }, "Set-SiteDomain"); context.Is(() => { msg = "删除"; var list = string.IsNullOrWhiteSpace(host) ? new string[0] : host.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray(); hosts = list.Where(i => !Domains.Any(d => i.Equals(d, StringComparison.OrdinalIgnoreCase))).ToArray(); }, "Remove-SiteDomain", "Delete-SiteDomain"); if (hosts == null) return; settings["RequestUrlHost"] = string.Join(",", hosts); ShellSettingsManager.SaveSettings(settings); context.WriteLine(msg + "成功。"); }
/// <summary> /// 执行命令。 /// </summary> /// <param name="context">命令执行上下文。</param> public override void Execute(CommandExecuteContext context) { var setting = SettingsManager.LoadSettings() .FirstOrDefault(i => i.Name.Equals(TenantName, StringComparison.OrdinalIgnoreCase)); if (setting == null) { context.WriteLine("找不到名称为 '{0}' 的租户。", TenantName); return; } if (!Quiet) { context.WriteLine("确定要删除租户 '{0}' 吗?\t输入'Y'继续执行,输入其他则终止执行。", setting.Name); var t = context.Read("y"); if (!t.Equals("y", StringComparison.OrdinalIgnoreCase)) { return; } } SettingsManager.DeleteSettings(TenantName); context.WriteLine("成功删除租户 '{0}'。", TenantName); }
/// <summary> /// 执行命令。 /// </summary> /// <param name="context">命令执行上下文。</param> public override void Execute(CommandExecuteContext context) { var settings = SettingsManager.LoadSettings().FirstOrDefault(i => string.Equals(i.Name, TenantName, StringComparison.OrdinalIgnoreCase)); var isAdd = settings == null; if (settings != null && !Quiet) { context.WriteLine("已经存在名称为 '{0}' 的租户,确定要替换吗?\t输入'Y'继续执行,输入其他则终止执行。", TenantName); var t = context.Read("y"); if (!t.Equals("y", StringComparison.OrdinalIgnoreCase)) return; } else settings = new ShellSettings(); if (List != null) { foreach (var temp in List.Where(i => !string.IsNullOrWhiteSpace(i))) { var index = temp.IndexOf("=", StringComparison.Ordinal); if (index == -1) continue; var key = temp.Substring(0, index).Escape(); var value = temp.Substring(index); if (value.StartsWith("=")) value = value.Remove(0, 1); if (string.IsNullOrWhiteSpace(value)) continue; value = value.Escape(); settings[key] = value.Escape(); } } settings.Name = TenantName; settings.State = State; SettingsManager.SaveSettings(settings); context.WriteLine("{0}租户 '{1}' 成功。", isAdd ? "添加" : "修改", TenantName); }
/// <summary> /// 执行命令。 /// </summary> /// <param name="context">命令执行上下文。</param> public override void Execute(CommandExecuteContext context) { var commands = _commandService.GetCommands(); //命令信息 if (commands == null) return; var help = CommandHelper.GetHelpText(); foreach (var text in commands .Select(i => { var usage = i.GetUsage(); return string.IsNullOrWhiteSpace(usage) ? i.CommandName : usage; })) { help.AddPreOptionsLine(text); } context.WriteLine(help); }
/// <summary> /// 执行命令。 /// </summary> /// <param name="context">命令执行上下文。</param> public override void Execute(CommandExecuteContext context) { var commands = _commandService.GetCommands(); //命令信息 if (commands == null) { return; } var help = CommandHelper.GetHelpText(); foreach (var text in commands .Select(i => { var usage = i.GetUsage(); return(string.IsNullOrWhiteSpace(usage) ? i.CommandName : usage); })) { help.AddPreOptionsLine(text); } context.WriteLine(help); }
/// <summary> /// 执行命令。 /// </summary> /// <param name="context">命令执行上下文。</param> public override void Execute(CommandExecuteContext context) { var setting = SettingsManager.LoadSettings() .FirstOrDefault(i => i.Name.Equals(TenantName, StringComparison.OrdinalIgnoreCase)); if (setting == null) { context.WriteLine("找不到名称为 '{0}' 的租户。", TenantName); return; } if (!Quiet) { context.WriteLine("确定要删除租户 '{0}' 吗?\t输入'Y'继续执行,输入其他则终止执行。", setting.Name); var t = context.Read("y"); if (!t.Equals("y", StringComparison.OrdinalIgnoreCase)) return; } SettingsManager.DeleteSettings(TenantName); context.WriteLine("成功删除租户 '{0}'。", TenantName); }
/// <summary> /// 执行命令。 /// </summary> /// <param name="context">命令执行上下文。</param> public override void Execute(CommandExecuteContext context) { var setting = SettingsManager.LoadSettings() .FirstOrDefault(i => TenantName.Equals(i.Name, StringComparison.OrdinalIgnoreCase)); if (setting == null) context.WriteLine("找不到任何可用的租户信息。"); GetTenantsCommand.WriteSetting(new[] { setting }, context); }