Files
2024-03-13 00:33:46 +01:00

62 lines
2.4 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Kreta.Enums;
using Kreta.Naplo.Domain.V3.OsztalyCsoport;
using Kreta.Naplo.Domain.V3.Utility;
using Kreta.Naplo.Domain.V3.Utility.ValidationAttributes;
using Kreta.Naplo.Dto.V3.Documentation;
using Kreta.Naplo.Dto.V3.Ertekeles;
using Swashbuckle.Examples;
namespace Kreta.Naplo.Dto.V3.OsztalyCsoport
{
public class OsztalyCsoportErtekelesRequestDto : IExamplesProvider
{
[Required, Description(DescriptionLookUp.TantargyId)]
public int TantargyId { get; set; }
[Required, Description(DescriptionLookUp.OsztalyCsoportId)]
public int OsztalyCsoportId { get; set; }
[Required, Description(DescriptionLookUp.ErtekelesDatum)]
public DateTime Datum { get; set; }
[Required, EnumToDescription(DescriptionLookUp.SzamonkeresMod, typeof(ErtekelesModEnum))]
public int Mod { get; set; }
[Description(DescriptionLookUp.SzamonkeresTema)]
public string Tema { get; set; }
[Required, Description(DescriptionLookUp.Tanulok)]
public List<TanuloForOsztalyCsoportErtekelesRequestDto> TanuloLista { get; set; }
public static implicit operator OsztalyCsoportErtekelesRequest(OsztalyCsoportErtekelesRequestDto dto) => new OsztalyCsoportErtekelesRequest
{
TantargyId = dto.TantargyId,
OsztalyCsoportId = dto.OsztalyCsoportId,
Datum = dto.Datum.ToLocalTime(),
Mod = dto.Mod,
Tema = dto.Tema,
TanuloLista = Converter.RequestModelConverter.DtoToModel(dto.TanuloLista)
};
public object GetExamples()
=> new OsztalyCsoportErtekelesRequestDto
{
TantargyId = 330986,
OsztalyCsoportId = 804093,
Datum = DateTime.Now.ToLocalTime(),
Mod = 1509,
Tema = "Témácska",
TanuloLista = new List<TanuloForOsztalyCsoportErtekelesRequestDto> {
new TanuloForOsztalyCsoportErtekelesRequestDto {
TanuloId = 218789,
Ertekeles = new ErtekelesRequestDto { OsztalyzatTipus = 1505, Szazalek = null, Szoveg = null }
}
}
};
}
}