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; } }
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)); }
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); }