namespace CMSMicroservice.Application.InventoryItemCQ.Commands.ReduceInventory; /// /// Command برای کم کردن موجودی (فروش، خسارت، مفقودی و ...) /// public record ReduceInventoryCommand : IRequest { /// شناسه آیتم موجودی public long Id { get; init; } /// تعداد کاهش public int Quantity { get; init; } /// شناسه سفارش عادی public long? OrderId { get; init; } /// شناسه سفارش تخفیفی public long? DiscountOrderId { get; init; } /// شماره مرجع public string? ReferenceNumber { get; init; } /// شناسه کاربر انجام‌دهنده public long? PerformedByUserId { get; init; } /// آیا از موجودی رزرو شده کم شود؟ public bool FromReserved { get; init; } = true; /// نوع حرکت انبار (پیش‌فرض: فروش) public Domain.Enums.StockMovementType MovementType { get; init; } = Domain.Enums.StockMovementType.Sale; /// توضیحات public string? Note { get; init; } }