Published
Oct 11, 2024
2y ago
Total Downloads
2.0K
2,005
Install
dotnet add package Danom.Mvc --version 1.0.0-beta1
| Product | Versions |
|---|---|
| .NET |
README
Danom.Mvc
Danom.Mvc is a library that provides a set of rendering utilities to help integrate the Danom library with common tasks in ASP.NET Core MVC applications.
Getting Started
Install the Danom.Mvc NuGet package:
PM> Install-Package Danom.Mvc
Or using the dotnet CLI
dotnet add package Danom.Mvc
Working With Option
using Danom.Mvc;
using Microsoft.AspNetCore.Mvc;
public sealed class OptionController
: DanomController
{
private readonly Option<string> _someOption = Option.Some("Hello world");
private readonly Option<string> _noneOption = Option<string>.None();
public IActionResult OptionSome() =>
ViewOption(
option: _someOption,
viewName: "Detail");
// Returns the ASP.NET default `NotFound` result
public IActionResult OptionNone() =>
ViewOption(
option: _noneOption,
viewName: "Detail");
public IActionResult OptionNoneCustom() =>
ViewOption(
option: _noneOption,
viewName: "Detail",
noneAction: () => NotFound("Not found!"));
}
Working with Result
using Danom.Mvc;
using Microsoft.AspNetCore.Mvc;
public sealed class ResultController
: DanomController
{
private readonly Result<string, ResultErrors> _okResult = Result.Ok("Success!");
private readonly Result<string, ResultErrors> _errorResult = Result<string>.Error(["An error occurred."]);
private readonly Result<string, string> _stringErrorResult = Result<string, string>.Error("An error occurred.");
public IActionResult ResultOk() =>
ViewResult(
result: _okResult,
viewName: "Detail");
public IActionResult ResultErrors() =>
ViewResult(
result: _errorResult,
viewName: "Detail");
// Demonstrating error customization, using a string literal for error output
public IActionResult ResultError() =>
ViewResult(
result: _stringErrorResult,
errorAction: errors => View("Detail", errors),
viewName: "Detail");
}
Working with ResultOption
using Danom.Mvc;
using Microsoft.AspNetCore.Mvc;
public sealed class ResultOptionController
: DanomController
{
private readonly ResultOption<string, ResultErrors> _okResult = ResultOption.Ok("Success!");
private readonly ResultOption<string, ResultErrors> _errorResult = ResultOption<string>.Error("An error occurred.");
private readonly ResultOption<string, string> _stringErrorResult = ResultOption<string, string>.Error("An error occurred.");
public IActionResult ResultOk() =>
ViewResultOption(
resultOption: _okResult,
viewName: "Detail");
public IActionResult ResultErrors() =>
ViewResultOption(
resultOption: _errorResult,
viewName: "Detail");
// Demonstrating error customization, using a string literal for error output
public IActionResult ResultError() =>
ViewResultOption(
resultOption: _stringErrorResult,
errorAction: errors => View("Detail", errors),
viewName: "Detail");
}
Changes from Previous Version
No structural changes between v1.0.0-alpha1 and v1.0.0-beta1.
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
This version is marked prerelease. Validate its API and upgrade path before production use.Compatibility metadata lists 1 target framework; confirm the exact target used by your application.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.