Agregar archivos de proyecto.

This commit is contained in:
2025-12-25 09:54:32 -06:00
parent 42d745e5e1
commit be7d5ef10d
99 changed files with 85993 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
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}";
}
}