using System; using System.ComponentModel.DataAnnotations; using Kreta.Ellenorzo.Domain.VN.Adatszotar; namespace Kreta.Ellenorzo.Dto.VN.Adatszotar { public class AdatszotarResponseDto where T : Enum { private AdatszotarResponseDto() { } /// /// Adatszótár elem uid vagy enum int value /// [Required] public string Uid { get; set; } /// /// Adatszótár neve vagy enum value; Egyedileg admin által rögzített adatszótár elem esetén AdatszotarElem /// [Required] public string Nev { get; set; } /// /// Felhasználó számára megjeleníthető szöveges érték /// [Required] public string Leiras { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1000:DoNotDeclareStaticMembersOnGenericTypes")] public static AdatszotarResponseDto Create(Adatszotar model) => model == null ? null : new AdatszotarResponseDto { Uid = model.Uid.UidRaw, Nev = model.Uid.Nev, Leiras = model.Leiras }; [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1000:DoNotDeclareStaticMembersOnGenericTypes")] public static Adatszotar Create(AdatszotarResponseDto dto) => dto == null ? null : new Adatszotar(Convert.ToInt32(dto.Uid)); public static implicit operator int(AdatszotarResponseDto @enum) => Convert.ToInt32(@enum.Uid); public static implicit operator int?(AdatszotarResponseDto @enum) => Convert.ToInt32(@enum?.Uid); } }