diff --git a/Distribution/Features/Invoice/InvoiceDTOs.cs b/Distribution/Features/Invoice/InvoiceDTOs.cs new file mode 100644 index 0000000..e834697 --- /dev/null +++ b/Distribution/Features/Invoice/InvoiceDTOs.cs @@ -0,0 +1,29 @@ +using Distribution.Models; + +namespace Distribution.Features.Invoice; + +public record CreateInvoiceRequest(Guid OrderId); + +public record FinalizeInvoiceItemRequest(Guid OrderItemId, decimal DeliveredQuantity, decimal FreeQuantity); + +public record FinalizeInvoiceReturnRequest(Guid ItemId, decimal Quantity, ReturnReasonCode ReasonCode); + +public record FinalizeInvoiceDiscountRequest(DiscountType Type, decimal Value, string? Reason); + +public record FinalizeInvoiceRequest( + List Items, + List? Returns, + FinalizeInvoiceDiscountRequest? Discount); + +public record InvoiceResponse( + Guid Id, + Guid OrderId, + InvoiceStatus Status, + Guid CreatedByUserId, + DateTime? PrintedAt, + Guid? PrintedByUserId, + DateTime? FinalizedAt, + Guid? FinalizedByUserId, + decimal TotalAmount, + bool IsActive, + DateTime CreatedAt);