Files
kjh2064 3f293d8aa8
deploy / deploy (push) Successful in 1m52s
deploy / notify (push) Successful in 1s
V13-FE-006: consolidate approved UI and contract hardening
2026-08-13 02:41:00 +09:00

30 lines
1.3 KiB
C#

using Kbx.Contracts;
using Kbx.Contracts.Generated;
namespace Modules.OMS.Orders.Register;
public sealed record RegisterOrderRequest(
Guid? OrderId,
long? Version,
[property: KbxFieldKey(KbxFieldKeys.OrderDate)] DateOnly OrderDate,
[property: KbxFieldKey(KbxFieldKeys.CustomerId)] Guid CustomerId,
[property: KbxFieldKey(KbxFieldKeys.WarehouseId)] Guid WarehouseId,
[property: KbxFieldKey(KbxFieldKeys.ReceiverName)] string ReceiverName,
[property: KbxFieldKey(KbxFieldKeys.Phone)] string Phone,
[property: KbxFieldKey(KbxFieldKeys.PostalCode)] string? PostalCode,
[property: KbxFieldKey(KbxFieldKeys.Address1)] string Address1,
[property: KbxFieldKey(KbxFieldKeys.Address2)] string? Address2,
IReadOnlyList<RegisterOrderLineRequest> Lines);
public sealed record RegisterOrderLineRequest(
string ClientId,
[property: KbxFieldKey(KbxFieldKeys.ItemId)] Guid ItemId,
[property: KbxFieldKey(KbxFieldKeys.OrderQty)] decimal? OrderQty,
// Legacy wire compatibility for v12 clients. Remove only in a declared breaking API migration.
decimal? Quantity,
[property: KbxFieldKey(KbxFieldKeys.UnitPrice)] decimal UnitPrice,
[property: KbxFieldKey(KbxFieldKeys.Remark)] string? Remark)
{
public decimal EffectiveOrderQty => OrderQty ?? Quantity ?? 0m;
}