using AutoMapper;
using AutoMapper.Configuration.Annotations;

using HuanMeng.DotNetCore.AttributeExtend;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CloudGaming.DtoModel.Game
{
    /// <summary>
    /// 游戏详情
    /// </summary>
    [AutoMap(typeof(GameInfo))]
    public class GameInfoDto
    {
        public GameInfoDto() { }
        /// <summary>
        /// 游戏Id
        /// </summary>
        public string GameId { get; set; }
        /// <summary>
        /// 游戏名称
        /// </summary>
        public virtual string? GameName { get; set; }

        /// <summary>
        /// 副标题
        /// </summary>
        [SourceMember(nameof(GameInfo.Title2))]
        public virtual string? Subtitle { get; set; }
        /// <summary>
        /// 游戏资费明细
        /// </summary>
        public string GameDetailsofCharges { get; set; }

        /// <summary>
        /// 游戏icon
        /// </summary>
        [Images]
        [SourceMember(nameof(GameInfo.ImageIconId))]
        public int GameIcon { get; set; }

        /// <summary>
        /// 游戏背景图
        /// </summary>
        [Images]
        [SourceMember(nameof(GameInfo.GameBgImgId))]
        public int GameBg { get; set; }
        /// <summary>
        /// 游戏标签
        /// </summary>
        public List<GameExtendedAttribute> GameTags { get; set; }

        /// <summary>
        /// 游戏列表
        /// </summary>
        public List<GameExtendedAttribute> GameType { get; set; }

        /// <summary>
        /// 评分
        /// </summary>
        public string? Score { get; set; }

        /// <summary>
        /// Loading时间
        /// </summary>
        public int GameLoadTime { get; set; }

        /// <summary>
        /// 游戏介绍
        /// </summary>
        public virtual string? GameIntroduce { get; set; }

        /// <summary>
        /// 游戏分享者
        /// </summary>
        public string GameShare { get; set; }

        /// <summary>
        /// 游戏分享人员头像
        /// </summary>
        [Images]
        public int GameShareUserIcon { get; set; }

        /// <summary>
        /// 游戏是否收藏
        /// </summary>
        public bool IsCollect { get; set; }
    }
}
