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
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
MessageDetail
Returns the first message detail (most important message). Ignored in JSON serialization to avoid redundancy.
[JsonIgnore]
public MessageDetail? MessageDetail { get; }
Property Value
Messages
List of message details returned by the operation.
public List<MessageDetail> Messages { get; set; }
Property Value
ResultType
Defines the type of result (Success, Error, ValidationError, etc.).
public ResultType ResultType { get; set; }
Property Value
Succeeded
Indicates whether the operation succeeded.
public bool Succeeded { get; set; }
Property Value
Methods
ConvertToMessageDetail(IEnumerable<string>)
Converts a list of strings into message details.
protected static List<MessageDetail> ConvertToMessageDetail(IEnumerable<string> values)
Parameters
valuesIEnumerable<string>
Returns
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
resultTypeResultTypeinstanceTmessagesList<MessageDetail>loggerILogger
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
messagesList<MessageDetail>loggerILogger