namespace LiteCharms.Features.CartPackages.Commands; public class UpdatePackageCommand : IRequest { public Guid PackageId { get; set; } public string? Name { get; set; } public string? Description { get; set; } private UpdatePackageCommand(Guid packageId, string? name, string? description) { PackageId = packageId; Name = name; Description = description; } public static UpdatePackageCommand Create(Guid packageId, string? name, string? description) { if (packageId == Guid.Empty) throw new ArgumentException($"Package ID is required", nameof(packageId)); ArgumentNullException.ThrowIfNullOrWhiteSpace(name, nameof(name)); ArgumentNullException.ThrowIfNullOrWhiteSpace(description, nameof(description)); return new(packageId, name, description); } }