using System.Text.Json.Serialization; namespace DigitalData.Core.DTO { public class Result { public bool IsSuccess { get; set; } = false; public List Messages { get; init; } = new(); [JsonIgnore] public List Notices = new(); public DataResult Data(T data) => new() { IsSuccess = IsSuccess, Messages = Messages, Notices = Notices, Data = data }; public bool HasFlag(Enum flag) => Notices.Any(n => n.Flag?.ToString() == flag.ToString()); public bool HasAnyFlag(params Enum[] flags) => flags.Any(f => HasFlag(f)); public static Result Success() => new() { IsSuccess = true }; public static Result Fail() => new() { IsSuccess = false }; public static DataResult Success(T data) => new() { IsSuccess = true, Data = data }; #pragma warning disable CS8601 // Possible null reference assignment. public static DataResult Fail() => new() { IsSuccess = false, Data = default }; #pragma warning restore CS8601 // Possible null reference assignment. } }