namespace HrynCo.NotificationService.Services.Core; public record ServiceResult { public ServiceError? Error { get; private set; } public bool IsSuccess { get; private set; } public TResult? Result { get; private set; } public static ServiceResult Success(TResult result) => new() { IsSuccess = true, Result = result }; public static ServiceResult Failure(ServiceError error) => new() { IsSuccess = false, Error = error }; public static ServiceResult Failure(string message, ServiceErrorCode? code = null) => Failure(new ServiceError(message, code)); }