namespace Eshop.Application.Common; public class ServiceResult { public bool Success { get; protected set; } public IReadOnlyList Errors { get; protected set; } = []; public static ServiceResult Ok() => new() { Success = true }; public static ServiceResult Failure(string message) => new() { Success = false, Errors = [message] }; public static ServiceResult Failure(IEnumerable errors) => new() { Success = false, Errors = errors.ToList() }; } public class ServiceResult : ServiceResult { public T? Data { get; private set; } public static ServiceResult Ok(T data) => new() { Success = true, Data = data }; public new static ServiceResult Failure(string message) => new() { Success = false, Errors = [message] }; public new static ServiceResult Failure(IEnumerable errors) => new() { Success = false, Errors = errors.ToList() }; }