SpectreConsoleLibrary 1.0.0

dotnet add package SpectreConsoleLibrary --version 1.0.0
NuGet\Install-Package SpectreConsoleLibrary -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SpectreConsoleLibrary" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SpectreConsoleLibrary --version 1.0.0
#r "nuget: SpectreConsoleLibrary, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SpectreConsoleLibrary as a Cake Addin
#addin nuget:?package=SpectreConsoleLibrary&version=1.0.0

// Install SpectreConsoleLibrary as a Cake Tool
#tool nuget:?package=SpectreConsoleLibrary&version=1.0.0

About

Provides easy to use common prompts.

Included

Name Description Comments
GetFirstName prompt for first name Allows no input which returns an empty string
GetMiddleName prompt for first name Allows no input which returns an empty string
GetLastName prompt for last name Allows no input which returns an empty string
GetInt prompts for an int
GetPin prompts for an int with length of four
GetSSN prompts for an social security number hidden with special validation
GetDecimal prompts for a decimal
GetDouble prompts for a double
GetBirthDate prompts for a birth date
GetDateTime prompts for a regular DateTime
GetDateOnly prompts for a nullable DateOnly accepts a start value or has a default value
GetTimeOnly prompts for a nullable TimeOnly accepts a start value or has a default value
GetBool prompts for Yes or No returns a bool
GetUserName prompt for user name suitable for a login
GetPassword prompt for a password masked suitable for a login
GetNewPassword prompts for a new password has default rules which can be changed see package repo
AskConfirmation Ask a question returns a bool
MonthsSelection presents a list of months allows single or mulitple selections
GenericSelectionList<T> Present a list where the user can select one or more items
using SpectreConsoleLibrary;
using TaxpayerConsoleApp.Models;

namespace TaxpayerConsoleApp;

internal partial class Program
{
    static void Main(string[] args)
    {
        var taxpayer = GetTaxpayer();
        Console.Clear();
            
        AnsiConsole.MarkupLine("[cyan]Taxpayer details[/]");
        AnsiConsole.MarkupLine($"\t[yellow]Name[/] {taxpayer.FirstName} {taxpayer.LastName}");
        AnsiConsole.MarkupLine($"\t[yellow]SSN[/] {taxpayer.SSN}");
        AnsiConsole.MarkupLine($"\t[yellow]Pin[/] {taxpayer.Pin}");
        AnsiConsole.MarkupLine($"\t[yellow]Start date[/] {taxpayer.StartDate}");

        Console.ReadLine();
    }

    internal static Taxpayer GetTaxpayer()
    {
            
        Taxpayer taxpayer = new()
        {
            FirstName = Prompts.GetFirstName(false),
            LastName = Prompts.GetLastName(false),
            StartDate = Prompts.GetDateOnly(new DateOnly(2022, 2, 2)),
            SSN = Prompts.GetSSN(),
            Pin = Prompts.GetPin().ToString()
        };


        return taxpayer;
    }
}
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 363 9/13/2022

Initial release