< Summary

Information
Class: FAU.Logica.DTOs.CreatePersonalRequest
Assembly: FAU.Logica
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/DTOs/CreatePersonalRequest.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 20
Coverable lines: 20
Total lines: 68
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Ci()100%210%
get_PrimerNombre()100%210%
get_SegundoNombre()100%210%
get_PrimerApellido()100%210%
get_SegundoApellido()100%210%
get_FechaNacimiento()100%210%
get_Email()100%210%
get_Telefono()100%210%
get_Direccion()100%210%
get_CargoId()100%210%
get_GradoId()100%210%
get_Ley()100%210%
get_FechaIngreso()100%210%
get_EscalafonId()100%210%
get_SituacionId()100%210%
get_ProgramaId()100%210%
get_UnidadId()100%210%
get_CompaniaId()100%210%
get_TipoMovimientoId()100%210%
get_Observaciones()100%210%

File(s)

/home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/DTOs/CreatePersonalRequest.cs

#LineLine coverage
 1using System.ComponentModel.DataAnnotations;
 2
 3namespace FAU.Logica.DTOs;
 4
 5/// <summary>
 6/// Request para crear alta de personal
 7/// Firma: { ci, nombre, apellido, fechaNacimiento, email, telefono, direccion, cargoId, gradoId, ley, fechaIngreso }
 8/// </summary>
 9public class CreatePersonalRequest
 10{
 11    [Required(ErrorMessage = "La cédula es requerida")]
 12    [MinLength(6, ErrorMessage = "La cédula debe tener al menos 6 dígitos")]
 13    [MaxLength(12, ErrorMessage = "La cédula no puede superar los 12 caracteres")]
 014    public string Ci { get; set; } = string.Empty;
 15
 16    [Required(ErrorMessage = "El primer nombre es requerido")]
 17    [MaxLength(100)]
 018    public string PrimerNombre { get; set; } = string.Empty;
 19
 20    [MaxLength(100)]
 021    public string? SegundoNombre { get; set; }
 22
 23    [Required(ErrorMessage = "El primer apellido es requerido")]
 24    [MaxLength(100)]
 025    public string PrimerApellido { get; set; } = string.Empty;
 26
 27    [MaxLength(100)]
 028    public string? SegundoApellido { get; set; }
 29
 30    [Required(ErrorMessage = "La fecha de nacimiento es requerida")]
 031    public DateTime FechaNacimiento { get; set; }
 32
 33    [EmailAddress(ErrorMessage = "El email no es válido")]
 34    [MaxLength(150)]
 035    public string? Email { get; set; }
 36
 37    [MaxLength(30)]
 038    public string? Telefono { get; set; }
 39
 40    [MaxLength(200)]
 041    public string? Direccion { get; set; }
 42
 43    // Cargo será mapeado desde el Grado
 44    [Required(ErrorMessage = "El grado/cargo es requerido")]
 045    public long CargoId { get; set; } // Realmente es GradoId
 46
 47    [Required(ErrorMessage = "El grado es requerido")]
 048    public long GradoId { get; set; }
 49
 50    [Required(ErrorMessage = "La ley/régimen es requerida")]
 51    [MaxLength(50)]
 052    public string Ley { get; set; } = string.Empty; // LEY_VIEJA, LEY_NUEVA
 53
 54    [Required(ErrorMessage = "La fecha de ingreso es requerida")]
 055    public DateTime FechaIngreso { get; set; }
 56
 57    // Campos opcionales adicionales (internos)
 058    public long? EscalafonId { get; set; }
 059    public long? SituacionId { get; set; }
 060    public long? ProgramaId { get; set; }
 061    public long? UnidadId { get; set; }
 062    public long? CompaniaId { get; set; }
 063    public long? TipoMovimientoId { get; set; }
 64
 65    [MaxLength(500)]
 066    public string? Observaciones { get; set; }
 67}
 68