Results.Fluent is a small library to use well-formed return type in the DDD architecture.
You can install Results.Fluent with NuGet:
Install-Package Results.Fluent
To use, with an Result
instance :
var result = Result.Success();
if(result.IsSucceeded) return true;
var result = Result.Success().WithMessage("Perfect");
if(result.IsSucceeded && result.HasMessage && result.Message == "Perfect") return true;
var result = Result.Failure();
if(result.IsFailed) return false;
var result = Result.Failure("Can Not Open");
if(result.IsFailed && result.HasError) return false;
var result = Result.Failure().NotFound();
if(result.IsFailed && result.IsNotFound) return false;
also try 'BadRequest', 'Unauthorized', 'Forbidden', NotFound', 'NotAllowed', 'Conflict', 'Invalid'
Or, you can contain some object Result<TContainer>
var result = Result<int>.Success(200);
if(result.IsSucceeded && result.Container == 200) return true;
var result = Result<int>.Failure().Unauthorized();
if(result.IsFailed && result.IsUnauthorized) return false;
Copyright (c) Jungyoung bang.