50 lines
1.7 KiB
C#
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);
|
|
}
|
|
}
|