Esempio n. 1
0
        private void ProcessField(DialogField field)
        {
            Console.Clear();

            var suffix = !string.IsNullOrEmpty(field.Text) ? $" for '{field.Text}'" : string.Empty;

            Console.WriteLine($"Input is requested{suffix}:");

            switch (field.Type)
            {
            case DialogFieldType.TextBox:
                field.Result = _argumentGetter.GetNextArgument();
                break;

            case DialogFieldType.DropDown:
                GetDropDownArgument(field);
                break;
            }
        }
Esempio n. 2
0
        public async Task <IContext> ExecuteNext(IArgumentGetter argumentGetter)
        {
            var commandName = argumentGetter.GetNextArgument();

            // Check if command exists
            var command = Commands.FirstOrDefault(x => x.Name == commandName);

            if (command == null)
            {
                Console.WriteLine($"Command '{commandName}' is not supported.");
                return(this);
            }

            Console.Clear();

            // Execute command
            var arguments = argumentGetter.GetNextArguments(command.Arguments.Length);

            return(await ExecuteNextInternal(command, arguments));
        }
Esempio n. 3
0
        private static void PluginManager_OnManualSelection(object sender, ManualSelectionEventArgs e)
        {
            Console.WriteLine("No plugin could identify the file!");
            Console.WriteLine("Select a plugin manually:");

            foreach (var filePlugin in e.FilePlugins)
            {
                Console.WriteLine($"[{filePlugin.PluginId}] - {filePlugin.Metadata.Name} | {string.Join(';', filePlugin.FileExtensions)}");
            }

            var idArgument = _argumentGetter.GetNextArgument();

            if (!Guid.TryParse(idArgument, out var pluginId))
            {
                Console.WriteLine($"'{idArgument}' is not a valid plugin ID.");
                e.Result = null;
                return;
            }

            Console.Clear();
            e.Result = e.FilePlugins.FirstOrDefault(x => x.PluginId == pluginId);
        }