kreta/Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.Dto/VN/Felhasznalo/Tanulo/TanuloGetResponseDto.cs
2024-03-13 00:33:46 +01:00

102 lines
4.4 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Ellenorzo.Domain.VN.Felhasznalo.Tanulo;
using Kreta.Ellenorzo.Dto.VN.Documentation;
using Kreta.Ellenorzo.Dto.VN.Interfaces;
using Kreta.Ellenorzo.Dto.VN.Intezmeny;
using Kreta.Ellenorzo.Dto.VN.Utility;
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
namespace Kreta.Ellenorzo.Dto.VN.Felhasznalo.Tanulo
{
public class TanuloGetResponseDto : IDtoDocumentation
{
[Required, Description(DescriptionLookUp.ResponseModelEgyediAzonosito)]
public string Uid { get; set; }
[Required, Description(DescriptionLookUp.IdpUniqueId)]
public Guid IdpUniqueId { get; set; }
[Required, Description(DescriptionLookUp.TanevUid)]
public string TanevUid { get; set; }
[Required, Description(DescriptionLookUp.IntezmenyNeve)]
public string IntezmenyNev { get; set; }
[Required, Description(DescriptionLookUp.IntezmenyAzonositoja)]
public string IntezmenyAzonosito { get; set; }
[Required, Description(DescriptionLookUp.FelhasznalonakANeve)]
public string Nev { get; set; }
[Required, Description(DescriptionLookUp.FelhasznaloSzuletesiNeve)]
public string SzuletesiNev { get; set; }
[Required, Description(DescriptionLookUp.FelhasznaloSzuletesiHelye)]
public string SzuletesiHely { get; set; }
[Required, Description(DescriptionLookUp.FelhasznaloAnyjaNeve)]
public string AnyjaNeve { get; set; }
[Required, Description(DescriptionLookUp.FelhasznaloAlapertelmezettTelefon)]
public string Telefonszam { get; set; }
[Required, Description(DescriptionLookUp.FelhasznaloAlapertelmezettEmail)]
public string EmailCim { get; set; }
[Required, Description(DescriptionLookUp.FelhasznaloLakcimei + ";<br>Ha nincs lakcím, akkor üres lista")]
public List<string> Cimek { get; set; }
[Required, Description(DescriptionLookUp.FelhasznaloSzuletesiDatuma)]
public DateTime SzuletesiDatum { get; set; }
[Required, Description(DescriptionLookUp.FelhasznaloSzuletesiEv)]
public int SzuletesiEv { get; set; }
[Required, Description(DescriptionLookUp.FelhasznaloSzuletesiHonap)]
public int SzuletesiHonap { get; set; }
[Required, Description(DescriptionLookUp.FelhasznaloSzuletesiNap)]
public int SzuletesiNap { get; set; }
[Required, Description(DescriptionLookUp.IsEszkozKiosztva)]
public bool IsEszkozKiosztva { get; set; }
[Required, Description(DescriptionLookUp.TanuloGondviseloinekListaja)]
public HashSet<GondviseloGetResponseDto> Gondviselok { get; set; }
[Required, Description(DescriptionLookUp.Bankszamla)]
public BankszamlaResponseDto Bankszamla { get; set; }
[Required, Description(DescriptionLookUp.IntezmenyAdatok)]
public IntezmenyListResponseDto Intezmeny { get; set; }
public DocumentationExampleDto Example => new DocumentationExampleDto("GetTanuloAdatlap", null);
public static implicit operator TanuloGetResponseDto(TanuloGetResponse model) => new TanuloGetResponseDto
{
Uid = model.Uid.UidRaw,
IdpUniqueId = model.IdpUniqueId,
TanevUid = model.TanevId.ToString(),
IntezmenyNev = model.Intezmeny.IntezmenyAdatok.TeljesNev,
IntezmenyAzonosito = model.Intezmeny.IntezmenyAdatok.Azonosito,
Nev = model.TanuloAdat.Nev,
SzuletesiNev = model.TanuloAdat.SzuletesiNev,
SzuletesiHely = model.TanuloAdat.SzuletesiHely,
AnyjaNeve = model.TanuloAdat.AnyjaNeve,
Telefonszam = model.TanuloAdat.Telefonszam,
EmailCim = model.TanuloAdat.EmailCim,
Cimek = model.TanuloAdat.Cimek,
SzuletesiDatum = model.TanuloAdat.SzuletesiDatum.ToIso8601Utc(),
SzuletesiEv = model.TanuloAdat.SzuletesiDatum.Year,
SzuletesiHonap = model.TanuloAdat.SzuletesiDatum.Month,
SzuletesiNap = model.TanuloAdat.SzuletesiDatum.Day,
IsEszkozKiosztva = model.TanuloAdat.IsEszkozKiosztva,
Gondviselok = ModelToDto(model.GondviseloLista),
Bankszamla = ModelToDto(model.TanuloAdat.Bankszamla),
Intezmeny = ModelToDto(model.Intezmeny)
};
}
}