namespace MMDAL.DTO.StockReservation; public class AutoReserveRequestDTO { public int MrpRunId { get; set; } public int OUId { get; set; } public bool FallbackToDocument { get; set; } = true; public ReservationMode Mode { get; set; } = ReservationMode.Planning; } public class AutoReserveResultDTO { public int MrpRunId { get; set; } public int TotalDemands { get; set; } public int FullyReservedCount { get; set; } public int PartiallyReservedCount { get; set; } public int NotReservedCount { get; set; } public List Shortages { get; set; } = new(); } public class AutoReserveShortageDTO { public int ItemId { get; set; } public string ItemCode { get; set; } = string.Empty; public string ItemName { get; set; } = string.Empty; public int? ForObjectId { get; set; } public string? ForObjectTypeName { get; set; } public decimal RequiredQuantity { get; set; } public decimal AvailableQuantity { get; set; } public decimal ShortageQuantity { get; set; } } public class UnreserveDTO { public int StockReservationId { get; set; } public decimal? ReleaseQuantity { get; set; } // null = full unreserve public string Reason { get; set; } = string.Empty; public short Version { get; set; } }