| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324 |
- using System.Windows.Input;
- using GalaSoft.MvvmLight;
- using Muchinfo.MTPClient.Data.Enums;
- using System.Collections.Generic;
- using Muchinfo.MTPClient.Data.Model;
- using System;
- using System.Linq;
- namespace Muchinfo.MTPClient.Data
- {
- /// <summary>
- /// 菜单项类
- /// </summary>
- public class SysMenuItem : ViewModelBase
- {
- #region Constructors
- public SysMenuItem()
- {
- Children = new List<SysMenuItem>();
- }
- /// <summary>
- /// 无执行命令菜单
- /// </summary>
- /// <param name="title">The title.</param>
- public SysMenuItem(string title)
- : this(title, MenuCommandType.None)
- {
- //菜单项默认不能checkable,实例化后按需设置成true
- IsCheckable = false;
- }
-
- /// <summary>
- /// 有执行命令菜单
- /// </summary>
- /// <param name="title">The title.</param>
- /// <param name="commandType">Type of the command.</param>
- public SysMenuItem(string title, MenuCommandType commandType)
- {
- this.Title = title;
- this.SysCommandType = commandType;
- IsEnabled = true;
- SysMenuType = SysMenuType.Enum;
- FuncMenuCode = commandType.ToString();
- }
- /// <summary>
- /// 有执行命令菜单
- /// </summary>
- /// <param name="title">The title.</param>
- /// <param name="commandType">Type of the command.</param>
- public SysMenuItem( MenuCommandType commandType)
- {
- this.SysCommandType = commandType;
- IsEnabled = true;
- SysMenuType = SysMenuType.Enum;
- this.ResourceCode = eSystemMenuValue.CreateInstance().menu.Where(x => x.Key == commandType).Select(x => x.Value).FirstOrDefault();
- }
- public SysMenuItem(string title, string code)
- {
- this.Title = title;
- this.Code = code;
- IsEnabled = true;
- SysMenuType = SysMenuType.News;
- }
- #endregion Constructors
- #region Properties
- #region Public Properties
- /// <summary>
- /// 子菜单
- /// </summary>
- public List<SysMenuItem> Children
- {
- get;
- set;
- }
- /// <summary>
- /// 父菜单
- /// </summary>
- public SysMenuItem ParentItem { get; set; }
- /// <summary>
- /// 菜单快捷键显示文本
- /// </summary>
- public string InputGestureText
- {
- get;
- set;
- }
- /// <summary>
- /// 是否能check
- /// </summary>
- public bool IsCheckable
- {
- get;
- set;
- }
- private bool _isChecked;
- /// <summary>
- /// 是否check
- /// </summary>
- public bool IsChecked
- {
- get { return _isChecked; }
- set { Set(() => IsChecked, ref _isChecked, value); }
- }
-
- private bool _isVisible ;
- /// <summary>
- /// 是否显示菜单
- /// </summary>
- public bool IsVisible
- {
- get { return _isVisible; }
- set { Set(() => IsVisible, ref _isVisible, value); }
- }
- private bool _isEnabled;
- /// <summary>
- /// Gets or sets a value indicating whether this instance is enabled.
- /// </summary>
- public bool IsEnabled
- {
- get { return _isEnabled; }
- set { Set(() => IsEnabled, ref _isEnabled, value); }
- }
- private bool _isSelected;
- /// <summary>
- /// 是否选中
- /// </summary>
- public bool IsSelected
- {
- get { return _isSelected; }
- set { Set(() => IsSelected, ref _isSelected, value); }
- }
- private bool _isExpanded = false;
- /// <summary>
- /// 菜单是否展开
- /// </summary>
- public bool IsExpanded
- {
- get { return _isExpanded; }
- set { Set(() => IsExpanded, ref _isExpanded, value); }
- }
-
- /// <summary>
- /// 菜单项命令类型
- /// </summary>
- public MenuCommandType SysCommandType
- {
- get;
- set;
- }
- /// <summary>
- /// 是否是枚举类型命令
- /// </summary>
- public SysMenuType SysMenuType { get; set; }
- /// <summary>
- /// 菜单项命令代码
- /// </summary>
- public string Code
- {
- get;
- set;
- }
- private string _title;
- /// <summary>
- /// 菜单项标题
- /// </summary>
- public string Title
- {
- get { return _title; }
- set { Set(() => Title, ref _title, value); }
- }
- /// <summary>
- /// CommandType = CustomQuote时,存储交易所所代码,市场代码
- /// </summary>
- public string QuoteParameters
- {
- get;
- set;
- }
- /// <summary>
- /// 父菜单标题
- /// </summary>
- public string ParentTitle
- {
- get;
- set;
- }
- private string _resourceCode;
- public string ResourceCode
- {
- get { return _resourceCode; }
- set { _resourceCode = value; }
- }
- /// <summary>
- /// 是否为显示对话框
- /// </summary>
- public bool IsDialog { get; set; }
- /// <summary>
- /// 显示在查询框的查询对象
- /// </summary>
- public object View { get; set; }
- #endregion Public Properties
- #endregion Properties
- #region 服务端配置的转换对象
- /// <summary>
- /// 功能菜单id
- /// </summary>
- public int FuncMenuId { get; set; }
-
- /// <summary>
- /// 功能菜单代码
- /// </summary>
- public string FuncMenuCode { get; set; }
- /// <summary>
- /// 父级菜单代码
- /// </summary>
- public string ParentFuncMenuCode { get; set; }
- /// <summary>
- /// 操作功能,标识菜单具有哪些复选框
- /// </summary>
- public int OperateFunc { get; set; }
- /// <summary>
- /// 操作功能值,标识哪些复选框被选中
- /// </summary>
- public int OperateFuncVal { get; set; }
- /// <summary>
- /// 客户端类型 0:交易客户端 1:管理客户端s
- /// </summary>
- public int RoleType { get; set; }
- /// <summary>
- /// 序号用于排序菜单的位置
- /// </summary>
- public int FuncNo { get; set; }
- #endregion Other
- #region 菜单使用
- /// <summary>
- /// 对话框 对象
- /// </summary>
- public Type ViewType { get; set; }
- /// <summary>
- /// 参数
- /// </summary>
- public List<object> Params { get; set; }
- /// <summary>
- /// 是否是模式窗口
- /// </summary>
- public bool IsModalDialog { get; set; }
- #endregion
- /// <summary>
- /// 菜單命令
- /// </summary>
- public ICommand Command { get; set; }
- #region 暂时存放市场信息
-
- //todo:交易所市场使用绑定
- public MarketsInfoModel GoodsGroup { get; set; }
- /// <summary>
- /// 菜单排序ID
- /// </summary>
- public int SortId { get; set; }
- #endregion
- }
- public enum SysMenuType
- {
- /// <summary>
- /// 枚举类型命令
- /// </summary>
- Enum,
- /// <summary>
- /// 新闻类型命令
- /// </summary>
- News
- }
- }
|