namespace LiteCharms.Features.Shop.Orders.Refunds.Commands; public class UpdateOrderRefundCommand : IRequest { public Guid OrderRefundId { get; set; } public string? Reason { get; set; } public decimal Amount { get; set; } private UpdateOrderRefundCommand(Guid orderRefundId, string? reason, decimal amount) { OrderRefundId = orderRefundId; Reason = reason; Amount = amount; } public static UpdateOrderRefundCommand Create(Guid orderRefundId, string? reason, decimal amount) { if (orderRefundId == Guid.Empty) throw new ArgumentException("Order refund id is required.", nameof(orderRefundId)); if (string.IsNullOrWhiteSpace(reason)) throw new ArgumentException("Refund update reason is required"); return new(orderRefundId, reason, amount); } }