Table of Contents

Class ResultBase

Namespace
NuvTools.Common.ResultWrapper
Assembly
NuvTools.Common.dll

Base class for operation results. Holds common metadata such as success flag, result type, messages and "not found" indicator.

public abstract class ResultBase
Inheritance
ResultBase
Derived
Inherited Members
Extension Methods

Properties

ContainsNotFound

Indicates whether the result contains a "not found" condition (HTTP 404). Useful for consumers that differentiate between logical and technical errors.

public bool ContainsNotFound { get; set; }

Property Value

bool

Message

Returns a formatted string with Title (and Detail if present). Ignored in JSON serialization to avoid duplication.

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? Message { get; }

Property Value

string

MessageDetail

Returns the first message detail (most important message). Ignored in JSON serialization to avoid redundancy.

[JsonIgnore]
public MessageDetail? MessageDetail { get; }

Property Value

MessageDetail

Messages

List of message details returned by the operation.

public List<MessageDetail> Messages { get; set; }

Property Value

List<MessageDetail>

ResultType

Defines the type of result (Success, Error, ValidationError, etc.).

public ResultType ResultType { get; set; }

Property Value

ResultType

Succeeded

Indicates whether the operation succeeded.

public bool Succeeded { get; set; }

Property Value

bool

Methods

ConvertToMessageDetail(IEnumerable<string>)

Converts a list of strings into message details.

protected static List<MessageDetail> ConvertToMessageDetail(IEnumerable<string> values)

Parameters

values IEnumerable<string>

Returns

List<MessageDetail>

CreateResult<T>(ResultType, T, List<MessageDetail>?, ILogger?)

Centralized factory logic used by all Result classes. Applies success flag, not-found detection, message list assignment and optional logging.

protected static T CreateResult<T>(ResultType resultType, T instance, List<MessageDetail>? messages = null, ILogger? logger = null) where T : ResultBase

Parameters

resultType ResultType
instance T
messages List<MessageDetail>
logger ILogger

Returns

T

Type Parameters

T

Log(List<MessageDetail>?, ILogger?)

Logs each message using the appropriate log level from Severity.

protected static void Log(List<MessageDetail>? messages, ILogger? logger)

Parameters

messages List<MessageDetail>
logger ILogger