| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449 |
- using Muchinfo.MTPClient.Data;
- using Muchinfo.MTPClient.Data.Enums;
- using Muchinfo.MTPClient.Data.Model;
- using Muchinfo.MTPClient.Infrastructure.Cache;
- using Muchinfo.MTPClient.Infrastructure.Users;
- using Muchinfo.MTPClient.Infrastructure.Utilities;
- using Muchinfo.MTPClient.IService;
- using Muchinfo.MTPClient.Resources;
- using Muchinfo.MTPClient.Service.Utilities;
- using Muchinfo.PC.Common.Extensions;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.Linq;
- using System.Windows;
- using System.Windows.Input;
- namespace Muchinfo.MTPClient.Service
- {
- public class SystemService : ISystemService
- {
- /// <summary>
- /// 是否显示P+X标签
- /// </summary>
- /// <returns><c>true</c> if [is show p and x]; otherwise, <c>false</c>.</returns>
- public bool IsShowPAndX()
- {
- ////有权限的交易商品有配置P+X交割关系时,显示P+X交割标签
- var goodsIds = CacheManager.CacheGoodsBaseInfos.Select(z => z.GoodsId);
- var pAndXIds = CacheManager.AllDeliveryRelationList.Where(z => z != null && z.RelationMode == eDeliveryContractLink.PAndX).Select(z => z.GoodsId);
- if (!goodsIds.Any() || !pAndXIds.Any()) return false;
- foreach (var id in pAndXIds)
- {
- uint uid;
- if (uint.TryParse(id.ToString(), out uid))
- {
- if (goodsIds.Contains(uid)) return true;
- }
- }
- return false;
- }
- /// <summary>
- /// 获取行情底部分类菜单
- /// </summary>
- /// <returns>List{QuoteCategoryItem}.</returns>
- /// <exception cref="System.NotImplementedException"></exception>
- public List<SysMenuItem> GetQuoteCategoryMenus()
- {
- var list = new List<SysMenuItem>();
- var allgoods = BuildAllGoodsItems();
- if (allgoods != null) list.Add(allgoods);
- var favoriteItem = BuildFavoriteItem();
- if (favoriteItem != null) list.Add(favoriteItem);
- //添加外部交易所-资管
- var exchangeMenuItems = GetExchangeMenuItems();
- var sysMenuItems = exchangeMenuItems as IList<SysMenuItem> ?? exchangeMenuItems.ToList();
- if (exchangeMenuItems != null && sysMenuItems.Any())
- {
- list.AddRange(sysMenuItems);
- }
-
- return list;
- }
- /// <summary>
- /// 获取多资金账户分类菜单
- /// </summary>
- /// <returns></returns>
- public List<SysMenuItem> GetCaptialAccountMenus()
- {
- var list = new List<SysMenuItem>();
- if (UserManager.CurrentTradeAccount.FundsAccounts != null && UserManager.CurrentTradeAccount.FundsAccounts.Count > 0)
- {
- foreach (var item in UserManager.CurrentTradeAccount.FundsAccounts)
- {
- list.Add(new SysMenuItem(item.AccountId.ToString(), MenuCommandType.Query)
- {
- QuoteParameters = item.AccountId.ToString()
- });
- }
- }
- return list;
- }
- /// <summary>
- /// 获取分析图表右键菜单
- /// </summary>
- /// <param name="isMySelected">if set to <c>true</c> [is my selected].</param>
- /// <param name="isNotComparison">if set to <c>true</c> [is comparison].</param>
- /// <returns>List{SysContextMenuItem}.</returns>
- /// <exception cref="System.NotImplementedException"></exception>
- public IEnumerable<SysContextMenuItem> GetQuoteChartContextMenuItems(bool isMySelected, bool isNotComparison)
- {
- var result = new List<SysContextMenuItem>();
- //if (isMySelected)
- //{
- // result.Add(new SysContextMenuItem(ContextMenuNames.RemoveFromMySelected, ContextMenuCommandType.RemoveFromMySelected));
- //}
- //else
- //{
- // result.Add(new SysContextMenuItem(ContextMenuNames.AddToMySelected, ContextMenuCommandType.AddToMySelected));
- //}
- //result.Add(new SysContextMenuItem(ContextMenuNames.SwitchCycle, ContextMenuCommandType.SwitchCycle)
- //{
- // Children = new List<SysContextMenuItem>()
- // {
- // new SysContextMenuItem(ToolbarNames.CycleMinute1, ContextMenuCommandType.CycleMinute1),
- // //new SysContextMenuItem(ToolbarNames.CycleMinute3, ContextMenuCommandType.CycleMinute3),
- // new SysContextMenuItem(ToolbarNames.CycleMinute5, ContextMenuCommandType.CycleMinute5),
- // new SysContextMenuItem(ToolbarNames.CycleMinute10, ContextMenuCommandType.CycleMinute10),
- // new SysContextMenuItem(ToolbarNames.CycleMinute15, ContextMenuCommandType.CycleMinute15),
- // new SysContextMenuItem(ToolbarNames.CycleMinute30, ContextMenuCommandType.CycleMinute30),
- // //new SysContextMenuItem(ToolbarNames.CycleMinute60, ContextMenuCommandType.CycleMinute60),
- // //new SysContextMenuItem(ToolbarNames.CycleMinute90, ContextMenuCommandType.CycleMinute90),
- // //new SysContextMenuItem(ToolbarNames.CycleMinute120, ContextMenuCommandType.CycleMinute120),
- // //new SysContextMenuItem(ToolbarNames.CycleMinute180, ContextMenuCommandType.CycleMinute180),
- // //new SysContextMenuItem(ToolbarNames.CycleMinute240, ContextMenuCommandType.CycleMinute240),
- // new SysContextMenuItem(ToolbarNames.CycleHour, ContextMenuCommandType.CycleHour),
- // new SysContextMenuItem(ToolbarNames.CycleHour4, ContextMenuCommandType.CycleHour4),
- // new SysContextMenuItem(ToolbarNames.CycleDay, ContextMenuCommandType.CycleDay),
- // new SysContextMenuItem(ToolbarNames.CycleWeek, ContextMenuCommandType.CycleWeek),
- // new SysContextMenuItem(ToolbarNames.CycleMonth, ContextMenuCommandType.CycleMonth),
- // //new SysContextMenuItem(ToolbarNames.CycleQuarter, ContextMenuCommandType.CycleQuarter),
- // new SysContextMenuItem(ToolbarNames.CycleYear, ContextMenuCommandType.CycleYear),
- // //new SysContextMenuItem(ToolbarNames.CycleCustom, ContextMenuCommandType.CycleCustom),
- // }
- //});
- result.Add(new SysContextMenuItem(ContextMenuNames.ChangeGoods, ContextMenuCommandType.ChangeGoods));
- //if (isNotComparison)
- //{
- // result.Add(new SysContextMenuItem(ContextMenuNames.ComparisonGoods,
- // ContextMenuCommandType.ComparisonGoods));
- //}
- //else
- //{
- // result.Add(new SysContextMenuItem(ContextMenuNames.CancelComparison,
- // ContextMenuCommandType.CancelComparison));
- //}
- //result.Add(new SysContextMenuItem(ContextMenuNames.GoodsNews, ContextMenuCommandType.GoodsNews));
- //result.Add(new SysContextMenuItem(ContextMenuNames.DrawingTool, ContextMenuCommandType.DrawingTool)
- //{
- // Children = new List<SysContextMenuItem>()
- // {
- // new SysContextMenuItem(ContextMenuNames.Top, ContextMenuCommandType.DrawingToolTop),
- // new SysContextMenuItem(ContextMenuNames.Bottom, ContextMenuCommandType.DrawingToolBottom),
- // new SysContextMenuItem(ContextMenuNames.Left, ContextMenuCommandType.DrawingToolLeft ),
- // new SysContextMenuItem(ContextMenuNames.Right, ContextMenuCommandType.DrawingToolRight),
- // new SysContextMenuItem(ContextMenuNames.Hidden, ContextMenuCommandType.DrawingToolHidden),
- // }
- //});
- result.Add(new SysContextMenuItem(ContextMenuNames.DataExport,
- ContextMenuCommandType.DataExport));
- result.Add(new SysContextMenuItem(ContextMenuNames.ShowHandicap,
- ContextMenuCommandType.ShowHandicap));
- result.Add(new SysContextMenuItem(ContextMenuNames.SelectIndicator,
- ContextMenuCommandType.SelectIndicator));
- result.Add(new SysContextMenuItem(ContextMenuNames.EditIndicator,
- ContextMenuCommandType.EditIndicatorParam));
- result.Add(new SysContextMenuItem(ContextMenuNames.ClearMainIndicator,
- ContextMenuCommandType.ClearMainIndicator));
- return result;
- }
- /// <summary>
- /// 获取分析图表右键菜单
- /// </summary>
- /// <param name="isMySelected">if set to <c>true</c> [is my selected].</param>
- /// <param name="isNotComparison">if set to <c>true</c> [is comparison].</param>
- /// <param name="command">The command.</param>
- /// <returns>List{SysContextMenuItem}.</returns>
- /// <exception cref="System.NotImplementedException"></exception>
- public List<SysMenuItem> GetQuoteChartMenuItems(bool isMySelected, bool isNotComparison, ICommand command)
- {
- var result = new List<SysMenuItem>();
- // result.Add(new SysMenuItem(ContextMenuNames.ChangeGoods, MenuCommandType.ChangeGoods) { Command = command });
- var sysLoad = new SysMenuItem(ContextMenuNames.LoadMoreData, MenuCommandType.LoadMoreData)
- {
- Command = command
- };
- result.Add(sysLoad);
- var sysMenuCycles = new SysMenuItem(ContextMenuNames.SwitchCycle, MenuCommandType.Cycles);
- sysMenuCycles.Children = GetAnalysisCycle(command, sysMenuCycles);
- result.Add(sysMenuCycles);
- var indicator = new SysMenuItem(ContextMenuNames.SelectIndicator,
- MenuCommandType.Indecator);
- indicator.Children = new List<SysMenuItem>()
- {
- new SysMenuItem(MenuNames.AnalysisIndicator_MA, MenuCommandType.MA),
- new SysMenuItem(MenuNames.AnalysisIndicator_MA4, MenuCommandType.MA4),
- new SysMenuItem(MenuNames.AnalysisIndicator_BOLL, MenuCommandType.BOLL),
- new SysMenuItem(MenuNames.AnalysisIndicator_MACD, MenuCommandType.MACD),
- new SysMenuItem(MenuNames.AnalysisIndicator_DMI, MenuCommandType.DMI),
- new SysMenuItem(MenuNames.AnalysisIndicator_OBV, MenuCommandType.OBV),
- new SysMenuItem(MenuNames.AnalysisIndicator_VOL, MenuCommandType.VOL),
- new SysMenuItem(MenuNames.AnalysisIndicator_RSI, MenuCommandType.RSI),
- new SysMenuItem(MenuNames.AnalysisIndicator_KDJ, MenuCommandType.KDJ),
- new SysMenuItem(MenuNames.AnalysisIndicator_CCI, MenuCommandType.CCI),
- new SysMenuItem(MenuNames.AnalysisIndicator_BIAS, MenuCommandType.BIAS),
- new SysMenuItem(MenuNames.AnalysisIndicator_PSY, MenuCommandType.PSY),
- new SysMenuItem(MenuNames.AnalysisIndicator_MTM, MenuCommandType.MTM),
- new SysMenuItem(MenuNames.AnalysisIndicator_WR, MenuCommandType.WR),
- };
- result.Add(indicator);
- var reMoveIndicator = new SysMenuItem(ContextMenuNames.DeleteIndicator, MenuCommandType.RemoveIndecator)
- {
- Command = command
- };
- result.Add(reMoveIndicator);
- return result;
- }
- /// <summary>
- /// 获取系统菜单
- /// </summary>
- /// <returns>List{SysMenuItem}.</returns>
- public ObservableCollection<SysMenuItem> GetSysMenuItems(List<SysMenuItem> accessFuncMenus, ICommand command)
- {
- bool isListing = accessFuncMenus.Exists((item) => item.FuncMenuCode == UserManager.GetMenuCommandValue(MenuCommandType.ListingManage));
- var result = new List<SysMenuItem>();
- //result.AddRange(BuildSystemMenu());
- result.AddRange(BuildQuoteMenus(isListing));
- //result.AddRange(BuildTradingMenus(accessFuncMenus, command));
- result.AddRange(BuildErmcpMenu());
- result.AddRange(BuildHelpMenus());
- return result.ToObservableCollection();
- //todo:暂时使用本地的
- // var systemMenu= UserManager.AccessFuncMenus.FirstOrDefault((item) => item.SysCommandType == MenuCommandType.SysHeadMenu);
- //if (systemMenu != null && systemMenu.Children != null)
- //{
- // systemMenu.Children.AddRange(BuildQuoteMenus()); ////构建行情菜单
- // return systemMenu.Children.ToObservableCollection();
- //}
- //return systemMenu.Children.ToObservableCollection();
- }
- /// <summary>
- /// 获取工具栏按钮
- /// </summary>
- /// <returns>List{ToolbarGroup}.</returns>
- public List<ToolbarGroup> GetToolbarGroups()
- {
- //粤国际:无此功能
- return null;
- }
- /// <summary>
- /// 创建图表周期
- /// </summary>
- /// <returns></returns>
- public List<SysMenuItem> GetAnalysisCycle()
- {
- return new List<SysMenuItem>()
- {
- // new SysMenuItem(MenuNames.AnalysisCycle_TimeSharing, MenuCommandType.TimeSharingChart),
- new SysMenuItem(MenuNames.AnalysisCycle_1M, MenuCommandType.Minute1),
- new SysMenuItem(MenuNames.AnalysisCycle_5M, MenuCommandType.Minute5),
- new SysMenuItem(MenuNames.AnalysisCycle_15M, MenuCommandType.Minute15),
- new SysMenuItem(MenuNames.AnalysisCycle_30M, MenuCommandType.Minute30),
- new SysMenuItem(MenuNames.AnalysisCycle_60M, MenuCommandType.Minute60),
- new SysMenuItem(MenuNames.AnalysisCycle_120M, MenuCommandType.Minute120),
- new SysMenuItem(MenuNames.AnalysisCycle_240M, MenuCommandType.Minute240),
- new SysMenuItem(MenuNames.AnalysisCycle_Day, MenuCommandType.Day),
- new SysMenuItem(MenuNames.AnalysisCycle_Week, MenuCommandType.Week),
- new SysMenuItem(MenuNames.AnalysisCycle_Month, MenuCommandType.Month),
- new SysMenuItem(MenuNames.AnalysisCycle_Year, MenuCommandType.Year)
- };
- }
- /// <summary>
- /// 创建图表周期
- /// </summary>
- /// <returns></returns>
- public List<SysMenuItem> GetAnalysisCycle(ICommand command, SysMenuItem parent)
- {
- return new List<SysMenuItem>()
- {
- new SysMenuItem(MenuNames.AnalysisCycle_TimeSharing, MenuCommandType.TimeSharingChart){Command = command,ParentItem = parent},
- new SysMenuItem(MenuNames.AnalysisCycle_1M, MenuCommandType.Minute1){Command = command,ParentItem = parent},
- new SysMenuItem(MenuNames.AnalysisCycle_5M, MenuCommandType.Minute5){Command = command,ParentItem = parent},
- // new SysMenuItem(MenuNames.AnalysisCycle_15M, MenuCommandType.Minute15){Command = command},
- new SysMenuItem(MenuNames.AnalysisCycle_30M, MenuCommandType.Minute30){Command = command,ParentItem = parent},
- new SysMenuItem(MenuNames.AnalysisCycle_1H, MenuCommandType.Hour1){Command = command,ParentItem = parent},
- // new SysMenuItem(MenuNames.AnalysisCycle_120M, MenuCommandType.Minute120){Command = command},
- new SysMenuItem(MenuNames.AnalysisCycle_4H, MenuCommandType.Hour4){Command = command,ParentItem = parent},
- new SysMenuItem(MenuNames.AnalysisCycle_Day, MenuCommandType.Day){Command = command,ParentItem = parent},
- //new SysMenuItem(MenuNames.AnalysisCycle_Week, MenuCommandType.Week){Command = command},
- //new SysMenuItem(MenuNames.AnalysisCycle_Month, MenuCommandType.Month){Command = command},
- //new SysMenuItem(MenuNames.AnalysisCycle_Year, MenuCommandType.Year){Command = command},
- };
- }
- /// <summary>
- /// 获取行情列表右键菜单
- /// </summary>
- /// <param name="isMySelected">if set to <c>true</c> [is my selected].</param>
- /// <returns>List{SysContextMenuItem}.</returns>
- /// <exception cref="System.NotImplementedException"></exception>
- public IEnumerable<SysContextMenuItem> GetQuoteListContextMenuItems(bool isMySelected)
- {
- var result = new List<SysContextMenuItem>();
- if (ApplicationParameter.ShowMySelectedGoods)
- {
- result.Add(isMySelected
- ? new SysContextMenuItem(ContextMenuNames.RemoveFromMySelected,
- ContextMenuCommandType.RemoveFromMySelected)
- : new SysContextMenuItem(ContextMenuNames.AddToMySelected, ContextMenuCommandType.AddToMySelected));
- }
- //result.Add(new SysContextMenuItem(ContextMenuNames.AddToAlert, ContextMenuCommandType.AddToAlert));
- //result.Add(new SysContextMenuItem(ContextMenuNames.EditDataGridHeader, ContextMenuCommandType.EditDataGridHeader));
- return result;
- }
- /// <summary>
- /// Builds the favorite item.
- /// </summary>
- /// <returns>SysMenuItem.</returns>
- private SysMenuItem BuildFavoriteItem()
- {
- //添加"自选"
- if (!ApplicationParameter.ShowMySelectedGoods) return null;
- var myFavorites = FavoriteManager.GetMyFavorites();
- if (myFavorites != null)
- {
- //目前只做一个自选
- var first = myFavorites.FirstOrDefault();
- if (first != null)
- {
- var item = new SysMenuItem(first.Name, MenuCommandType.SelectedGoodses)
- {
- QuoteParameters = first.Id.ToString()
- };
- item.GoodsGroup = new MarketsInfoModel() { MarketName = first.Name, MarketID = first.Id, TradeMode = eTradeMode.MySelected };
- return item;
- }
- }
- return null;
- }
- /// <summary>
- /// 显示所有商品
- /// </summary>
- /// <returns></returns>
- private SysMenuItem BuildAllGoodsItems()
- {
- if (!ApplicationParameter.ShowAllGoods) return null;
- var item = new SysMenuItem(ContextMenuNames.QuoteAllGoods, MenuCommandType.AllGoods)
- {
- //QuoteParameters = (int)eTradeMode.AllGoods + string.Empty
- };
- item.GoodsGroup = new MarketsInfoModel()
- {
- MarketName = ContextMenuNames.QuoteAllGoods,
- MarketID = (uint) eTradeMode.AllGoods,
- TradeMode = eTradeMode.AllGoods
- };
- return item;
- }
- /// <summary>
- /// P+X模式显示
- /// </summary>
- /// <returns>SysMenuItem.</returns>
- private SysMenuItem BuildDeliveryMode()
- {
- var item = new SysMenuItem(ContextMenuNames.QuotePAndX, MenuCommandType.SelectedGoodses);
- item.GoodsGroup = new MarketsInfoModel() { MarketName = ContextMenuNames.QuotePAndX, MarketID = (uint)eTradeMode.QuotePAndX, TradeMode = eTradeMode.QuotePAndX, IsDeliveryMode = true };
- return item;
- }
- /// <summary>
- /// 显示托管计划
- /// </summary>
- /// <returns></returns>
- private SysMenuItem BuildDepositItems()
- {
- var itemDeposit = new SysMenuItem(Client_Resource.AResources_DepositPlanMarket, MenuCommandType.SelectedGoodses)
- {
- QuoteParameters = (int)eTradeMode.Deposit + string.Empty
- };
- itemDeposit.GoodsGroup = new MarketsInfoModel() { MarketName = Client_Resource.AResources_DepositPlanMarket, MarketID = (uint)eTradeMode.Deposit, TradeMode = eTradeMode.Deposit };
- return itemDeposit;
- }
- /// <summary>
- /// 构建帮助菜单
- /// </summary>
- /// <returns>IEnumerable{SysMenuItem}.</returns>
- private IEnumerable<SysMenuItem> BuildHelpMenus()
- {
- var result = new List<SysMenuItem>();
- var help = new SysMenuItem(MenuNames.Help);
- result.Add(help);
- help.Children = new List<SysMenuItem>()
- {
- new SysMenuItem(MenuNames.HelpAboutUs, MenuCommandType.AboutUs),
-
- // new SysMenuItem(MenuNames.HelpEscapeClause, MenuCommandType.EscapeClause)
- //new SysMenuItem(MenuNames.HelpUserGuide , MenuCommandType.UserGuide),
- //new SysMenuItem(MenuNames.HelpOnlineCS, MenuCommandType.OnlineCS),
- };
- if (UserManager.IsAccountLogin) ////只有账号登录才显示网页
- {
- help.Children.Add(new SysMenuItem(MenuNames.HelpOfficalWeb, MenuCommandType.OfficalWeb));
- }
- return result;
- }
- /// <summary>
- /// 构建行情菜单
- /// </summary>
- /// <returns>IEnumerable{SysMenuItem}.</returns>
- private IEnumerable<SysMenuItem> BuildQuoteMenus(bool IsListing)
- {
- var result = new List<SysMenuItem>();
- var quoteItem = new SysMenuItem(MenuNames.Quotation)
- {
- Children = new List<SysMenuItem>()
- };
- var allgoods = BuildAllGoodsItems();
- if(allgoods != null) quoteItem.Children.Add(allgoods);
- ////有权限的交易商品有配置P+X交割关系时,显示P+X交割标签
- if (IsShowPAndX()) quoteItem.Children.Add(BuildDeliveryMode());
- var favoriteItem = BuildFavoriteItem();
- if (favoriteItem != null) quoteItem.Children.Add(favoriteItem);
- // 获取外币交易所的列表
- var exchangeMenuItems = GetExchangeMenuItems();
- if (exchangeMenuItems != null && exchangeMenuItems.Any())
- {
- quoteItem.Children.AddRange(exchangeMenuItems);
- }
- result.Add(quoteItem);
- if (ApplicationParameter.IsShowDepositPlanMarket)
- {
- var deposit = BuildDepositItems();
- quoteItem.Children.Add(deposit);
- }
- return result;
- }
- /// <summary>
- /// 根据市场创建菜单
- /// </summary>
- /// <returns>IEnumerable{SysMenuItem}.</returns>
- public IEnumerable<SysMenuItem> GetMarketMenuItems(bool IsListing)
- {
- var result = new List<SysMenuItem>();
- var goodsGroups = CacheManager.CacheMarketsGroups;//需要先查市场才能有数据
- if (goodsGroups != null && goodsGroups.Any())
- {
- foreach (var goodsGroup in goodsGroups)
- {
- if ((int)goodsGroup.TradeMode != 4)
- {
- var item = new SysMenuItem(goodsGroup.MarketName, MenuCommandType.MarketQuote)
- {
- QuoteParameters = goodsGroup.MarketID.ToString()
- };
- item.GoodsGroup = goodsGroup;
- //市场权限过滤,登陆后的账号市场权限 MTP2.0
- if (CacheManager.CacheMarketsGroups != null && CacheManager.CacheAvailableMarketList.Contains(goodsGroup.MarketID))
- {
- result.Add(item);
- }
- }
- }
- }
- //if (IsListing) //是否显示挂牌
- //{
- // var item = new SysMenuItem(Client_Resource.MarketGroupName_ListingMarket, MenuCommandType.MarketQuote)
- // {
- // QuoteParameters = -2 + string.Empty
- // };
- // item.GoodsGroup = new MarketsInfoModel() { MarketID = -2, MarketName = Client_Resource.MarketGroupName_ListingMarket, TradeMode = eTradeMode.TRADEMODE_HANGTAG };
- // result.Add(item);
- //}
- return result;
- }
- /// <summary>
- /// 根据扩展交易所创建菜单
- /// </summary>
- /// <returns>IEnumerable{SysMenuItem}.</returns>
- public IEnumerable<SysMenuItem> GetExchangeMenuItems()
- {
- var result = new List<SysMenuItem>();
- if (!ApplicationParameter.ShowExternalExchage) return result;
- var exchanges = CacheManager.CacheExchanges;//需要先查市场才能有数据
- ApplicationParameter.MakeExChangeGroupGoodsMap();// 重组数据,重组的数据,会保存在CacheManager.CacheExChangeGroupGoods中
- if (exchanges != null && exchanges.Any())
- {
- var exChanges = CacheManager.CacheExChangeGroupGoods;
- foreach (var exchange in exchanges)
- {
- if (exChanges.Count > 0 && exChanges[0].IsExchangeHasGoods(exchange.ExchangeId)/*判断交易所下是否有交易商品*/)
- {
- var item = new SysMenuItem(exchange.ExchangeName, MenuCommandType.MarketQuote)
- {
- QuoteParameters = exchange.ExchangeId.ToString()
- };
- var market = new MarketsInfoModel();
- market.MarketID = (uint)exchange.ExchangeId;
- market.MarketName = exchange.ExchangeName;
- market.TradeMode = eTradeMode.TRADEMODE_ENTRUST_HEDGE;
- market.IsDeliveryMode = false;
- item.GoodsGroup = market;
- result.Add(item);
- }
-
- }
- }
- return result;
- }
- private IEnumerable<SysMenuItem> BuildErmcpMenu()
- {
- var ermcpMenus = new List<SysMenuItem>();
- var manage = new SysMenuItem("现货")
- {
- IsEnabled = true,
- };
- ermcpMenus.Add(manage);
- manage.Children = new List<SysMenuItem>()
- {
- new SysMenuItem("现货管理", MenuCommandType.Manage),
-
- // new SysMenuItem(MenuNames.HelpEscapeClause, MenuCommandType.EscapeClause)
- //new SysMenuItem(MenuNames.HelpUserGuide , MenuCommandType.UserGuide),
- //new SysMenuItem(MenuNames.HelpOnlineCS, MenuCommandType.OnlineCS),
- };
- return ermcpMenus;
- }
- /// <summary>
- /// 构建[系统]菜单
- /// </summary>
- /// <returns>IEnumerable{SysMenuItem}.</returns>
- private IEnumerable<SysMenuItem> BuildSystemMenu()
- {
- var defaultColor = UserManager.GetCurrentColorStyle();
- var systemMenus = new List<SysMenuItem>();
- var system = new SysMenuItem(MenuNames.System);
- systemMenus.Add(system);
- system.Children = new List<SysMenuItem>();
- var themes = new SysMenuItem(MenuNames.SystemThemes)
- {
- IsEnabled = true,
- };
- themes.Children = new List<SysMenuItem>()
- {
- new SysMenuItem(MenuNames.SystemCoolBlack, MenuCommandType.CoolBlack){
- ParentItem = themes,
- IsCheckable = true,
- IsChecked = defaultColor == ColorStyle.CoolBlack,
- },
- new SysMenuItem(MenuNames.SystemDarkBlue, MenuCommandType.DarkBlue){
- ParentItem = themes,
- IsCheckable = true,
- IsChecked = defaultColor==ColorStyle.DarkBlue,
- },
- new SysMenuItem(MenuNames.SystemBlueWhite, MenuCommandType.BlueWhite)
- {
- ParentItem = themes,
- IsCheckable = true,
- IsChecked = defaultColor==ColorStyle.BlueWhite,
- }
- };
- system.Children.Add(themes);
- if (UserManager.IsAccountLogin)
- {
- var defaultLayout = UserManager.GetCurrentLayoutStyle();
- var layout = new SysMenuItem(MenuNames.Layout)
- {
- IsEnabled = true,
- };
- layout.Children = new List<SysMenuItem>()
- {
- new SysMenuItem(MenuNames.Horizontal, MenuCommandType.Horizontal)
- {
- ParentItem = layout,
- IsCheckable = true,
- IsChecked = defaultLayout == LayoutStyle.Horizontal,
- },
- new SysMenuItem(MenuNames.Vertical, MenuCommandType.Vertical)
- {
- ParentItem = layout,
- IsCheckable = true,
- IsChecked = defaultLayout == LayoutStyle.Vertical,
- },
- new SysMenuItem(MenuNames.Tradition, MenuCommandType.Tradition)
- {
- ParentItem = layout,
- IsCheckable = true,
- IsChecked = defaultLayout == LayoutStyle.Tradition,
- },
- };
- system.Children.Add(layout);
- system.Children.Add(new SysMenuItem(MenuNames.TradingChangePassword, MenuCommandType.ChangeTradePassword));
- }
- //sysMenu.Add(MenuCommandType.Notice,
- // new SysMenuItem(MenuCommandType.Notice) { Command = AnnouncementCommand, ViewType = typeof(NoticesView), IsDialog = true });
- system.Children.Add(new SysMenuItem(MenuNames.LockScreen, MenuCommandType.LockScreen) { });
- system.Children.Add(new SysMenuItem(MenuNames.SystemReconnect, MenuCommandType.Reconnect));
- system.Children.Add(new SysMenuItem(MenuNames.SystemLogout, MenuCommandType.Logout));
- return systemMenus;
- }
- /// <summary>
- /// 构建交易菜单
- ///
- /// </summary>
- /// <returns>IEnumerable{SysMenuItem}.</returns>
- private IEnumerable<SysMenuItem> BuildTradingMenus(List<SysMenuItem> accessFuncMenus, ICommand command)
- {
- //Edit by DK 20160721
- // var enableMenuList = UserManager.AccessFuncMenus;
- UserManager.TradeFuncMenus = new List<SysMenuItem>();
- ////是否为游客登录
- if (!UserManager.IsAccountLogin)
- {
- UserManager.TradeFuncMenus.Add(new SysMenuItem(MenuNames.TradingLogin, MenuCommandType.TradeLogin));
- }
- if (accessFuncMenus != null && accessFuncMenus.Any())
- {
- //获取-交易菜单=》权限列表
- var tradeMenus = accessFuncMenus.FirstOrDefault((item) => item.FuncMenuCode == UserManager.GetMenuCommandValue(MenuCommandType.Trade));
- if (tradeMenus != null)
- {
- foreach (var child in tradeMenus.Children)
- {
- var menus = new SysMenuItem(child.Title, UserManager.GetMenuCommandType(child.FuncMenuCode)) { Command = command };
- var commandType = UserManager.GetMenuCommandType(child.FuncMenuCode);// (MenuCommandType)(Enum.Parse(typeof(MenuCommandType), child.FuncMenuCode));
- switch (commandType)
- {
- case MenuCommandType.BuyIn:
- case MenuCommandType.Sellout:
- // case MenuCommandType.Cancel: ///菜单不显示撤单
- case MenuCommandType.SaleApply:
- UserManager.TradeFuncMenus.Add(menus);
- break;
- }
- ////买入
- //if (child.FuncMenuCode==(int)MenuCommandType.BuyIn)
- //{
- // menuList.Add();
- //}
- ////卖出
- //if (m.Select(x => x.Title).Contains(MenuNames.Sellout))
- //{
- // menuList.Add(new SysMenuItem(MenuNames.Sellout, MenuCommandType.OrderClose));
- //}
- ////撤销
- //if (m.Select(x => x.Title).Contains(MenuNames.OrderCancel))
- //{
- // menuList.Add(new SysMenuItem(MenuNames.OrderCancel, MenuCommandType.OrderCancel) { IsEnabled = true });
- //}
- ////申购
- //if (m.Select(x => x.Title).Contains(MenuNames.SaleApply))
- //{
- // menuList.Add(new SysMenuItem(MenuNames.SaleApply, MenuCommandType.SaleApply) { IsEnabled = true });
- //}
- }
- }
- }
- return new List<SysMenuItem>()
- {
- new SysMenuItem(MenuNames.Trading)
- {
- IsEnabled = true,
- IsExpanded=true,
- Children = UserManager.TradeFuncMenus,
- //Children = new List<SysMenuItem>()
- //{
-
- // //new SysMenuItem(MenuNames.OrderOpen, MenuCommandType.OrderOpen),
- // //new SysMenuItem(MenuNames.OrderClose, MenuCommandType.OrderClose),
- // new SysMenuItem(MenuNames.BuyIn, MenuCommandType.OrderOpen),
- // new SysMenuItem(MenuNames.Sellout, MenuCommandType.OrderClose),
- // new SysMenuItem(MenuNames.OrderCancel, MenuCommandType.OrderCancel){ IsEnabled = true},
- // // new SysMenuItem(MenuNames.Listing,MenuCommandType.Listing),
- // // new SysMenuItem(MenuNames.DeliveryApply, MenuCommandType.DeliveryApply), //通用版本使用通用交收
- // // bug 13878 设计删除
- // // new SysMenuItem(MenuNames.ReportQuery, MenuCommandType.ReportQuery)
- //}
- }
- };
- }
- /// <summary>
- /// 右键交易菜单
- /// </summary>
- /// <returns></returns>
- public IEnumerable<SysContextMenuItem> BuildQuoteTradeContextMenuItems(bool isMySelected)
- {
- var result = new List<SysContextMenuItem>();
- if (!UserManager.IsAccountLogin)
- {
- return result; //游客登录无菜单
- }
- result.Add(new SysContextMenuItem(ContextMenuNames.Market_Purchase, ContextMenuCommandType.Market_Purchase));
- result.Add(new SysContextMenuItem(ContextMenuNames.Market_SellOut, ContextMenuCommandType.Market_SellOut));
- //result.Add(new SysContextMenuItem(ContextMenuNames.MarketClose, ContextMenuCommandType.MarketClose));
- //result.Add(new SysContextMenuItem(ContextMenuNames.LimitClose, ContextMenuCommandType.LimitClose));
- //new SysContextMenuItem(ContextMenuNames.CancelOrder, ContextMenuCommandType.CancelOrder)
- result.Add(new SysContextMenuItem(ContextMenuNames.ContextMenuQuoteBoard, ContextMenuCommandType.QuoteBoard));
- result.Add(new SysContextMenuItem(ContextMenuNames.ContextMenuChart, ContextMenuCommandType.QuoteChart));
- result.Add(new SysContextMenuItem(ContextMenuNames.MenuNamesGoodsInfo, ContextMenuCommandType.GoodsInfo));
- if (ApplicationParameter.ShowMySelectedGoods)
- {
- result.Add(isMySelected
- ? new SysContextMenuItem(ContextMenuNames.RemoveFromMySelected,
- ContextMenuCommandType.RemoveFromMySelected)
- : new SysContextMenuItem(ContextMenuNames.AddToMySelected, ContextMenuCommandType.AddToMySelected));
- }
- // 错误 #90858
- //result.Add(new SysContextMenuItem(ContextMenuNames.MenuNamesQuoteTik, ContextMenuCommandType.QuoteTik)); ///分笔明细
- ////刷新商品列表
- result.Add(new SysContextMenuItem(ContextMenuNames.RefreshGoodsList, ContextMenuCommandType.RefreshGoodsList));
- return result;
- }
- /// <summary>
- /// 挂牌点价右键菜单
- /// </summary>
- /// <returns></returns>
- public IEnumerable<SysContextMenuItem> BuildListingContextMenuItems()
- {
- var result = new List<SysContextMenuItem>();
- if (!UserManager.IsAccountLogin)
- {
- return result; //游客登录无菜单
- }
- result.Add(new SysContextMenuItem(Client_Resource.ListingMarket_QuotePriceBoard, ContextMenuCommandType.ListingQuoteBoard));
- result.Add(new SysContextMenuItem(Client_Resource.ListingMarket_ListingTrade, ContextMenuCommandType.ListingApply));
- //result.Add(new SysContextMenuItem(ContextMenuNames.MarketClose, ContextMenuCommandType.MarketClose));
- //result.Add(new SysContextMenuItem(ContextMenuNames.LimitClose, ContextMenuCommandType.LimitClose));
- //new SysContextMenuItem(ContextMenuNames.CancelOrder, ContextMenuCommandType.CancelOrder)
- result.Add(new SysContextMenuItem(Client_Resource.MenuNamesGoodsInfo, ContextMenuCommandType.GoodsInfo));
- result.Add(new SysContextMenuItem(Client_Resource.MenuNamesRefresh, ContextMenuCommandType.RefreshGoodsList));
- return result;
- }
- public List<SysMenuItem> BuildFormChartMenuItems()
- {
- var result = new List<SysMenuItem>();
- return result;
- }
- #region Build DataGrid Headers
- #region Public Methods
- /// <summary>
- /// 获取抬头列表
- /// </summary>
- /// <param name="marketType">Type of the market.</param>
- /// <returns>IEnumerable{QuoteListHeader}.</returns>
- /// <exception cref="System.NotImplementedException"></exception>
- public IEnumerable<QuoteListHeader> GetQuoteListHeaders(eTradeMode marketType)
- {
- switch (marketType)
- {
- //全款转让[NEW MTP2.0]
- //case eTradeMode.Full_Transfer:
- case eTradeMode.TRADEMODE_MARKETMAKE:
- return GetOTCHeaders();
- case eTradeMode.QuotePAndX:
- case eTradeMode.TRADEMODE_BIDDING:
- return GetBidHeaders();
- case eTradeMode.MySelected:
- case eTradeMode.AllGoods:
- case eTradeMode.TRADEMODE_ENTRUST_HEDGE:
- return GetChannelHeaders();
- case eTradeMode.Deposit:
- return GetDepositHeaders();
- default:
- return GetOTCHeaders();
- }
- }
- /// <summary>
- /// 交割抬头列表
- /// </summary>
- /// <param name="marketType"></param>
- /// <returns></returns>
- public IEnumerable<QuoteListHeader> GetDeliveryQuoteListHeaders(eTradeMode marketType)
- {
- var listHeaders = GetQuoteListHeaders(marketType).ToList();
- listHeaders.RemoveAt(0); ////移除序号
- var listHeader = new QuoteListHeader(QuoteHeaderNames.DeliveryGoodsName, "DeliveryGoodsName")
- {
- ColorProperty = "NameColor",
- IsBold = false,
- Width = 80,
- TextAlignment = TextAlignment.Center,
- HeadHorizontalAlignment = HorizontalAlignment.Center
- };
- listHeaders.Insert(0, listHeader);
- //合约单位
- //var AgreeUnitHeader = new QuoteListHeader(QuoteHeaderNames.AgreeUnitName, "AgreeUnitName")
- //{
- // ColorProperty = "NameColor",
- // IsBold = false,
- // Width = 80,
- // TextAlignment = TextAlignment.Center,
- // HeadHorizontalAlignment = HorizontalAlignment.Center
- //};
- //listHeaders.Insert(16, AgreeUnitHeader);
- return listHeaders;
- }
- /// <summary>
- /// 根据交易模式获取列表抬头类型
- /// </summary>
- /// <param name="marketType">Type of the market.</param>
- /// <returns>QuoteListHeaderType.</returns>
- public QuoteListHeaderType GetQuoteListHeaderType(eTradeMode marketType)
- {
- switch (marketType)
- {
- case eTradeMode.TRADEMODE_MARKETMAKE:
- return QuoteListHeaderType.OTC;
- case eTradeMode.QuotePAndX:
- case eTradeMode.TRADEMODE_BIDDING:
- return QuoteListHeaderType.Bid;
- //case eTradeMode.TRADEMODE_BIDDINGMARKETMAKE:
- // return QuoteListHeaderType.BidMarket;
- //case eTradeMode.MySelected:
- ////先使用OTC表头
- ////return GetMySelectedHeaders();
- //return QuoteListHeaderType.OTC;
- //case eTradeMode.TRADEMODE_SALE:
- // return QuoteListHeaderType.Sale;
- case eTradeMode.MySelected:
- case eTradeMode.AllGoods:
- case eTradeMode.TRADEMODE_ENTRUST_HEDGE:
- return QuoteListHeaderType.Channel;
- default:
- return QuoteListHeaderType.OTC;
- }
- }
- #endregion
- #region Private Methods
- /// <summary>
- /// 获取我的自选字段
- /// </summary>
- /// <returns>List{QuoteListHeader}.</returns>
- private List<QuoteListHeader> GetMySelectedHeaders()
- {
- //我的自选择没有配置,手动生成
- return new List<QuoteListHeader>()
- {
- new QuoteListHeader(QuoteHeaderNames.Order, "ShowIndex") { Width= 50,HeadHorizontalAlignment = HorizontalAlignment.Center, TextAlignment = TextAlignment.Center },
- new QuoteListHeader(QuoteHeaderNames.Code, "GoodsCode") {ColorProperty="GoodsCodeColor", IsBold = true, Width=50, TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(string.Empty, "MySelectedFlag") { Width= 15, TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(QuoteHeaderNames.Name, "Name") { ColorProperty="NameColor", IsBold=false, Width=80,TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(QuoteHeaderNames.CurrentPrice, "CurrentPriceDisplay") {SortProperty = "CurrentPrice", ColorProperty = "CurrentPriceColor", Width=80 },
- new QuoteListHeader(QuoteHeaderNames.IncreasePercent, "IncreasePercentDisplay"){ SortProperty = "IncreasePercent", ColorProperty ="IncreasePercentColor", Width=80 },
- new QuoteListHeader(QuoteHeaderNames.TotalTurnover, "TotalTurnoverDisplay"){ SortProperty = "TotalTurnover" , Width=80 },
- new QuoteListHeader(QuoteHeaderNames.Open, "OpenDisplay") { ColorProperty="OpenColor", SortProperty = "Open", Width=80 },
- new QuoteListHeader(QuoteHeaderNames.High, "HighDisplay") { ColorProperty = "HighColor", SortProperty = "High" , Width=80 },
- new QuoteListHeader(QuoteHeaderNames.Low, "LowDisplay") { ColorProperty = "LowColor",SortProperty = "Low" , Width=80 },
- new QuoteListHeader(QuoteHeaderNames.LastClose, "LastCloseDisplay"){SortProperty = "LastClose", Width=80 },
- new QuoteListHeader(QuoteHeaderNames.IncreaseValue, "IncreaseValue") { ColorProperty="IncreaseValueColor", Width=80 },
- new QuoteListHeader(QuoteHeaderNames.Amplitude, "AmplitudeDisplay"){ SortProperty = "Amplitude", Width=80 },
- new QuoteListHeader(QuoteHeaderNames.Market, "ExchangeName"){ Width=80 },
- new QuoteListHeader(QuoteHeaderNames.Sort, "SortName"){ Width=80 },
- //new QuoteListHeader(QuoteHeaderNames.Date, "DateDisplay"){SortProperty = "Date", Width=80, TextAlignment = TextAlignment.Right, HeadHorizontalAlignment = HorizontalAlignment.Right},
- };
- }
- /// <summary>
- /// 获取OTC行情字段
- /// </summary>
- /// <returns>List{QuoteListHeader}.</returns>
- private List<QuoteListHeader> GetOTCHeaders()
- {
- //var headers = UserManager.GetQuoteListHeaders(QuoteListHeaderType.OTC);
- //if (headers != null && headers.Any()) return headers;
- //序、商品代码、商品名称、买、卖、今开、昨收、最低、最高、 涨跌、涨跌幅、合约单位[new]、时间 ,
- var otcHeaders = new List<QuoteListHeader>()
- {
- new QuoteListHeader(QuoteHeaderNames.Order, "ShowIndex") { Width= 50,HeadHorizontalAlignment = HorizontalAlignment.Center, TextAlignment = TextAlignment.Center },
- new QuoteListHeader(QuoteHeaderNames.Code, "GoodsCode") {HeadFlag = 1, ColorProperty="GoodsCodeColor", IsBold = true, Width=50, TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(string.Empty, "MySelectedFlag") {HeadFlag = 100, Width= 15, TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(QuoteHeaderNames.Name, "Name") {HeadFlag = 2, ColorProperty="NameColor", IsBold=false, Width=80,TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(QuoteHeaderNames.BuyPrice, "BidPriceDisplay") {HeadFlag = 3,SortProperty = "BidPrice", ColorProperty = "BidPriceColor",Width=80},
- new QuoteListHeader(QuoteHeaderNames.SellPrice, "AskPriceDisplay") {HeadFlag = 4,SortProperty = "AskPrice", ColorProperty = "AskPriceColor",Width=80},
- new QuoteListHeader(QuoteHeaderNames.Date, "DateDisplay"){HeadFlag =5, SortProperty = "Date", Width=80, TextAlignment = TextAlignment.Right, HeadHorizontalAlignment = HorizontalAlignment.Right},
- new QuoteListHeader(QuoteHeaderNames.Open, "OpenDisplay") {HeadFlag =6, ColorProperty="OpenColor", SortProperty = "Open",Width=80},
- new QuoteListHeader(QuoteHeaderNames.LastClose, "LastCloseDisplay") {HeadFlag =7, SortProperty="LastClose",Width=80},
- new QuoteListHeader(QuoteHeaderNames.Low, "LowDisplay") {HeadFlag =8, ColorProperty = "LowColor",SortProperty = "Low",Width=80},
- new QuoteListHeader(QuoteHeaderNames.High, "HighDisplay") {HeadFlag =9, ColorProperty = "HighColor", SortProperty = "High", Width=80},
- new QuoteListHeader(QuoteHeaderNames.IncreaseValue, "IncreaseValueDisplay") {HeadFlag =10, ColorProperty="IncreaseValueColor", SortProperty="IncreaseValue", Width=80},
- new QuoteListHeader(QuoteHeaderNames.IncreasePercent, "IncreasePercentDisplay"){HeadFlag =11, SortProperty = "IncreasePercent", ColorProperty ="IncreasePercentColor",Width=80},
-
-
- };
- if (UserManager.IsAccountLogin)
- {
- var quoteHeader = new QuoteListHeader(QuoteHeaderNames.AgreeUnitName, "AgreeUnitDisplay")
- {
- HeadFlag = 12,
- Width = 80,
- IsBold = false,
- TextAlignment = TextAlignment.Center,
- HeadHorizontalAlignment = HorizontalAlignment.Center
- }; //合约单位[new]
- otcHeaders.Add(quoteHeader);
- }
- return GetConfigHeaders(ApplicationParameter.MakeMarketQuoteHeaders, otcHeaders);
- }
- /// <summary>
- /// 获取竞价行情字段
- /// </summary>
- /// <returns>System.Collections.Generic.List{Muchinfo.MTPClient.Data.Model.QuoteListHeader}.</returns>
- private List<QuoteListHeader> GetBidHeaders()
- {
- //var headers = UserManager.GetQuoteListHeaders(QuoteListHeaderType.Bid);
- //if (headers != null && headers.Any()) return headers;
- var bidHeader = new List<QuoteListHeader>()
- {
- new QuoteListHeader(QuoteHeaderNames.Order, "ShowIndex") { Width= 50,HeadHorizontalAlignment = HorizontalAlignment.Center, TextAlignment = TextAlignment.Center },
- new QuoteListHeader(QuoteHeaderNames.Code, "GoodsCode") {HeadFlag =1, ColorProperty="GoodsCodeColor", IsBold = true, Width=50, TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(string.Empty, "MySelectedFlag") {HeadFlag =100, Width= 15, TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(QuoteHeaderNames.Name, "Name") {HeadFlag =2, ColorProperty="NameColor", IsBold=false, Width=80,TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(QuoteHeaderNames.BuyPrice, "BidPriceDisplay") {HeadFlag =3, SortProperty = "BidPrice", ColorProperty = "BidPriceColor",Width=80},
- new QuoteListHeader(QuoteHeaderNames.BuyVolume, "BidVolumeDisplay") {HeadFlag =4,SortProperty = "BidVolume", ColorProperty = "BidPriceColor",Width=80},
- new QuoteListHeader(QuoteHeaderNames.SellPrice, "AskPriceDisplay")
- {
- HeadFlag =5,SortProperty = "AskPrice", ColorProperty = "AskPriceColor",Width=80
- },
- new QuoteListHeader(QuoteHeaderNames.SellVolume, "AskVolumeDisplay")
- {
- HeadFlag =6,
- SortProperty = "AskVolume", ColorProperty = "AskPriceColor",Width=80
- },
- new QuoteListHeader(QuoteHeaderNames.CurrentPrice, "CurrentPriceDisplay")
- {
- HeadFlag =7,
- SortProperty = "CurrentPrice", ColorProperty = "CurrentPriceColor",Width=80
- },
- new QuoteListHeader(QuoteHeaderNames.IncreaseValue, "IncreaseValueDisplay") { HeadFlag =8, ColorProperty="IncreaseValueColor", SortProperty="IncreaseValue", Width=80},
- new QuoteListHeader(QuoteHeaderNames.IncreasePercent, "IncreasePercentDisplay"){HeadFlag =9, SortProperty = "IncreasePercent", ColorProperty ="IncreasePercentColor",Width=80},
- new QuoteListHeader(QuoteHeaderNames.Open, "OpenDisplay") {HeadFlag =10, ColorProperty="OpenColor", SortProperty = "Open",Width=80},
- new QuoteListHeader(QuoteHeaderNames.LastClose, "LastCloseDisplay") {HeadFlag =11, SortProperty="LastClose",Width=80},
- new QuoteListHeader(QuoteHeaderNames.Low, "LowDisplay") {HeadFlag =12, ColorProperty = "LowColor",SortProperty = "Low",Width=80},
- new QuoteListHeader(QuoteHeaderNames.High, "HighDisplay") {HeadFlag =13, ColorProperty = "HighColor", SortProperty = "High",Width=80},
- new QuoteListHeader(QuoteHeaderNames.TotalVolume, "TotalVolumeDisplay")
- {HeadFlag =14,
- SortProperty = "TotalVolume",Width=120
- },
- new QuoteListHeader(QuoteHeaderNames.TotalTurnover, "TotalTurnoverDisplay"){HeadFlag =15, SortProperty = "TotalTurnover",Width=120},
- new QuoteListHeader(QuoteHeaderNames.PositionsDisplay, "PositionsDisplay"){ HeadFlag =16, SortProperty = "PositionsDisplay",Width=80},
- new QuoteListHeader(QuoteHeaderNames.Inventory, "InventoryDisplay"){ HeadFlag =17,SortProperty = "Inventory",Width=120},
- new QuoteListHeader(QuoteHeaderNames.RaisesPrice, "RaisesPriceDisplay"){HeadFlag =18,SortProperty = "RaisesPrice", ColorProperty = "RaisesPriceColor", Width=80},
- new QuoteListHeader(QuoteHeaderNames.FallsPrice, "FallsPriceDisplay")
- {
- HeadFlag =19,
- SortProperty = "FallsPrice", ColorProperty = "FallsPriceColor", Width=80
- },
- new QuoteListHeader(QuoteHeaderNames.TurnoverRate, "TurnoverRateDisplay"){ HeadFlag =20,SortProperty = "TurnoverRateDisplay", Width=80},
- //new QuoteListHeader(QuoteHeaderNames.AgreeUnitName, "AgreeUnitDisplay") {HeadFlag =21,Width=80,IsBold=false,TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},//合约单位[new]
- //new QuoteListHeader(QuoteHeaderNames.Date, "DateDisplay"){SortProperty = "Date", Width=80, TextAlignment = TextAlignment.Right, HeadHorizontalAlignment = HorizontalAlignment.Right},
- };
- if (UserManager.IsAccountLogin)
- {
- var quoteHeader = new QuoteListHeader(QuoteHeaderNames.AgreeUnitName, "AgreeUnitDisplay")
- {
- HeadFlag = 21,
- Width = 80,
- IsBold = false,
- TextAlignment = TextAlignment.Center,
- HeadHorizontalAlignment = HorizontalAlignment.Center
- }; //合约单位[new]
- bidHeader.Add(quoteHeader);
- }
- return GetConfigHeaders(ApplicationParameter.BidQuoteHeaders, bidHeader);
- }
- /// <summary>
- /// 获取竞价行情字段-混合
- /// </summary>
- /// <returns>System.Collections.Generic.List{Muchinfo.MTPClient.Data.Model.QuoteListHeader}.</returns>
- private List<QuoteListHeader> GetBidMarketHeaders()
- {
- //var headers = UserManager.GetQuoteListHeaders(QuoteListHeaderType.BidMarket);
- //if (headers != null && headers.Any()) return headers;
- var bidMarketHeader = new List<QuoteListHeader>()
- {
- new QuoteListHeader(QuoteHeaderNames.Order, "ShowIndex") { Width= 50,HeadHorizontalAlignment = HorizontalAlignment.Center, TextAlignment = TextAlignment.Center },
- new QuoteListHeader(QuoteHeaderNames.Code, "GoodsCode") {HeadFlag =1, ColorProperty="GoodsCodeColor", IsBold = true, Width=50, TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(string.Empty, "MySelectedFlag") {HeadFlag =100, Width= 15, TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(QuoteHeaderNames.Name, "Name") {HeadFlag =2, ColorProperty="NameColor", IsBold=false, Width=80,TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(QuoteHeaderNames.BuyPrice, "BidPriceDisplay") {HeadFlag =3, SortProperty = "BidPrice", ColorProperty = "BidPriceColor",Width=80},
- new QuoteListHeader(QuoteHeaderNames.BuyVolume, "BidVolumeDisplay") {HeadFlag =4,SortProperty = "BidVolume", ColorProperty = "BidPriceColor",Width=80},
- new QuoteListHeader(QuoteHeaderNames.SellPrice, "AskPriceDisplay")
- {
- HeadFlag =5,SortProperty = "AskPrice", ColorProperty = "AskPriceColor",Width=80
- },
- new QuoteListHeader(QuoteHeaderNames.SellVolume, "AskVolumeDisplay")
- {
- HeadFlag =6,
- SortProperty = "AskVolume", ColorProperty = "AskPriceColor",Width=80
- },
- new QuoteListHeader(QuoteHeaderNames.CurrentPrice, "CurrentPriceDisplay")
- {
- HeadFlag =7,
- SortProperty = "CurrentPrice", ColorProperty = "CurrentPriceColor",Width=80
- },
- new QuoteListHeader(QuoteHeaderNames.IncreaseValue, "IncreaseValueDisplay") { HeadFlag =8, ColorProperty="IncreaseValueColor", SortProperty="IncreaseValue", Width=80},
- new QuoteListHeader(QuoteHeaderNames.IncreasePercent, "IncreasePercentDisplay"){HeadFlag =9, SortProperty = "IncreasePercent", ColorProperty ="IncreasePercentColor",Width=80},
- new QuoteListHeader(QuoteHeaderNames.Open, "OpenDisplay") {HeadFlag =10, ColorProperty="OpenColor", SortProperty = "Open",Width=80},
- new QuoteListHeader(QuoteHeaderNames.LastClose, "LastCloseDisplay") {HeadFlag =11, SortProperty="LastClose",Width=80},
- new QuoteListHeader(QuoteHeaderNames.Low, "LowDisplay") {HeadFlag =12, ColorProperty = "LowColor",SortProperty = "Low",Width=80},
- new QuoteListHeader(QuoteHeaderNames.High, "HighDisplay") {HeadFlag =13, ColorProperty = "HighColor", SortProperty = "High",Width=80},
- new QuoteListHeader(QuoteHeaderNames.TotalVolume, "TotalVolumeDisplay")
- {HeadFlag =14,
- SortProperty = "TotalVolume",Width=120
- },
- new QuoteListHeader(QuoteHeaderNames.TotalTurnover, "TotalTurnoverDisplay"){HeadFlag =15, SortProperty = "TotalTurnover",Width=120},
- // new QuoteListHeader(QuoteHeaderNames.AgreeUnitName, "AgreeUnitDisplay") {HeadFlag =16,Width=80,IsBold=false,TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},//合约单位[new]
- new QuoteListHeader(QuoteHeaderNames.RaisesPrice, "RaisesPriceDisplay")
- {
- HeadFlag =17,
- SortProperty = "RaisesPrice", ColorProperty = "RaisesPriceColor", Width=80
- },
- new QuoteListHeader(QuoteHeaderNames.FallsPrice, "FallsPriceDisplay")
- {
- HeadFlag =18,
- SortProperty = "FallsPrice", ColorProperty = "FallsPriceColor", Width=80
- },
- //new QuoteListHeader(QuoteHeaderNames.TurnoverRate, "TurnoverRateDisplay"){SortProperty = "TurnoverRateDisplay", Width=80},
- //new QuoteListHeader(QuoteHeaderNames.Date, "DateDisplay"){SortProperty = "Date", Width=80, TextAlignment = TextAlignment.Right, HeadHorizontalAlignment = HorizontalAlignment.Right},
- };
- if (UserManager.IsAccountLogin)
- {
- var quoteHeader = new QuoteListHeader(QuoteHeaderNames.AgreeUnitName, "AgreeUnitDisplay")
- {
- HeadFlag = 16,
- Width = 80,
- IsBold = false,
- TextAlignment = TextAlignment.Center,
- HeadHorizontalAlignment = HorizontalAlignment.Center
- }; //合约单位[new]
- bidMarketHeader.Add(quoteHeader);
- }
- return GetConfigHeaders(ApplicationParameter.BidMarketQuoteHeaders, bidMarketHeader);
- }
- /// <summary>
- /// 获取发售行情字段
- /// </summary>
- /// <returns>List{QuoteListHeader}.</returns>
- private List<QuoteListHeader> GetSaleHeaders()
- {
- //var headers = UserManager.GetQuoteListHeaders(QuoteListHeaderType.Sale);
- //if (headers != null && headers.Any()) return headers;
- var saleHeader = new List<QuoteListHeader>()
- {
- new QuoteListHeader(QuoteHeaderNames.Order, "OrderNumber") { Width= 50,HeadHorizontalAlignment = HorizontalAlignment.Center, TextAlignment = TextAlignment.Center },
- new QuoteListHeader(QuoteHeaderNames.Code, "GoodsCode") {ColorProperty="GoodsCodeColor", IsBold = true, Width=80, TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center,HeadFlag = 1},
- new QuoteListHeader(QuoteHeaderNames.Name, "GoodsName") { ColorProperty="GoodsNameColor", IsBold=false, Width=80,TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center ,HeadFlag =2},
- // new QuoteListHeader(Client_Resource.Content_AgreeUnit, "AgreeUnitDisplay") {Width=80,IsBold=false,TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center ,HeadFlag =3},
- new QuoteListHeader(Client_Resource.Content_SalePrice, "SalePrice") {Width=80,ColorProperty = "SalePriceColor" ,HeadFlag =4},
- new QuoteListHeader(Client_Resource.Content_PublicQty, "IssueTotalDisplay") {Width=80,ColorProperty = "GoodsNameColor" ,HeadFlag =5},
- new QuoteListHeader(Client_Resource.Content_ApplyStartTime, "ApplyStartTimeDisplay") {Width=120, SortProperty = "ApplyStartTime" ,HeadFlag =6},
- new QuoteListHeader(Client_Resource.Content_ApplyEndTime, "ApplyEndTimeDisplay") { Width=120, SortProperty="ApplyEndTime" ,HeadFlag =7},
- new QuoteListHeader(Client_Resource.Content_State, "RunStepsDisplay") { Width=80,IsBold=false, TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center ,HeadFlag =8},
- };
- if (UserManager.IsAccountLogin)
- {
- var quoteHeader = new QuoteListHeader(QuoteHeaderNames.AgreeUnitName, "AgreeUnitDisplay")
- {
- HeadFlag = 3,
- Width = 80,
- IsBold = false,
- TextAlignment = TextAlignment.Center,
- HeadHorizontalAlignment = HorizontalAlignment.Center
- }; //合约单位[new]
- saleHeader.Add(quoteHeader);
- }
- return GetConfigHeaders(ApplicationParameter.SaleQuoteHeaders, saleHeader);
- }
- /// <summary>
- /// 获取挂牌抬头字段
- /// </summary>
- /// <returns>List{QuoteListHeader}.</returns>
- private List<QuoteListHeader> GetDeliveryListingHeaders()
- {
- //var headers = UserManager.GetQuoteListHeaders(QuoteListHeaderType.Listing);
- //if (headers != null && headers.Any()) return headers;
- return new List<QuoteListHeader>()
- {
- new QuoteListHeader(QuoteHeaderNames.Order, "OrderNumber") { Width= 50,HeadHorizontalAlignment = HorizontalAlignment.Center, TextAlignment = TextAlignment.Center },
- //new QuoteListHeader(string.Empty, "MySelectedFlag") { Width= 15, TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- //new QuoteListHeader(QuoteHeaderNames.Name, "GoodsName") { ColorProperty="GoodsNameColor", IsBold=false, Width=80,TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(QuoteHeaderNames.Code, "DeliveryGoodsCode") { IsBold=false, Width=80,TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(Client_Resource.DeliveryOrderView_DeliveryGoods, "DeliveryGoodsName") { ColorProperty="GoodsNameColor", IsBold=false, Width=140,TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(Client_Resource.Listing_BidHighest, "BidHighestDisplay") { SortProperty ="BidHighest", Width=120,IsBold=false,TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(Client_Resource.Listing_AskLowest, "AskLowestDisplay") { SortProperty ="AskLowest", Width=120,IsBold=false,TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(Client_Resource.Listing_CurrentPrice, "CurrentPriceDisplay") {Width=120,IsBold=false,TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(Client_Resource.Listing_TotalVolume, "TotalVolume") {Width=120 ,IsBold=false,TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(Client_Resource.Listing_GoodsUint, "GoodsUnitName") {Width=60 ,IsBold=false,TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- };
- }
- /// <summary>
- /// 从配置中取要显示的字段
- /// </summary>
- /// <param name="configHeaders">配置的字符串</param>
- /// <param name="baseHeaders">要筛选的字符串,</param>
- /// <returns>如果configHeaders为空串,返回babaseHeaders</returns>
- private List<QuoteListHeader> GetConfigHeaders(string configHeaders, List<QuoteListHeader> baseHeaders)
- {
- var diCheaders = baseHeaders.ToDictionary((item) => item.HeadFlag);
- if (!string.IsNullOrWhiteSpace(configHeaders))
- {
- string[] headFlags = configHeaders.Split(',');
- int flaghead = -1;
- var lsHeaders = new List<QuoteListHeader>();
- foreach (var headFlag in headFlags)
- {
- if (int.TryParse(headFlag, out flaghead))
- {
- if (diCheaders.ContainsKey(flaghead))
- {
- if (flaghead == 2 && diCheaders.ContainsKey(100)) ////名称加自选
- {
- lsHeaders.Add(diCheaders[100]);
- }
- lsHeaders.Add(diCheaders[flaghead]);
- }
- }
- flaghead = -1;
- }
- return lsHeaders;
- }
- return baseHeaders;
- }
- /// <summary>
- /// 获取托管计划字段
- /// </summary>
- /// <returns>List{QuoteListHeader}.</returns>
- private List<QuoteListHeader> GetDepositHeaders()
- {
- //var headers = UserManager.GetQuoteListHeaders(QuoteListHeaderType.Deposit);
- //if (headers != null && headers.Any()) return headers;
- return new List<QuoteListHeader>()
- {
- new QuoteListHeader(Client_Resource.Content_DepositName, "DepositName") { IsBold = false, Width=110, TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
-
- new QuoteListHeader(Client_Resource.Content_DepositGoodsCode, "DepositGoodsCode") { IsBold = true, Width=110, TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
-
- new QuoteListHeader(Client_Resource.Content_DepositGoodsName, "DepositGoodsName") { IsBold=true, Width=110,TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(Client_Resource.Content_MaxDepositNumber, "MaxDepositNumber") {Width=120,TextAlignment = TextAlignment.Right, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(Client_Resource.Content_UnitName, "UnitName") {Width=80,IsBold=false,TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(Client_Resource.Content_DepositStartTime, "DepositStartTime") {Width=160, IsBold=false,TextAlignment = TextAlignment.Right, HeadHorizontalAlignment = HorizontalAlignment.Center },
- new QuoteListHeader(Client_Resource.Content_DepositEndTime, "DepositEndTime") { Width=160, IsBold=false,TextAlignment = TextAlignment.Right, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(Client_Resource.Content_DepositReferPrice, "DepositReferPrice") { Width=120,IsBold=false, TextAlignment = TextAlignment.Right, HeadHorizontalAlignment = HorizontalAlignment.Center},
-
- new QuoteListHeader(Client_Resource.Content_SubscribeRate, "DisplaySubscribeRate") {Width=80,IsBold=false,TextAlignment = TextAlignment.Right, HeadHorizontalAlignment = HorizontalAlignment.Center},
-
- new QuoteListHeader(Client_Resource.Content_State, "DisplayDepositStatus") { Width=80,IsBold=false, TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- };
- }
- /// <summary>
- /// 获取挂牌抬头字段
- /// </summary>
- /// <returns>List{QuoteListHeader}.</returns>
- private List<QuoteListHeader> GetListingHeaders()
- {
- //var headers = UserManager.GetQuoteListHeaders(QuoteListHeaderType.Listing);
- //if (headers != null && headers.Any()) return headers;
- return new List<QuoteListHeader>()
- {
- new QuoteListHeader(QuoteHeaderNames.Order, "OrderNumber") { Width= 50,HeadHorizontalAlignment = HorizontalAlignment.Center, TextAlignment = TextAlignment.Center },
- new QuoteListHeader(string.Empty, "MySelectedFlag") { Width= 15, TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- //new QuoteListHeader(QuoteHeaderNames.Name, "GoodsName") { ColorProperty="GoodsNameColor", IsBold=false, Width=80,TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(Client_Resource.DeliveryOrderView_DeliveryGoods, "GoodsName") { ColorProperty="GoodsNameColor", IsBold=false, Width=80,TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(Client_Resource.EntrustOrderFrame_Direction, "DirectionDisplay") { Width=80,IsBold=false,TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(Client_Resource.Listing_Price, "OrderPrice") {Width=80},
- new QuoteListHeader(QuoteHeaderNames.CurrentPrice, "CurrentPriceDisplay") {Width=80},
- new QuoteListHeader(Client_Resource.Listing_Lot, "OrderQty") {Width=80 },
- new QuoteListHeader(Client_Resource.Listing_AvailQty, "AvailQty") {Width=80 },
- new QuoteListHeader(Client_Resource.Listing_Goods_Discription, "RequesRemark") {Width=120 },
- new QuoteListHeader(Client_Resource.Listing_Mode, "ListingModeDisplay") {Width=80,ToolTipProperty ="ListingModeToolTip" },
- new QuoteListHeader(Client_Resource.Delisting_MoneyMode, "MoneyModeDisplay") {Width=120 },
- new QuoteListHeader(Client_Resource.DeListing_StartTime, "StartTimeDisplay") {Width=160, SortProperty = "StartTime"},
- new QuoteListHeader(Client_Resource.Delisting_EndTime, "EndTimeDisplay") { Width=160, SortProperty="EndTime"},
-
-
- };
- }
- /// <summary>
- /// 获取通道交易行情字段
- /// </summary>
- /// <returns>System.Collections.Generic.List{Muchinfo.MTPClient.Data.Model.QuoteListHeader}.</returns>
- private List<QuoteListHeader> GetChannelHeaders()
- {
- var channelHeader = new List<QuoteListHeader>()
- {
- new QuoteListHeader(QuoteHeaderNames.Order, "ShowIndex") { Width= 50,HeadHorizontalAlignment = HorizontalAlignment.Center, TextAlignment = TextAlignment.Center },
- new QuoteListHeader(QuoteHeaderNames.Code, "GoodsCode") {HeadFlag =1, ColorProperty="GoodsCodeColor", IsBold = true, Width=50, TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(string.Empty, "MySelectedFlag") {HeadFlag =100, Width= 15, TextAlignment = TextAlignment.Center, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(QuoteHeaderNames.Name, "Name") {HeadFlag =2, ColorProperty="NameColor", IsBold=false, Width=80,TextAlignment = TextAlignment.Left, HeadHorizontalAlignment = HorizontalAlignment.Center},
- new QuoteListHeader(QuoteHeaderNames.BuyPrice, "BidPriceDisplay") {HeadFlag =3, SortProperty = "BidPrice", ColorProperty = "BidPriceColor",Width=80},
- new QuoteListHeader(QuoteHeaderNames.BuyVolume, "BidVolumeDisplay") {HeadFlag =4,SortProperty = "BidVolume", ColorProperty = "BidPriceColor",Width=80},
- new QuoteListHeader(QuoteHeaderNames.SellPrice, "AskPriceDisplay")
- {
- HeadFlag =5,SortProperty = "AskPrice", ColorProperty = "AskPriceColor",Width=80
- },
- new QuoteListHeader(QuoteHeaderNames.SellVolume, "AskVolumeDisplay")
- {
- HeadFlag =6,
- SortProperty = "AskVolume", ColorProperty = "AskPriceColor",Width=80
- },
- new QuoteListHeader(QuoteHeaderNames.CurrentPrice, "CurrentPriceDisplay")
- {
- HeadFlag =7,
- SortProperty = "CurrentPrice", ColorProperty = "CurrentPriceColor",Width=80
- },
- new QuoteListHeader(QuoteHeaderNames.IncreaseValue, "IncreaseValueDisplay") { HeadFlag =8, ColorProperty="IncreaseValueColor", SortProperty="IncreaseValue", Width=80},
- new QuoteListHeader(QuoteHeaderNames.IncreasePercent, "IncreasePercentDisplay"){HeadFlag =9, SortProperty = "IncreasePercent", ColorProperty ="IncreasePercentColor",Width=80},
- new QuoteListHeader(QuoteHeaderNames.Open, "OpenDisplay") {HeadFlag =10, ColorProperty="OpenColor", SortProperty = "Open",Width=80},
- new QuoteListHeader(QuoteHeaderNames.LastClose, "LastCloseDisplay") {HeadFlag =11, SortProperty="LastClose",Width=80},
- new QuoteListHeader(QuoteHeaderNames.Low, "LowDisplay") {HeadFlag =12, ColorProperty = "LowColor",SortProperty = "Low",Width=80},
- new QuoteListHeader(QuoteHeaderNames.High, "HighDisplay") {HeadFlag =13, ColorProperty = "HighColor", SortProperty = "High",Width=80},
- new QuoteListHeader(QuoteHeaderNames.TotalVolume, "TotalVolumeDisplay")
- {HeadFlag =14,
- SortProperty = "TotalVolume",Width=120
- },
- // new QuoteListHeader(QuoteHeaderNames.Inventory, "InventoryDisplay"){ HeadFlag =17,SortProperty = "Inventory",Width=120},// 库存量暂时去掉吧。所有版本?
- new QuoteListHeader(QuoteHeaderNames.PositionsDisplay, "PositionsDisplay"){ HeadFlag =17,SortProperty = "PositionsDisplay",Width=120},
-
- };
- return GetConfigHeaders(ApplicationParameter.ChannelQuoteHeaders, channelHeader);
- }
- #endregion
- #endregion
- public void QeuryMtpSystemConfigs(string configid, System.Action<List<MTPSystemConfig>> successAction, System.Action<ErrorEntity> errorAction)
- {
- var queryCommonParams = new List<QueryCommonParam>();
- queryCommonParams.Add(new QueryCommonParam() { ParamKey = "KeyId", ParamValue = configid });
- QueryCommonHelper.QueryCommon(QueryStatement.QuerySystemConfig, queryCommonParams, new Action<List<MTPSystemConfig>>((systemConfig) =>
- {
- if (successAction != null)
- {
- successAction(systemConfig);
- }
- }), (error) =>
- {
- if (errorAction != null)
- {
- error.RequestFunc = Client_Resource.SystemParamQuery;
- errorAction(error);
- }
- });
- }
- public void QueryResxVer(Action<List<ResxVerInfo>> successAction, Action<ErrorEntity> errorAction)
- {
- var queryCommonParams = new List<QueryCommonParam>();
- QueryCommonHelper.QueryCommon(QueryStatement.SearchConstErrorCodeVer, queryCommonParams,
- new Action<List<ResxVerInfo>>(
- (verinfos) =>
- {
- successAction(verinfos);
- }), (error) =>
- {
- error.RequestFunc = Client_Resource.ResxVerRequest;
- if (errorAction != null) errorAction(error);
- });
- }
- public void QueryResxDescrition(ResxVerType resxVerType, Action<List<ResxDescrition>, ResxVerType> successAction, Action<ErrorEntity> errorAction)
- {
- var statement = string.Empty;
- var queryCommonParams = new List<QueryCommonParam>();
- switch (resxVerType)
- {
- case ResxVerType._const:
- statement = QueryStatement.SearchConstDesc;
- break;
- case ResxVerType.errorCode:
- statement = QueryStatement.SearchErrorCodeDesc;
- break;
- }
- QueryCommonHelper.QueryCommon(statement, queryCommonParams,
- new Action<List<ResxDescrition>>(
- (descritions) =>
- {
- successAction(descritions, resxVerType);
- }), (error) =>
- {
- error.RequestFunc = string.Format(Client_Resource.ResxRequestfuc, (int)resxVerType);
- if (errorAction != null) errorAction(error);
- });
- }
- /// <summary>
- /// 设置主页面的命令
- /// </summary>
- /// <param name="command"></param>
- /// <returns></returns>
- public List<KeyBinding> GetHomeKeyBindings(ICommand command)
- {
- var keyCommands = new List<KeyBinding>();
- //keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.Enter)) { CommandParameter = CommandFunc.OpenChart });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.F10)) { CommandParameter = CommandFunc.GoodsF10 });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.Escape)) { CommandParameter = CommandFunc.BrowserBack });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.PageDown)) { CommandParameter = CommandFunc.QuotePageDown });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.PageUp)) { CommandParameter = CommandFunc.QuotePageup });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.Insert)) { CommandParameter = CommandFunc.QuoteInsert });
- //// keyCommands.Add(new KeyBinding(command, Key.Tab, ModifierKeys.Control) { CommandParameter = CommandFunc.Tab }); //使用KeyUp事件操作
- //keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.Enter)) { CommandParameter = CommondFunc.OpenOrder });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.F7)) { CommandParameter = CommandFunc.HoldDetail });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.F8)) { CommandParameter = CommandFunc.Amount });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.F9)) { CommandParameter = CommandFunc.CompleteOrder });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.F1)) { CommandParameter = CommandFunc.QuoteTik });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.F2)) { CommandParameter = CommandFunc.Buy });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.F3)) { CommandParameter = CommandFunc.Sell });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.F4)) { CommandParameter = CommandFunc.Cancel });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.F11)) { CommandParameter = CommandFunc.OpenTradeBoard });
- keyCommands.Add(new KeyBinding(command, new KeyGesture(Key.F12)) { CommandParameter = CommandFunc.TranFloatOrder });
- return keyCommands;
- }
- /// <summary>
- /// 获取常用指标
- /// </summary>
- /// <param name="command">命令</param>
- public List<SysMenuItem> GetIndicator()
- {
- var indicator = new List<SysMenuItem>()
- {
- new SysMenuItem(MenuNames.AnalysisIndicator_MA, MenuCommandType.MA),
-
- new SysMenuItem(MenuNames.AnalysisIndicator_BOLL, MenuCommandType.BOLL),
- new SysMenuItem(MenuNames.AnalysisIndicator_MACD, MenuCommandType.MACD),
- new SysMenuItem(MenuNames.AnalysisIndicator_KDJ, MenuCommandType.KDJ),
- new SysMenuItem(MenuNames.AnalysisIndicator_RSI, MenuCommandType.RSI),
- new SysMenuItem(MenuNames.AnalysisIndicator_PSY, MenuCommandType.PSY),
- new SysMenuItem(MenuNames.AnalysisIndicator_DMI, MenuCommandType.DMI),
-
- new SysMenuItem(MenuNames.AnalysisIndicator_VOL, MenuCommandType.VOL),
-
- };
- return indicator;
- }
- }
- }
|