public override async Task <IISSitesOptions> Aquire(IInputService input, RunLevel runLevel) { var ret = new IISSitesOptions(); var sites = _siteHelper.GetSites(true). Where(x => !_arguments.MainArguments.HideHttps || x.Https == false). Where(x => x.Hosts.Any()). ToList(); if (!sites.Any()) { _log.Error($"No sites with named bindings have been configured in IIS. Add one or choose '{ManualOptions.DescriptionText}'."); return(null); } input.WritePagedList( sites.Select(x => Choice.Create(x, $"{x.Name} ({x.Hosts.Count()} binding{(x.Hosts.Count()==1?"":"s")})", x.Id.ToString(), color: x.Https ? ConsoleColor.DarkGray : (ConsoleColor?)null)).ToList()); var sanInput = await input.RequestString("Enter a comma separated list of SiteIds or 'S' for all sites"); sites = ProcessSiteIds(ret, sites, sanInput); if (sites != null) { var hosts = sites.SelectMany(x => x.Hosts).Distinct().OrderBy(x => x); if (await _optionsHelper.AquireAdvancedOptions(input, hosts, runLevel, ret)) { return(ret); } } return(null); }
public override IISSitesOptions Aquire(IArgumentsService arguments, IInputService input, RunLevel runLevel) { var ret = new IISSitesOptions(); var sites = _siteHelper.GetSites(arguments.MainArguments.HideHttps, true). Where(x => x.Hidden == false). Where(x => x.Hosts.Any()). ToList(); if (!sites.Any()) { _log.Error($"No sites with named bindings have been configured in IIS. Add one or choose '{ManualOptions.DescriptionText}'."); return(null); } input.WritePagedList(sites.Select(x => Choice.Create(x, $"{x.Name} ({x.Hosts.Count()} bindings)", x.Id.ToString())).ToList()); var sanInput = input.RequestString("Enter a comma separated list of SiteIds or 'S' for all sites"); sites = ProcessSiteIds(ret, sites, sanInput); if (sites == null) { return(null); } var hosts = sites.SelectMany(x => x.Hosts).Distinct().OrderBy(x => x); if (_optionsHelper.AquireAdvancedOptions(input, hosts, runLevel, ret)) { return(ret); } return(ret); }
public override IISSiteOptions Aquire(IArgumentsService arguments, IInputService input, RunLevel runLevel) { var ret = new IISSiteOptions(); var sites = _siteHelper. GetSites(arguments.MainArguments.HideHttps, true). Where(x => x.Hidden == false). Where(x => x.Hosts.Any()); if (!sites.Any()) { _log.Error($"No sites with named bindings have been configured in IIS. Add one or choose '{ManualOptions.DescriptionText}'."); return(null); } var chosen = input.ChooseFromList("Choose site", sites, x => Choice.Create(x, x.Name), "Abort"); if (chosen != null) { ret.SiteId = chosen.Id; if (_optionsHelper.AquireAdvancedOptions(input, chosen.Hosts, runLevel, ret)) { return(ret); } } return(null); }
public async override Task <IISSiteOptions> Aquire(IInputService input, RunLevel runLevel) { var ret = new IISSiteOptions(); var sites = _siteHelper. GetSites(true). Where(x => !_arguments.MainArguments.HideHttps || x.Https == false). Where(x => x.Hosts.Any()); if (!sites.Any()) { _log.Error($"No sites with named bindings have been configured in IIS. Add one or choose '{ManualOptions.DescriptionText}'."); return(null); } var chosen = await input.ChooseFromList("Choose site", sites, x => Choice.Create(x, $"{x.Name} ({x.Hosts.Count()} binding{(x.Hosts.Count() == 1 ? "" : "s")})", x.Id.ToString(), color: x.Https ? ConsoleColor.DarkGray : (ConsoleColor?)null), "Abort"); if (chosen != null) { ret.SiteId = chosen.Id; if (await _optionsHelper.AquireAdvancedOptions(input, chosen.Hosts, runLevel, ret)) { return(ret); } } return(null); }