| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426 |
- 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(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;
- }
- /// <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;
- }
- }
- }
|