28 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System.ComponentModel.DataAnnotations;
 | |
| 
 | |
| namespace GestionIntegral.Api.Dtos.Contables
 | |
| {
 | |
|     public class AjusteSaldoRequestDto
 | |
|     {
 | |
|         [Required(ErrorMessage = "El tipo de destino es obligatorio ('Distribuidores' o 'Canillas').")]
 | |
|         [RegularExpression("^(Distribuidores|Canillas)$", ErrorMessage = "Destino debe ser 'Distribuidores' o 'Canillas'.")]
 | |
|         public string Destino { get; set; } = string.Empty;
 | |
| 
 | |
|         [Required(ErrorMessage = "El ID del destinatario es obligatorio.")]
 | |
|         [Range(1, int.MaxValue, ErrorMessage = "ID de Destinatario inválido.")]
 | |
|         public int IdDestino { get; set; }
 | |
| 
 | |
|         [Required(ErrorMessage = "El ID de la empresa es obligatorio.")]
 | |
|         [Range(1, int.MaxValue, ErrorMessage = "ID de Empresa inválido.")]
 | |
|         public int IdEmpresa { get; set; }
 | |
| 
 | |
|         [Required(ErrorMessage = "El monto del ajuste es obligatorio.")]
 | |
|         // Permitir montos negativos para disminuir deuda o positivos para aumentarla
 | |
|         // No se usa Range aquí para permitir ambos signos. La validación de que no sea cero se puede hacer en el servicio.
 | |
|         public decimal MontoAjuste { get; set; } 
 | |
| 
 | |
|         [Required(ErrorMessage = "La justificación del ajuste es obligatoria.")]
 | |
|         [StringLength(250, MinimumLength = 5, ErrorMessage = "La justificación debe tener entre 5 y 250 caracteres.")]
 | |
|         public string Justificacion { get; set; } = string.Empty;
 | |
|     }
 | |
| } |