| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- using GalaSoft.MvvmLight;
- using Muchinfo.MTPClient.Data.Enums;
- using Muchinfo.MTPClient.Data.Helper;
- using System.Collections.Generic;
- using System.Linq;
- namespace Muchinfo.MTPClient.Data.Model.Account
- {
- public class MemberAccountInfo : ObservableObject
- {
- private decimal _holdNetWorthFloatPL;
- /// <summary>
- /// 持有净浮亏
- /// </summary>
- public decimal HoldNetWorthFloatPL
- {
- get { return _holdNetWorthFloatPL; }
- set { Set(() => HoldNetWorthFloatPL, ref _holdNetWorthFloatPL, value); }
- }
- private decimal _customTradeFloatPL;
- /// <summary>
- /// 客户交易浮亏
- /// </summary>
- public decimal CustomTradeFloatPL
- {
- get { return _customTradeFloatPL; }
- set { Set(() => CustomTradeFloatPL, ref _customTradeFloatPL, value); }
- }
- /// <summary>
- /// 隶属账户浮动盈亏
- /// </summary>
- public decimal CustomerPosFloatPL { get; set; }
- /// <summary>
- /// 自营头寸浮动盈亏
- /// </summary>
- public double SelfPosFloatPL { get; set; }
- /// <summary>
- /// 转单头寸浮动盈亏
- /// </summary>
- public double CutPosFloatPL { get; set; }
- private decimal _hedgeTradeFloatPL;
- /// <summary>
- /// 对冲交易浮盈亏
- /// </summary>
- public decimal HedgeTradeFloatPL
- {
- get { return _hedgeTradeFloatPL; }
- set { Set(() => HedgeTradeFloatPL, ref _hedgeTradeFloatPL, value); }
- }
- /// <summary>
- /// 对冲交易浮盈亏格式化
- /// </summary>
- public string HedgeTradeFloatPLDisplay
- {
- get { return HedgeTradeFloatPL.ToString("N2"); }
- }
- /// <summary>
- /// 持有净浮亏格式化
- /// </summary>
- public string HoldNetWorthFloatPLDisplay
- {
- get { return HoldNetWorthFloatPL.ToString("N2"); }
- }
- /// <summary>
- /// 客户交易浮亏格式化
- /// </summary>
- public string CustomTradeFloatPLDisplay
- {
- get { return CustomTradeFloatPL.ToString("N2"); }
- }
- // private decimal _netWorth;
- /// <summary>
- /// 净值
- /// </summary>
- public decimal NetWorth
- {
- //get
- //{
- // return Balance; // + FloatPL; //风控服务返回的值就是净值
- //}
- get;
- set;
- }
- /// <summary>
- /// 净值格式化
- /// </summary>
- public string NetWorthDisplay
- {
- get { return NetWorth.ToString("N2"); }
- }
- /// <summary>
- /// 可用保证金格式化
- /// </summary>
- public string AvailMarginDisplay
- {
- get { return AvailMargin.ToString("N2"); }
- }
- /// <summary>
- /// 期初权益
- /// </summary>
- public string BalanceDisplay
- {
- get { return Balance.ToString("N2"); }
- }
- /// <summary>
- /// 可用保证金格式化
- /// </summary>
- public string UsedMarginDisplay
- {
- get { return UsedMargin.ToString("N2"); }
- }
- private decimal _holdPosition;
- /// <summary>
- /// 持有净头寸
- /// </summary>
- public decimal HoldPosition
- {
- get { return _holdPosition; }
- set { Set(() => HoldPosition, ref _holdPosition, value); }
- }
- /// <summary>
- /// 可用保证金
- /// </summary>
- public decimal AvailMargin { get; set; }
- /// <summary>
- /// 帐户余额
- /// </summary>
- public decimal Balance { get; set; }
- /// <summary>
- /// 浮动盈亏
- /// </summary>
- public decimal FloatPL { get; set; }
- /// <summary>
- /// 汇率
- /// </summary>
- public decimal Rate { get; set; }
- /// <summary>
- /// 交易代码
- /// </summary>
- public string TradeCode { get; set; }
- /// <summary>
- /// 占用保证金
- /// </summary>
- public decimal UsedMargin { get; set; }
- /// <summary>
- /// 可出资金
- /// </summary>
- public decimal AvailAmount { get; set; }
- private eAccountStatus _accountStatus;
- /// <summary>
- /// 账号状态
- /// </summary>
- public eAccountStatus AccountStatus
- {
- get { return _accountStatus; }
- set { Set(() => AccountStatus, ref _accountStatus, value); }
- }
- private List<MemberPosition> _memberPositions;
- /// <summary>
- /// 会员持仓汇总信息
- /// </summary>
- public List<MemberPosition> MemberPositions
- {
- get { return _memberPositions; }
- set
- {
- _memberPositions = value;
- if (value != null)
- {
- CustomTradeFloatPL = value.Sum((positionPl) => positionPl.CustomerFloatPL);
- HedgeTradeFloatPL = value.Sum((position) => position.MemberFloatPL);
- HoldNetWorthFloatPL = CustomTradeFloatPL + HedgeTradeFloatPL;
- }
- }
- }
- /// <summary>
- /// 显示账号类型
- /// </summary>
- public string RateDisplay
- {
- get { return Rate.ToString("p2"); }
- }
- public string AccountStatusDisplay
- {
- get
- {
- return AccountStatus.Discription();
- }
- }
- }
- }
|