/*
 * File: D:\shadowed-realms-mobile\ShadowedRealmsMobile\src\server\ShadowedRealms.Shared\DTOs\Player\VipAdvancementResponseDto.cs
 * Created: 2025-10-23
 * Last Modified: 2025-10-23
 * Description: Response DTO for VIP advancement operations
 * Last Edit Notes: Individual file implementation for VIP advancement results
 */

namespace ShadowedRealms.Shared.DTOs.Player
{
    /// <summary>
    /// Response DTO for VIP advancement operations
    /// </summary>
    public class VipAdvancementResponseDto
    {
        /// <summary>
        /// Player ID who advanced VIP status
        /// </summary>
        public int PlayerId { get; set; }

        /// <summary>
        /// Previous VIP level
        /// </summary>
        public int PreviousVipLevel { get; set; }

        /// <summary>
        /// New VIP level after advancement
        /// </summary>
        public int NewVipLevel { get; set; }

        /// <summary>
        /// VIP benefits unlocked with this advancement
        /// </summary>
        public List<Dictionary<string, object>> NewBenefits { get; set; } = new();

        /// <summary>
        /// VIP points earned or consumed
        /// </summary>
        public long VipPointsChanged { get; set; }

        /// <summary>
        /// Current VIP point balance
        /// </summary>
        public long CurrentVipPoints { get; set; }

        /// <summary>
        /// Points needed for next VIP level
        /// </summary>
        public long? PointsToNextLevel { get; set; }

        /// <summary>
        /// Whether advancement was successful
        /// </summary>
        public bool Success { get; set; }

        /// <summary>
        /// When VIP advancement occurred
        /// </summary>
        public DateTime AdvancementTime { get; set; }

        /// <summary>
        /// Additional VIP progression data
        /// </summary>
        public Dictionary<string, object> VipProgressionData { get; set; } = new();
    }
}