Finalización de Reportes y arreglos varios de controles y comportamientos...

This commit is contained in:
2025-06-03 13:45:20 -03:00
parent 99532b03f1
commit 062cc05fd0
67 changed files with 4523 additions and 993 deletions

View File

@@ -3,9 +3,11 @@ using System.ComponentModel.DataAnnotations;
namespace GestionIntegral.Api.Dtos.Distribucion
{
[CustomValidation(typeof(EntradaSalidaCanillaItemDto), nameof(ValidateCantidadesItem))] // Aplicar a nivel de clase
public class EntradaSalidaCanillaItemDto
{
[Required(ErrorMessage = "El ID de la publicación es obligatorio.")]
[Range(1, int.MaxValue, ErrorMessage = "El ID de la publicación debe ser válido.")] // Asegurar que no sea 0
public int IdPublicacion { get; set; }
[Required(ErrorMessage = "La cantidad de salida es obligatoria.")]
@@ -17,17 +19,26 @@ namespace GestionIntegral.Api.Dtos.Distribucion
public int CantEntrada { get; set; }
[StringLength(150)]
public string? Observacion { get; set; } // Observación por línea
public string? Observacion { get; set; }
// Validar que CantEntrada no sea mayor que CantSalida
[CustomValidation(typeof(EntradaSalidaCanillaItemDto), nameof(ValidateCantidades))]
public string? CantidadesError { get; set; }
// Ya no necesitamos la propiedad CantidadesError para esta validación
// public string? CantidadesError { get; set; }
public static ValidationResult? ValidateCantidades(EntradaSalidaCanillaItemDto item, ValidationContext context)
public static ValidationResult? ValidateCantidadesItem(EntradaSalidaCanillaItemDto instanceToValidate, ValidationContext context)
{
if (item.CantEntrada > item.CantSalida)
if (instanceToValidate == null)
{
return new ValidationResult("La cantidad de entrada (devolución) no puede ser mayor a la cantidad de salida (retiro) para esta publicación.", new[] { nameof(CantEntrada) });
// Aunque el model binder debería crear la instancia, verificamos
return ValidationResult.Success; // O un error si una instancia nula es inválida por sí misma
}
if (instanceToValidate.CantEntrada > instanceToValidate.CantSalida)
{
// Asociar el error a ambas propiedades podría ser útil en la UI
return new ValidationResult(
"La cantidad de entrada (devolución) no puede ser mayor a la cantidad de salida (retiro).",
new[] { nameof(CantEntrada), nameof(CantSalida) }
);
}
return ValidationResult.Success;
}