kreta/Kreta.WebApi/Naplo/Kreta.Naplo.Dto/V3/Orarend/OraNaplozasRequestDto.cs
2024-03-13 00:33:46 +01:00

47 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Utils;
using Kreta.Naplo.Domain.V3.Orarend;
using Kreta.Naplo.Domain.V3.UniqueIdentifier;
using Kreta.Naplo.Dto.V3.Converter;
using Kreta.Naplo.Dto.V3.Documentation;
namespace Kreta.Naplo.Dto.V3.Orarend
{
public class OraNaplozasRequestDto
{
[Required, Description(DescriptionLookUp.OrarendElemUid)]
public string OrarendElemUid { get; set; }
[Required, Description(DescriptionLookUp.Tema)]
public string Tema { get; set; }
[Required, Description(DescriptionLookUp.IsElmaradt)]
public bool IsElmaradt { get; set; }
[Description(DescriptionLookUp.TanuloLista)]
public List<TanuloForOraNaplozasListRequestDto> TanuloLista { get; set; } = new List<TanuloForOraNaplozasListRequestDto>();
[Description(DescriptionLookUp.HaziFeladatSzoveg)]
public string Hazifeladat { get; set; }
[Description(DescriptionLookUp.HaziFeladatHatarido)]
public DateTime? HazifeladatHatarido { get; set; }
[Description(DescriptionLookUp.HaziFeladatId)]
public int? HazifeladatId { get; set; }
public static implicit operator OraNaplozasRequest(OraNaplozasRequestDto model) => new OraNaplozasRequest
(
new OrarendElemUid(model.OrarendElemUid),
model.Tema,
model.IsElmaradt,
RequestModelConverter.DtoToModel(model.TanuloLista),
CommonUtils.ReplaceNewLineToHtmlTag(model.Hazifeladat),
model.HazifeladatHatarido?.ToLocalTime(),
model.HazifeladatId
);
}
}