83 lines
2.9 KiB
C#
83 lines
2.9 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace MieSystem.Models
|
|
{
|
|
public class ExpedienteViewModel
|
|
{
|
|
public int Id { get; set; }
|
|
|
|
[Required(ErrorMessage = "El nombre es requerido")]
|
|
[StringLength(100, ErrorMessage = "El nombre no puede exceder 100 caracteres")]
|
|
[Display(Name = "Nombre")]
|
|
public string Nombre { get; set; }
|
|
|
|
[Required(ErrorMessage = "Los apellidos son requeridos")]
|
|
[StringLength(100, ErrorMessage = "Los apellidos no pueden exceder 100 caracteres")]
|
|
[Display(Name = "Apellidos")]
|
|
public string Apellidos { get; set; }
|
|
|
|
[Required(ErrorMessage = "La fecha de nacimiento es requerida")]
|
|
[DataType(DataType.Date)]
|
|
[Display(Name = "Fecha de Nacimiento")]
|
|
public DateTime FechaNacimiento { get; set; }
|
|
|
|
[Display(Name = "Nombre del Padre")]
|
|
[StringLength(100, ErrorMessage = "El nombre no puede exceder 100 caracteres")]
|
|
public string NombrePadre { get; set; }
|
|
|
|
[Display(Name = "Nombre de la Madre")]
|
|
[StringLength(100, ErrorMessage = "El nombre no puede exceder 100 caracteres")]
|
|
public string NombreMadre { get; set; }
|
|
|
|
[Required(ErrorMessage = "El nombre del responsable es requerido")]
|
|
[StringLength(100, ErrorMessage = "El nombre no puede exceder 100 caracteres")]
|
|
[Display(Name = "Nombre del Responsable")]
|
|
public string NombreResponsable { get; set; }
|
|
|
|
[Display(Name = "Parentesco del Responsable")]
|
|
public string ParentescoResponsable { get; set; }
|
|
|
|
[Required(ErrorMessage = "El sexo es requerido")]
|
|
[Display(Name = "Sexo")]
|
|
public string Sexo { get; set; }
|
|
|
|
[Required(ErrorMessage = "La dirección es requerida")]
|
|
[StringLength(200, ErrorMessage = "La dirección no puede exceder 200 caracteres")]
|
|
[Display(Name = "Dirección")]
|
|
public string Direccion { get; set; }
|
|
|
|
[Display(Name = "Teléfono")]
|
|
[Phone(ErrorMessage = "Formato de teléfono inválido")]
|
|
public string Telefono { get; set; }
|
|
|
|
[Display(Name = "Observaciones")]
|
|
[StringLength(500, ErrorMessage = "Las observaciones no pueden exceder 500 caracteres")]
|
|
public string Observaciones { get; set; }
|
|
|
|
[Display(Name = "Foto")]
|
|
[DataType(DataType.Upload)]
|
|
public IFormFile Foto { get; set; }
|
|
|
|
public string FotoUrl { get; set; }
|
|
|
|
[Display(Name = "Edad")]
|
|
public int Edad
|
|
{
|
|
get
|
|
{
|
|
if (FechaNacimiento == default) return 0;
|
|
|
|
var today = DateTime.Today;
|
|
var age = today.Year - FechaNacimiento.Year;
|
|
if (FechaNacimiento.Date > today.AddYears(-age)) age--;
|
|
return age;
|
|
}
|
|
}
|
|
|
|
[Display(Name = "Nombre Completo")]
|
|
public string NombreCompleto => $"{Nombre} {Apellidos}";
|
|
|
|
|
|
}
|
|
}
|