Files
kreta/Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.Dto/VN/Adatszotar/AdatszotarResponseDto.cs
T
2024-03-13 00:33:46 +01:00

50 lines
1.7 KiB
C#

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