using FreeSql.DataAnnotations;

namespace Binance.TradeRobot.Model.Db
{

    [Table(Name = "robotaccount", DisableSyncStructure = true)]
    public partial class RobotAccount
    {

        [Column(DbType = "bigint", IsPrimary = true)]
        public long Id { get; set; }

        /// <summary>
        /// 平仓次数
        /// </summary>
        [Column(DbType = "int")]
        public int ClosePositionCount { get; set; } = 0;

        [Column(DbType = "bigint")]
        public long RobotId { get; set; }

        /// <summary>
        /// 现货/杠杆持仓金额
        /// </summary>
        [Column(DbType = "decimal(18,8)")]
        public decimal SoptCurrentcyAmount { get; set; } = 0.0M;

        /// <summary>
        /// 现货/杠杆持仓数量
        /// </summary>
        [Column(DbType = "decimal(18,8)")]
        public decimal SpotCurrencyQuantity { get; set; } = 0.0M;

        /// <summary>
        /// 总收益
        /// </summary>
        [Column(DbType = "decimal(18,8)")]
        public decimal TotalProfit { get; set; } = 0.0M;

        /// <summary>
        /// 盈利次数
        /// </summary>
        [Column(DbType = "int")]
        public int WinCount { get; set; } = 0;

        /// <summary>
        /// 总借币金额
        /// </summary>
        [Column(DbType = "decimal(18,8)")]
        public decimal LoanAmount { get; set; } = 0.0M;

        /// <summary>
        /// 现货持仓均价
        /// </summary>
        [Column(IsIgnore = true)]
        public decimal SpotCurrencyAvgPrice
        {
            get
            {
                return SpotCurrencyQuantity == 0M ? 0M : SoptCurrentcyAmount / SpotCurrencyQuantity;
            }
        }
    }

}