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 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 { new TanuloForOsztalyCsoportErtekelesRequestDto { TanuloId = 218789, Ertekeles = new ErtekelesRequestDto { OsztalyzatTipus = 1505, Szazalek = null, Szoveg = null } } } }; } }