TradeCacheData.cs 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using System.Collections.ObjectModel;
  4. using Muchinfo.MTPClient.Data.Enums;
  5. using Muchinfo.MTPClient.Data.Model.Delivery;
  6. using Muchinfo.MTPClient.Data.Model.Listing;
  7. namespace Muchinfo.MTPClient.Data.Model.Account
  8. {
  9. /// <summary>
  10. /// 交易缓存数据
  11. /// </summary>
  12. public class TradeCacheData
  13. {
  14. /// <summary>
  15. /// 交易账号
  16. /// </summary>
  17. public ulong AccountId { get; set; }
  18. /// <summary>
  19. ///持仓明细
  20. /// </summary>
  21. public ObservableCollection<HoldingOrder> OpenOrders { get; set; }
  22. //public List<HoldingSummary> HoldSummaries { get; set; }
  23. /// <summary>
  24. /// 各市场持仓明细
  25. /// </summary>
  26. public Dictionary<eTradeMode, List<HoldingOrder>> MarketHoldDetails { get; set; }
  27. /// <summary>
  28. /// 各市场持仓汇总
  29. /// </summary>
  30. public Dictionary<eTradeMode, List<HoldingSummary>> MarketHoldSummaries { get; set; }
  31. /// <summary>
  32. /// 各市场平仓单
  33. /// </summary>
  34. public Dictionary<eTradeMode, List<CloseOrder>> MarketCloseOrders { get; set; }
  35. /// <summary>
  36. /// 各市场委托单
  37. /// </summary>
  38. public Dictionary<eTradeMode, List<OrderDetail>> MarketOrderDetails { get; set; }
  39. /// <summary>
  40. /// 各市场建仓明细
  41. /// </summary>
  42. public Dictionary<eTradeMode, List<CompleteOrder>> MarketOpenCompletes { get; set; }
  43. /// <summary>
  44. /// 各市场预埋单
  45. /// </summary>
  46. public Dictionary<eTradeMode, List<PrePostDetail>> MarketOpenPrePostOrder { get; set; }
  47. private Dictionary<eTradeMode, bool> _marketOpenCompletesFlag = new Dictionary<eTradeMode, bool>();
  48. /// <summary>
  49. /// 按市场建仓明细查询单据否是需更新
  50. /// </summary>
  51. public Dictionary<eTradeMode, bool> MarketOpenCompletesFlag
  52. {
  53. get
  54. {
  55. return _marketOpenCompletesFlag;
  56. }
  57. }
  58. private Dictionary<eTradeMode, bool> _marketCloseOrderFlag = new Dictionary<eTradeMode, bool>();
  59. /// <summary>
  60. /// 按市场平仓查询单据否是需更新
  61. /// </summary>
  62. public Dictionary<eTradeMode, bool> MarketCloseOrderFlag
  63. {
  64. get
  65. {
  66. return _marketCloseOrderFlag;
  67. }
  68. }
  69. private Dictionary<eTradeMode, bool> _marketOrderDetailsFlag = new Dictionary<eTradeMode, bool>();
  70. /// <summary>
  71. /// 按市场委托单查询单据是需更新
  72. /// </summary>
  73. public Dictionary<eTradeMode, bool> MarketOrderDetailsFlag
  74. {
  75. get
  76. {
  77. return _marketOrderDetailsFlag;
  78. }
  79. }
  80. public bool HoldOrderFlag { get; set; }
  81. public bool HoldingSummaryFlag { get; set; }
  82. public bool CloseOrderFlag { get; set; }
  83. public bool LimitOrderFlag { get; set; }
  84. public bool CompleteOrderFlag { get; set; }
  85. public bool DryEntrustOrdersFlag { get; set; }
  86. public bool DryHoldFlag { get; set; }
  87. /// <summary>
  88. /// 摘牌标志
  89. /// </summary>
  90. public bool DelistingOrderFlag { get; set; }
  91. public bool DeliveryWarehouseFlag { get; set; }
  92. public bool DeliveryMatchFlag { get; set; }
  93. public bool TakaDeliveryGoodsFlag { get; set; }
  94. public bool TakaDeliveryGoodsApplyFlag { get; set; }
  95. public bool DeliveryGoodsConfigFlag { get; set; }
  96. public bool DeliveryGoodsRuleFlag { get; set; }
  97. /// <summary>
  98. /// 交割关系配置-标记
  99. /// </summary>
  100. public bool RelationperformConfigFlag { get; set; }
  101. public bool OpenCompleteFlag { get; set; }
  102. public bool MessageNoticeOrderFlag { get; set; }
  103. public bool MessageAnnouncementOrderFlag { get; set; }
  104. public bool DeliveryOrderFlag { get; set; }
  105. /// <summary>
  106. /// 查询预埋单
  107. /// </summary>
  108. public bool OpenPrePostOrderFlag { get; set; }
  109. /// <summary>
  110. ///持仓汇总
  111. /// </summary>
  112. public ObservableCollection<HoldingSummary> HoldingSummaries { get; set; }
  113. /// <summary>
  114. /// 平仓单
  115. /// </summary>
  116. public ObservableCollection<CloseOrder> CloseOrders { get; set; }
  117. /// <summary>
  118. /// 限价单(委托单)
  119. /// </summary>
  120. public ObservableCollection<OrderDetail> LimitOrders { get; set; }
  121. /// <summary>
  122. /// 限价单(委托单)
  123. /// </summary>
  124. public ObservableCollection<CompleteOrder> ComplateOrders { get; set; }
  125. /// <summary>
  126. /// 交收申报(委托单)
  127. /// </summary>
  128. public ObservableCollection<DeliveryEntrustOrder> DryEntrustOrders { get; set; }
  129. /// <summary>
  130. /// 交收单
  131. /// </summary>
  132. public ObservableCollection<DryHoldDetail> DryHoldOrders { get; set; }
  133. /// <summary>
  134. /// 交割仓单
  135. /// </summary>
  136. public ObservableCollection<DeliveryWarehouse> DeliveryWarehouseOrders { get; set; }
  137. /// <summary>
  138. /// 交割仓单配对
  139. /// </summary>
  140. public ObservableCollection<DeliveryMatchModel> DeliveryMatchOrders { get; set; }
  141. /// <summary>
  142. /// 交割提货查询
  143. /// </summary>
  144. public ObservableCollection<TakaDeliveryGoodsQueryModel> TakaDeliveryGoodsOrder { get; set; }
  145. /// <summary>
  146. /// 交割提货申请
  147. /// </summary>
  148. public ObservableCollection<TakaDeliveryGoodsApplyModel> TakaDeliveryGoodsApplyOrder { get; set; }
  149. /// <summary>
  150. /// 交割商品关系配置
  151. /// </summary>
  152. public ObservableCollection<DeliveryConfig> DeliveryConfigInfo { get; set; }
  153. /// <summary>
  154. /// 交割商品交割规则
  155. /// </summary>
  156. public ObservableCollection<DeliveryRuleModel> DeliveryGoodsRuleValue { get; set; }
  157. /// <summary>
  158. /// 摘牌记录
  159. /// </summary>
  160. public ObservableCollection<DelistingOrder> DelistingOrders{ get; set; }
  161. /// <summary>
  162. /// 交割关系配置
  163. /// </summary>
  164. public ObservableCollection<RelationperformConfigModel> RelationperformConfig { get; set; }
  165. /// <summary>
  166. /// 交收单
  167. /// </summary>
  168. public ObservableCollection<Muchinfo.MTPClient.Data.Model.Delivery.DeliveryDetail> DeliveryDetail { get; set; }
  169. private ObservableCollection<Announcement> _messageNoticeOrders = new ObservableCollection<Announcement>();
  170. /// <summary>
  171. /// 消息中心-消息通知
  172. /// </summary>
  173. public ObservableCollection<Announcement> MessageNoticeOrders
  174. {
  175. get { return _messageNoticeOrders; }
  176. set { _messageNoticeOrders = value; }
  177. }
  178. private ObservableCollection<Announcement> _messageAnnouncementOrders = new ObservableCollection<Announcement>();
  179. /// <summary>
  180. /// 消息中心-公告
  181. /// </summary>
  182. public ObservableCollection<Announcement> MessageAnnouncementOrders
  183. {
  184. get { return _messageAnnouncementOrders; }
  185. set { _messageAnnouncementOrders = value; }
  186. }
  187. /// <summary>
  188. /// 预警
  189. /// </summary>
  190. public ObservableCollection<Warning> WarningOrders { get; set; }
  191. /// <summary>
  192. /// Initializes a new instance of the <see cref="TradeCacheData"/> class.
  193. /// </summary>
  194. /// <param name="tradeCode">The trade code.</param>
  195. public TradeCacheData(ulong accountId)
  196. {
  197. this.AccountId = accountId;
  198. HoldOrderFlag = false;
  199. HoldingSummaryFlag = false;
  200. CloseOrderFlag = false;
  201. LimitOrderFlag = false;
  202. MessageAnnouncementOrderFlag = false;
  203. MessageNoticeOrderFlag = false;
  204. DeliveryOrderFlag = false;
  205. DryEntrustOrdersFlag = false;
  206. DryHoldFlag = false;
  207. }
  208. }
  209. }