public static IEnumerable <Entry> GetIds(IServiceProvider serviceProvider)
        {
            var options = IdMsoPackage.GetOptions(serviceProvider);

            if (options.OfficeVersion == OfficeVersion.NotSpecified || options.OfficeApplication == OfficeApplication.NotSpecified)
            {
                OptionsPrompt.EditOptions(options);

                if (options.OfficeVersion == OfficeVersion.NotSpecified || options.OfficeApplication == OfficeApplication.NotSpecified)
                {
                    return(new List <Entry>());
                }
            }

            return(GetIdsFromCache(options.OfficeVersion, options.OfficeApplication).ToList());
        }
        public static IEnumerable <Completion> GetMsoImages(IServiceProvider serviceProvider)
        {
            var options = IdMsoPackage.GetOptions(serviceProvider);

            if (options.OfficeVersion == OfficeVersion.NotSpecified)
            {
                OptionsPrompt.EditOptions(options);

                if (options.OfficeVersion == OfficeVersion.NotSpecified)
                {
                    return(new List <Completion>());
                }
            }

            return(GetMsoImagesFromCache(options.OfficeVersion));
        }
 private void PrintResults(List <Prompt> prompts)
 {
     foreach (var pr in prompts)
     {
         OptionsPrompt optionsPrompt = pr as OptionsPrompt;
         if (optionsPrompt != null)
         {
             Console.WriteLine($"  {pr.Text}:");
             foreach (var uo in optionsPrompt.UserOptions)
             {
                 if (uo.IsSelected)
                 {
                     Console.WriteLine($"    {uo.Text}[{((Template)uo.Value).TemplatePackId}] => {uo.IsSelected}");
                 }
             }
         }
         else
         {
             Console.WriteLine($"  {pr.Text} => {pr.Result}");
         }
     }
 }