namespace CMSMicroservice.Application.InventoryItemCQ.Commands.ReserveInventory;

/// <summary>
/// Command برای رزرو کردن موجودی
/// </summary>
public record ReserveInventoryCommand : IRequest<ReserveInventoryResponseDto>
{
    /// <summary>شناسه آیتم موجودی</summary>
    public long Id { get; init; }
    /// <summary>تعداد رزرو</summary>
    public int Quantity { get; init; }
    /// <summary>شناسه سفارش عادی</summary>
    public long? OrderId { get; init; }
    /// <summary>شناسه سفارش تخفیفی</summary>
    public long? DiscountOrderId { get; init; }
    /// <summary>شماره مرجع</summary>
    public string? ReferenceNumber { get; init; }
    /// <summary>شناسه کاربر انجام‌دهنده</summary>
    public long? PerformedByUserId { get; init; }
}
