ViewModelLocator.cs 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564
  1. using GalaSoft.MvvmLight.Ioc;
  2. using Microsoft.Practices.ServiceLocation;
  3. using Muchinfo.MTPClient.Account.ViewModels;
  4. using Muchinfo.MTPClient.Account.ViewModels.AllOrderViewModel;
  5. using Muchinfo.MTPClient.Account.ViewModels.OrderViewModel;
  6. using Muchinfo.MTPClient.Analysis.ViewModels;
  7. using Muchinfo.MTPClient.Bank.ViewModels;
  8. using Muchinfo.MTPClient.Delivery.ViewModels;
  9. using Muchinfo.MTPClient.IService;
  10. using Muchinfo.MTPClient.Listing.ViewModel;
  11. using Muchinfo.MTPClient.Quotation.ViewModels;
  12. using Muchinfo.MTPClient.Sale.ViewModels;
  13. using Muchinfo.MTPClient.Service;
  14. using Muchinfo.MTPClient.Trade.ViewModels;
  15. using Muchinfo.MTPClient.UI.ViewModels;
  16. using Muchinfo.MTPClient.UI.Views;
  17. namespace Muchinfo.MTPClient.UI
  18. {
  19. public class ViewModelLocator
  20. {
  21. public static void Initialize()
  22. {
  23. ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
  24. // 注册服务
  25. RegisterServices();
  26. //注册ViewModel
  27. RegisterViewModels();
  28. RegisterView();
  29. }
  30. private static void RegisterView()
  31. {
  32. SimpleIoc.Default.Register<MainPage>();
  33. }
  34. /// <summary>
  35. /// 注册服务
  36. /// </summary>
  37. private static void RegisterServices()
  38. {
  39. SimpleIoc.Default.Register<ILoginService, LoginService>();
  40. SimpleIoc.Default.Register<IGoodsService, GoodsService>();
  41. SimpleIoc.Default.Register<IOrderService, OrderService>();
  42. SimpleIoc.Default.Register<ISystemService, SystemService>();
  43. SimpleIoc.Default.Register<IFavoriteService, FavoriteService>();
  44. SimpleIoc.Default.Register<IBankService, BankService>();
  45. SimpleIoc.Default.Register<IWarningService, WarningService>();
  46. SimpleIoc.Default.Register<IQuoteDataService, QuoteDataService>();
  47. SimpleIoc.Default.Register<INewsService, NewsService>();
  48. SimpleIoc.Default.Register<IAnnouncementService, AnnouncementService>();
  49. SimpleIoc.Default.Register<IDeliveryService, DeliveryService>();
  50. SimpleIoc.Default.Register<ISaleService, SaleService>();
  51. SimpleIoc.Default.Register<IDBTableMsgService, DBTableMsgService>();
  52. SimpleIoc.Default.Register<IListingService, ListingService>();
  53. SimpleIoc.Default.Register<IDepositService, DepositService>();
  54. SimpleIoc.Default.Register<IAnalysisService, AnalysisService>();//new 2.0
  55. SimpleIoc.Default.Register<ICommonQueryService, CommonQueryService>();//new 2.0
  56. SimpleIoc.Default.Register<IErmcpService, ErmcpService>();// 风管云平台
  57. }
  58. /// <summary>
  59. /// 注册ViewModel
  60. /// </summary>
  61. private static void RegisterViewModels()
  62. {
  63. SimpleIoc.Default.Register<HomeViewModel>();
  64. SimpleIoc.Default.Register<StatusBarViewModel>();
  65. //SimpleIoc.Default.Register<OrderDetailListViewModel>();
  66. //SimpleIoc.Default.Register<CloseOrderListViewModel>();
  67. //SimpleIoc.Default.Register<HoldingDetailListViewModel>();
  68. //SimpleIoc.Default.Register<HoldingSummaryListViewModel>();
  69. SimpleIoc.Default.Register<TradeHeaderViewModel>();
  70. SimpleIoc.Default.Register<QuoteListViewModel>();
  71. SimpleIoc.Default.Register<MOrderDetailViewModel>();
  72. SimpleIoc.Default.Register<MOOrderDetailViewModel>();
  73. SimpleIoc.Default.Register<MCloseOrderViewModel>();
  74. SimpleIoc.Default.Register<MOTransactionDetailViewModel>();
  75. SimpleIoc.Default.Register<MHoldDetailViewModel>();
  76. SimpleIoc.Default.Register<MOHoldDetailViewModel>();
  77. SimpleIoc.Default.Register<MHoldSummaryViewModel>();
  78. SimpleIoc.Default.Register<MOHoldSummaryViewModel>();
  79. SimpleIoc.Default.Register<MAccountInfoViewModel>();
  80. SimpleIoc.Default.Register<MOpenCompleteViewModel>();
  81. SimpleIoc.Default.Register<MOSPSLListViewModel>();
  82. SimpleIoc.Default.Register<AccountManagerViewModel>();
  83. SimpleIoc.Default.Register<QuickOrderViewModel>();
  84. SimpleIoc.Default.Register<MainContentViewModel>();
  85. SimpleIoc.Default.Register<MenuTreeViewModel>();
  86. SimpleIoc.Default.Register<Muchinfo.MTPClient.Bank.ViewModels.AmountQueryViewModel>();
  87. SimpleIoc.Default.Register<QuerySaleGoodsViewModel>();
  88. SimpleIoc.Default.Register<ListingMarketViewModel>();
  89. SimpleIoc.Default.Register <DelistingOrderViewModel>();
  90. //预埋单查询
  91. SimpleIoc.Default.Register<PrePostDetailViewModel>();
  92. //预埋单查询-不区分市场
  93. SimpleIoc.Default.Register<MOPrePostDetailViewModel>();
  94. //配号中签
  95. SimpleIoc.Default.Register<DistributeBallotViewModel>();
  96. SimpleIoc.Default.Register<DeliveryHolderViewModel>();
  97. SimpleIoc.Default.Register<DeliveryEntructViewModel>();
  98. //交割申报
  99. //SimpleIoc.Default.Register<DeliveryOrderViewModel>();
  100. //交割仓单查询
  101. SimpleIoc.Default.Register<DeliveryWarehouseOrderViewModel>();
  102. //交割配对查询
  103. SimpleIoc.Default.Register<DeliveryMatchViewModel>();
  104. //交割-提货-查询
  105. SimpleIoc.Default.Register<TakaDeliveryGoodsQueryViewModel>();
  106. //交割-提货-申请
  107. SimpleIoc.Default.Register<TakaDeliveryGoodsApplyViewModel>();
  108. //交割 成交单
  109. SimpleIoc.Default.Register<DeliveryCompleteViewModel>();
  110. ///资金流水查询
  111. SimpleIoc.Default.Register<TaAmountLogViewModel>();
  112. ////协议平仓
  113. SimpleIoc.Default.Register<DealCloseViewModel>();
  114. SimpleIoc.Default.Register<QueryDepositApplyViewModel>();
  115. ////行情列表
  116. SimpleIoc.Default.Register<QuoteDataGridViewModel>();
  117. ////签约查询
  118. SimpleIoc.Default.Register<BankSignQueryViewModel>();
  119. ////历史单据查询
  120. SimpleIoc.Default.Register<HistoryOrderQueryViewModel>();
  121. ////查询交割商品
  122. SimpleIoc.Default.Register<ListingDeliveryGoodsViewModel>();
  123. SimpleIoc.Default.Register<MyListingOrderViewModel>();
  124. SimpleIoc.Default.Register<MyOrderViewModel>();
  125. ////五档历史
  126. SimpleIoc.Default.Register<HistoryCommissionsListViewModel>();
  127. }
  128. /// <summary>
  129. /// Cleanups this instance.
  130. /// </summary>
  131. public static void Cleanup()
  132. {
  133. }
  134. #region ViewModels
  135. /// <summary>
  136. /// 只有一个实例,在RegisterViewModels()里注册后使用ServiceLocator
  137. /// </summary>
  138. public static HomeViewModel Home
  139. {
  140. get
  141. {
  142. return ServiceLocator.Current.GetInstance<HomeViewModel>();
  143. }
  144. }
  145. /// <summary>
  146. /// 报价牌 ,k线
  147. /// </summary>
  148. public static MainContentViewModel MainContent
  149. {
  150. get
  151. {
  152. return ServiceLocator.Current.GetInstance<MainContentViewModel>();
  153. }
  154. }
  155. /// <summary>
  156. /// 主窗口
  157. /// </summary>
  158. public static MainPage MainPage
  159. {
  160. get
  161. {
  162. return ServiceLocator.Current.GetInstance<MainPage>();
  163. }
  164. }
  165. /// <summary>
  166. /// 交易信息管理
  167. /// </summary>
  168. public static AccountManagerViewModel AccountManager
  169. {
  170. get { return ServiceLocator.Current.GetInstance<AccountManagerViewModel>(); }
  171. }
  172. #region 旧单据查询
  173. /// <summary>
  174. /// 账号信息
  175. /// </summary>
  176. //public static AccountInfoListViewModel AccountInfo
  177. //{
  178. // get
  179. // {
  180. // return ServiceLocator.Current.GetInstance<AccountInfoListViewModel>();
  181. // }
  182. //}
  183. ///// <summary>
  184. ///// 持仓单
  185. ///// </summary>
  186. //public static HoldingDetailListViewModel HoldingReport
  187. //{
  188. // get { return ServiceLocator.Current.GetInstance<HoldingDetailListViewModel>(); }
  189. //}
  190. ///// <summary>
  191. /////平仓单
  192. ///// </summary>
  193. //public static CloseOrderListViewModel CloseOrderList
  194. //{
  195. // get { return ServiceLocator.Current.GetInstance<CloseOrderListViewModel>(); }
  196. //}
  197. ///// <summary>
  198. ///// 持仓汇总
  199. ///// </summary>
  200. //public static HoldingSummaryListViewModel HoldingSummary
  201. //{
  202. // get { return ServiceLocator.Current.GetInstance<HoldingSummaryListViewModel>(); }
  203. //}
  204. ///// <summary>
  205. ///// 成交单
  206. ///// </summary>
  207. //public CompleteOrderViewModel CompleteOrders
  208. //{
  209. // get { return ServiceLocator.Current.GetInstance<CompleteOrderViewModel>(); }
  210. //}
  211. #endregion
  212. #region 新单据查询
  213. /// <summary>
  214. /// 账号信息
  215. /// </summary>
  216. public static MAccountInfoViewModel MAccountInfo
  217. {
  218. get
  219. {
  220. return ServiceLocator.Current.GetInstance<MAccountInfoViewModel>();
  221. }
  222. }
  223. /// <summary>
  224. /// 持仓单
  225. /// </summary>
  226. public static MHoldDetailViewModel MHoldingDetail
  227. {
  228. get { return ServiceLocator.Current.GetInstance<MHoldDetailViewModel>(); }
  229. }
  230. /// <summary>
  231. /// 持仓单-不区分市场
  232. /// </summary>
  233. public static MOHoldDetailViewModel MOHoldingDetail
  234. {
  235. get { return ServiceLocator.Current.GetInstance<MOHoldDetailViewModel>(); }
  236. }
  237. /// <summary>
  238. ///平仓单
  239. /// </summary>
  240. public static MCloseOrderViewModel MCloseOrders
  241. {
  242. get { return ServiceLocator.Current.GetInstance<MCloseOrderViewModel>(); }
  243. }
  244. /// <summary>
  245. ///平仓单[成交明细]-不区分市场
  246. /// </summary>
  247. public static MOTransactionDetailViewModel MOCloseOrders
  248. {
  249. get { return ServiceLocator.Current.GetInstance<MOTransactionDetailViewModel>(); }
  250. }
  251. /// <summary>
  252. /// 持仓汇总
  253. /// </summary>
  254. public static MHoldSummaryViewModel MProsition
  255. {
  256. get { return ServiceLocator.Current.GetInstance<MHoldSummaryViewModel>(); }
  257. }
  258. /// <summary>
  259. /// 持仓汇总-不区分市场
  260. /// </summary>
  261. public static MOHoldSummaryViewModel MOProsition
  262. {
  263. get { return ServiceLocator.Current.GetInstance<MOHoldSummaryViewModel>(); }
  264. }
  265. /// <summary>
  266. ///委托单
  267. /// </summary>
  268. public static MOrderDetailViewModel MOrderDetails
  269. {
  270. get { return ServiceLocator.Current.GetInstance<MOrderDetailViewModel>(); }
  271. }
  272. /// <summary>
  273. ///委托单-不区分市场
  274. /// </summary>
  275. public static MOOrderDetailViewModel MOOrderDetails
  276. {
  277. get { return ServiceLocator.Current.GetInstance<MOOrderDetailViewModel>(); }
  278. }
  279. /// <summary>
  280. /// 建仓单
  281. /// </summary>
  282. public MOpenCompleteViewModel MCompleteOrders
  283. {
  284. get { return ServiceLocator.Current.GetInstance<MOpenCompleteViewModel>(); }
  285. }
  286. /// <summary>
  287. /// 预埋单查询
  288. /// </summary>
  289. public PrePostDetailViewModel PrePostDetail
  290. {
  291. get { return ServiceLocator.Current.GetInstance<PrePostDetailViewModel>(); }
  292. }
  293. /// <summary>
  294. /// 预埋单查询-不区分市场
  295. /// </summary>
  296. public MOPrePostDetailViewModel OPrePostDetail
  297. {
  298. get { return ServiceLocator.Current.GetInstance<MOPrePostDetailViewModel>(); }
  299. }
  300. /// <summary>
  301. /// 配号中签查询
  302. /// </summary>
  303. public DistributeBallotViewModel DistributeBallot
  304. {
  305. get { return ServiceLocator.Current.GetInstance<DistributeBallotViewModel>(); }
  306. }
  307. /// <summary>
  308. /// 交割申报
  309. /// </summary>
  310. public DeliveryOrderViewModel DeliveryOrderView
  311. {
  312. get { return ServiceLocator.Current.GetInstance<DeliveryOrderViewModel>(); }
  313. }
  314. /// <summary>
  315. /// /资金流水查询
  316. /// </summary>
  317. public TaAmountLogViewModel TaAmountLog
  318. {
  319. get { return ServiceLocator.Current.GetInstance<TaAmountLogViewModel>(); }
  320. }
  321. public MOSPSLListViewModel SPSLListViewModel
  322. {
  323. get { return ServiceLocator.Current.GetInstance<MOSPSLListViewModel>(); }
  324. }
  325. #endregion
  326. /// <summary>
  327. /// 快速下单栏
  328. /// </summary>
  329. public QuickOrderViewModel OrderBar
  330. {
  331. get { return ServiceLocator.Current.GetInstance<QuickOrderViewModel>(); }
  332. }
  333. public static StatusBarViewModel StatusBar
  334. {
  335. get { return ServiceLocator.Current.GetInstance<StatusBarViewModel>(); }
  336. }
  337. /// <summary>
  338. /// 菜单树
  339. /// </summary>
  340. public static MenuTreeViewModel MenuTree
  341. {
  342. get { return ServiceLocator.Current.GetInstance<MenuTreeViewModel>(); }
  343. }
  344. /// <summary>
  345. /// 行情列表
  346. /// </summary>
  347. public static QuoteListViewModel QuoteList
  348. {
  349. get { return ServiceLocator.Current.GetInstance<QuoteListViewModel>(); }
  350. }
  351. public static TradeHeaderViewModel TradeHeader
  352. {
  353. get { return ServiceLocator.Current.GetInstance<TradeHeaderViewModel>(); }
  354. }
  355. public static Muchinfo.MTPClient.Bank.ViewModels.AmountQueryViewModel AmountQuery
  356. {
  357. get { return ServiceLocator.Current.GetInstance<Muchinfo.MTPClient.Bank.ViewModels.AmountQueryViewModel>(); }
  358. }
  359. /// <summary>
  360. /// 查询发售商品
  361. /// </summary>
  362. public static QuerySaleGoodsViewModel QuerySaleGoods
  363. {
  364. get { return ServiceLocator.Current.GetInstance<QuerySaleGoodsViewModel>(); }
  365. }
  366. /// <summary>
  367. /// 挂牌市场
  368. /// </summary>
  369. public static ListingMarketViewModel ListingMarket
  370. {
  371. get { return ServiceLocator.Current.GetInstance<ListingMarketViewModel>(); }
  372. }
  373. public static DelistingOrderViewModel DelistingViewModel
  374. {
  375. get { return ServiceLocator.Current.GetInstance<DelistingOrderViewModel>(); }
  376. }
  377. /// <summary>
  378. /// 查询交割单
  379. /// </summary>
  380. public static DeliveryHolderViewModel DeliveryHolder
  381. {
  382. get { return ServiceLocator.Current.GetInstance<DeliveryHolderViewModel>(); }
  383. }
  384. /// <summary>
  385. /// 交割申报单
  386. /// </summary>
  387. public static DeliveryEntructViewModel DeliveryEntruct
  388. {
  389. get { return ServiceLocator.Current.GetInstance<DeliveryEntructViewModel>(); }
  390. }
  391. /// <summary>
  392. /// 交割仓单查询
  393. /// </summary>
  394. public static DeliveryWarehouseOrderViewModel DeliveryWarehouseOrder
  395. {
  396. get { return ServiceLocator.Current.GetInstance<DeliveryWarehouseOrderViewModel>(); }
  397. }
  398. /// <summary>
  399. /// 交割配对仓单查询
  400. /// </summary>
  401. public static DeliveryMatchViewModel DeliveryMatch
  402. {
  403. get { return ServiceLocator.Current.GetInstance<DeliveryMatchViewModel>(); }
  404. }
  405. /// <summary>
  406. /// 交割提货-查询
  407. /// </summary>
  408. public static TakaDeliveryGoodsQueryViewModel TakaDeliveryGoodsQuery
  409. {
  410. get { return ServiceLocator.Current.GetInstance<TakaDeliveryGoodsQueryViewModel>(); }
  411. }
  412. /// <summary>
  413. /// 交割提货-申请
  414. /// </summary>
  415. public static TakaDeliveryGoodsApplyViewModel TakaDeliveryGoodsApply
  416. {
  417. get { return ServiceLocator.Current.GetInstance<TakaDeliveryGoodsApplyViewModel>(); }
  418. }
  419. public static DeliveryCompleteViewModel DlyCompleteViewModel
  420. {
  421. get { return ServiceLocator.Current.GetInstance<DeliveryCompleteViewModel>(); }
  422. }
  423. #endregion
  424. /// <summary>
  425. /// /协议平仓
  426. /// </summary>
  427. public DealCloseViewModel DealClose { get { return ServiceLocator.Current.GetInstance<DealCloseViewModel>(); } }
  428. /// <summary>
  429. /// 托管申请查询
  430. /// </summary>
  431. public QueryDepositApplyViewModel DepositQuery { get { return ServiceLocator.Current.GetInstance<QueryDepositApplyViewModel>(); } }
  432. /// <summary>
  433. /// /签约查询
  434. /// </summary>
  435. public BankSignQueryViewModel BankSignQuery { get { return ServiceLocator.Current.GetInstance<BankSignQueryViewModel>(); } }
  436. /// <summary>
  437. /// 历史单据查询
  438. /// </summary>
  439. public HistoryOrderQueryViewModel HistoryOrder { get { return ServiceLocator.Current.GetInstance<HistoryOrderQueryViewModel>(); } }
  440. /// <summary>
  441. /// 挂牌点价
  442. /// </summary>
  443. public static ListingDeliveryGoodsViewModel ListingDeliveryGoodses
  444. {
  445. get { return ServiceLocator.Current.GetInstance<ListingDeliveryGoodsViewModel>(); }
  446. }
  447. /// <summary>
  448. /// 我的挂牌
  449. /// </summary>
  450. public static MyListingOrderViewModel MyListingOrder
  451. {
  452. get { return ServiceLocator.Current.GetInstance<MyListingOrderViewModel>(); }
  453. }
  454. /// <summary>
  455. /// 五档历史
  456. /// </summary>
  457. public static HistoryCommissionsListViewModel HistoryCommissionsList
  458. {
  459. get { return ServiceLocator.Current.GetInstance<HistoryCommissionsListViewModel>(); }
  460. }
  461. /// <summary>
  462. /// 我的订单
  463. /// </summary>
  464. public static MyOrderViewModel MyOrder
  465. {
  466. get { return ServiceLocator.Current.GetInstance<MyOrderViewModel>(); }
  467. }
  468. }
  469. }