Table of Contents

Class AbstractConsoleEngine

Namespace
CLI.CliniCore.Service
Assembly
CLI.CliniCore.dll
public abstract class AbstractConsoleEngine : IConsoleEngine, IDisposable
Inheritance
AbstractConsoleEngine
Implements
Derived
Inherited Members

Constructors

AbstractConsoleEngine(ConsoleSessionManager, ConsoleMenuBuilder?, CommandInvoker)

protected AbstractConsoleEngine(ConsoleSessionManager sessionManager, ConsoleMenuBuilder? menuBuilder, CommandInvoker commandInvoker)

Parameters

sessionManager ConsoleSessionManager
menuBuilder ConsoleMenuBuilder
commandInvoker CommandInvoker

Fields

_breadcrumbs

protected readonly Stack<string> _breadcrumbs

Field Value

Stack<string>

_cancellationTokenSource

protected readonly CancellationTokenSource _cancellationTokenSource

Field Value

CancellationTokenSource

_commandInvoker

protected readonly CommandInvoker _commandInvoker

Field Value

CommandInvoker

_console

protected readonly ThreadSafeConsoleManager _console

Field Value

ThreadSafeConsoleManager

_isRunning

protected bool _isRunning

Field Value

bool

_menuBuilder

protected ConsoleMenuBuilder _menuBuilder

Field Value

ConsoleMenuBuilder

_sessionManager

protected readonly ConsoleSessionManager _sessionManager

Field Value

ConsoleSessionManager

Methods

Clear()

public virtual void Clear()

Confirm(string, bool)

public virtual bool Confirm(string prompt, bool defaultValue = false)

Parameters

prompt string
defaultValue bool

Returns

bool

DisplayHeader(string)

public virtual void DisplayHeader(string text)

Parameters

text string

DisplayMenu(ConsoleMenu)

public virtual void DisplayMenu(ConsoleMenu menu)

Parameters

menu ConsoleMenu

DisplayMessage(string, MessageType)

public virtual void DisplayMessage(string message, MessageType type = MessageType.Info)

Parameters

message string
type MessageType

DisplaySeparator()

public virtual void DisplaySeparator()

DisplayTable<T>(IEnumerable<T>, params (string Header, Func<T, string> ValueGetter)[])

public virtual void DisplayTable<T>(IEnumerable<T> items, params (string Header, Func<T, string> ValueGetter)[] columns)

Parameters

items IEnumerable<T>
columns (string Header, Func<T, string> ValueGetter)[]

Type Parameters

T

DisplayWelcome()

protected virtual void DisplayWelcome()

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public virtual void Dispose()

GetBreadcrumb()

public virtual string GetBreadcrumb()

Returns

string

GetMessageColors(MessageType)

protected virtual (ConsoleColor foreground, ConsoleColor? background) GetMessageColors(MessageType type)

Parameters

type MessageType

Returns

(ConsoleColor foreground, ConsoleColor? background)

GetSecureInput(string)

public abstract string? GetSecureInput(string prompt)

Parameters

prompt string

Returns

string

GetUserInput(string)

public abstract string? GetUserInput(string prompt)

Parameters

prompt string

Returns

string

Pause(string)

public virtual void Pause(string message = "Press any key to continue...")

Parameters

message string

PopBreadcrumb()

public virtual void PopBreadcrumb()

PushBreadcrumb(string)

public virtual void PushBreadcrumb(string crumb)

Parameters

crumb string

ResetColor()

public virtual void ResetColor()

SetColor(ConsoleColor, ConsoleColor?)

public virtual void SetColor(ConsoleColor foreground, ConsoleColor? background = null)

Parameters

foreground ConsoleColor
background ConsoleColor?

SetMenuBuilder(ConsoleMenuBuilder)

public void SetMenuBuilder(ConsoleMenuBuilder menuBuilder)

Parameters

menuBuilder ConsoleMenuBuilder

Start()

public virtual void Start()

Stop()

public virtual void Stop()