using Binance.TradeRobot.Model.Base;
namespace Binance.TradeRobot.Model.Dto
{
public class UserResponse : Db.User
{
///
/// 累计盈亏
///
public decimal CumulativeProfitAndLoss { get { return TotalAssets - CostAmount; } }
///
/// 本金比例
///
public decimal CostRatio { get; set; }
///
/// 分红比例
///
public decimal DividendRatio { get; set; }
///
/// 用户资金改变算法
///
///
///
/// 是否手动操作
public void ChangeAmount(Enums.CapitalChangeType capitalChangeType, decimal changeAmount, bool isManualOperation)
{
if (capitalChangeType == Enums.CapitalChangeType.Add)
{
TotalAssets += changeAmount;
if (isManualOperation)
CostAmount += changeAmount;
}
else if (capitalChangeType == Enums.CapitalChangeType.Reduce)
{
var cumulativeProfitAndLoss = CumulativeProfitAndLoss;
TotalAssets -= changeAmount;
if (isManualOperation)
{
if (cumulativeProfitAndLoss < changeAmount)
CostAmount -= cumulativeProfitAndLoss > 0 ? changeAmount - cumulativeProfitAndLoss : changeAmount;
WithdrawAmount += changeAmount;
}
}
}
}
}