using System;
using System.ComponentModel.DataAnnotations;

namespace GestionIntegral.Api.Dtos.Distribucion
{
    public class CreateEntradaSalidaDistDto
    {
        [Required]
        public int IdPublicacion { get; set; }
        [Required]
        public int IdDistribuidor { get; set; }
        [Required]
        public DateTime Fecha { get; set; }
        [Required]
        [RegularExpression("^(Salida|Entrada)$", ErrorMessage = "Tipo de movimiento debe ser 'Salida' o 'Entrada'.")]
        public string TipoMovimiento { get; set; } = string.Empty;
        [Required, Range(1, int.MaxValue)]
        public int Cantidad { get; set; }
        [Required, Range(1, int.MaxValue)] // Asumiendo que el remito es un número > 0
        public int Remito { get; set; }
        [StringLength(150)]
        public string? Observacion { get; set; }
        // IdPrecio, IdRecargo, IdPorcentaje se determinarán en el backend.
    }
}