/* * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Combat\DragonEquipmentRequestDto.cs * Created: 2025-10-23 * Last Modified: 2025-10-23 * Description: Request DTO for dragon equipment operations * Last Edit Notes: Individual file implementation for dragon equipment input validation */ using System.ComponentModel.DataAnnotations; namespace ShadowedRealms.Shared.DTOs.Combat { /// /// Request DTO for dragon equipment operations /// public class DragonEquipmentRequestDto { /// /// Dragon unique identifier /// [Required] [Range(1, int.MaxValue)] public int DragonId { get; set; } /// /// Equipment operation type (Equip, Unequip, Upgrade, Craft, Repair) /// [Required] [StringLength(50)] public string OperationType { get; set; } = string.Empty; /// /// Equipment item ID for the operation /// [Range(1, int.MaxValue)] public int? ItemId { get; set; } /// /// Equipment slot for equip/unequip operations /// [StringLength(50)] public string? EquipmentSlot { get; set; } /// /// Resources to spend on upgrade or crafting /// public Dictionary ResourceInvestment { get; set; } = new(); /// /// Whether to use premium enhancement materials /// public bool UsePremiumMaterials { get; set; } = false; /// /// Target upgrade level for equipment enhancement /// [Range(1, 20)] public int? TargetUpgradeLevel { get; set; } /// /// Equipment set preferences for optimization /// public List PreferredSets { get; set; } = new(); /// /// Crafting recipe ID for new equipment /// [Range(1, int.MaxValue)] public int? CraftingRecipeId { get; set; } /// /// Auto-equip preferences after crafting/upgrading /// public bool AutoEquipAfterOperation { get; set; } = true; /// /// Maximum resources willing to spend /// public Dictionary SpendingLimits { get; set; } = new(); /// /// Additional equipment operation parameters /// public Dictionary OperationParameters { get; set; } = new(); } }