| | | 1 | | using System.ComponentModel.DataAnnotations; |
| | | 2 | | |
| | | 3 | | namespace FAU.Logica.DTOs; |
| | | 4 | | |
| | | 5 | | public class CrearBeneficioSocialRequest |
| | | 6 | | { |
| | | 7 | | [Required(ErrorMessage = "La persona es requerida")] |
| | 13 | 8 | | public long PersonaId { get; set; } |
| | | 9 | | |
| | | 10 | | [Required(ErrorMessage = "El tipo de beneficio es requerido")] |
| | 13 | 11 | | public long TipoBeneficioId { get; set; } |
| | | 12 | | |
| | | 13 | | [Range(0, short.MaxValue, ErrorMessage = "La cantidad no puede ser negativa")] |
| | 15 | 14 | | public short? Cantidad { get; set; } |
| | | 15 | | |
| | | 16 | | [Required(ErrorMessage = "La fecha de vigencia es requerida")] |
| | 22 | 17 | | public DateTime VigenteDesde { get; set; } |
| | | 18 | | |
| | 6 | 19 | | public DateTime? VigenteHasta { get; set; } |
| | | 20 | | |
| | | 21 | | [MaxLength(200, ErrorMessage = "El documento de respaldo no puede exceder 200 caracteres")] |
| | 7 | 22 | | public string? DocumentoRespaldo { get; set; } |
| | | 23 | | |
| | 3 | 24 | | public string? Observaciones { get; set; } |
| | | 25 | | |
| | | 26 | | [Required(ErrorMessage = "La categoria de beneficio es requerida")] |
| | 10 | 27 | | public CategoriaBeneficioRequest CategoriaBeneficio { get; set; } |
| | | 28 | | |
| | 22 | 29 | | public DatosTipoBeneficioRequest DatosTipo { get; set; } = new(); |
| | | 30 | | } |
| | | 31 | | |
| | | 32 | | public enum CategoriaBeneficioRequest |
| | | 33 | | { |
| | | 34 | | General = 0, |
| | | 35 | | AsignacionFamiliar = 1, |
| | | 36 | | HogarConstituido = 2, |
| | | 37 | | PrimaSolidariaFamiliar = 3, |
| | | 38 | | PrimaNacimiento = 4, |
| | | 39 | | PrimaMatrimonio = 5 |
| | | 40 | | } |
| | | 41 | | |
| | | 42 | | public class DatosTipoBeneficioRequest |
| | | 43 | | { |
| | | 44 | | public DateTime? FechaEvento { get; set; } |
| | | 45 | | |
| | | 46 | | [MaxLength(80, ErrorMessage = "El estado civil o union no puede exceder 80 caracteres")] |
| | | 47 | | public string? EstadoCivilUnion { get; set; } |
| | | 48 | | |
| | | 49 | | public bool? TieneHijosACargo { get; set; } |
| | | 50 | | |
| | | 51 | | [Range(0, short.MaxValue, ErrorMessage = "La cantidad de hijos menores no puede ser negativa")] |
| | | 52 | | public short? CantidadHijosMenores { get; set; } |
| | | 53 | | |
| | | 54 | | [Range(0, short.MaxValue, ErrorMessage = "La cantidad de hijos con discapacidad no puede ser negativa")] |
| | | 55 | | public short? CantidadHijosDiscapacidad { get; set; } |
| | | 56 | | |
| | | 57 | | [MaxLength(120, ErrorMessage = "El tipo de prima solidaria no puede exceder 120 caracteres")] |
| | | 58 | | public string? PrimaSolidariaFamiliarTipo { get; set; } |
| | | 59 | | |
| | | 60 | | public bool TieneJustificacionRetroactivo { get; set; } |
| | | 61 | | |
| | | 62 | | [MaxLength(300, ErrorMessage = "La justificacion de retroactivo no puede exceder 300 caracteres")] |
| | | 63 | | public string? JustificacionRetroactivo { get; set; } |
| | | 64 | | |
| | | 65 | | public bool PendienteDocumentacion { get; set; } |
| | | 66 | | } |