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; | ||
|  |     } | ||
|  | } |