namespace Yes.Domain.Core.Models { public interface IResult { bool Success { get; set; } string Message { get; set; } } public interface IResult : IResult { T Data { get; set; } } public class Result : IResult { public bool Success { get; set; } public string Message { get; set; } = ""; public T Data { get; set; } public static Result Ok() { return new Result() { Success = true }; } public static Result Ok(T data, string message = "") { return new Result() { Success = true, Message = message, Data = data }; } public static Result Error(string message = "") { return new Result() { Success = false, Message = message }; } public static Result Error(T data, string message = "") { return new Result() { Success = false, Message = message, Data = data }; } } public class Result : Result { } }