using LiteCharms.Models; namespace LiteCharms.Features.Orders.Commands; public class UpdateOrderStatusCommand : IRequest { public Guid OrderId { get; set; } public OrderStatus Status { get; set; } public string? Note { get; set; } private UpdateOrderStatusCommand(Guid orderId, OrderStatus status, string? note) { OrderId = orderId; Status = status; Note = note; } public static UpdateOrderStatusCommand Create(Guid orderId, OrderStatus status, string? note) { if (orderId == Guid.Empty) throw new ArgumentException("OrderId is required.", nameof(orderId)); if (!Enum.IsDefined(typeof(OrderStatus), status)) throw new ArgumentException("Invalid order status.", nameof(status)); return new(orderId, status, note); } }