/// <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 = 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 + "成功。"); }