using System;
using System.Collections.Generic;
using System.Text;

namespace Model
{
    /// <summary>
    /// 菜单详细信息
    /// </summary>
    [Serializable]
    public class MenuType
    {
        #region 私有变量
        private string menuId;
        private string menuName;
        private string type;
        private string createrId;
        private DateTime createTime;
        private string detail;
        private IList<Item> menuitems;
        #endregion

        #region 构造函数
        /// <summary>
        /// 菜单详细信息构造函数
        /// </summary>
        /// <param name="menuName">菜单名称</param>
        /// <param name="type">菜单类型</param>
        /// <param name="createrId">创建者用户名</param>
        /// <param name="detail">详细信息</param>
        public MenuType(string menuName, string type, string createrId,string detail)
        {
            this.menuName = menuName;
            this.type = type;
            this.createrId = createrId;
            this.detail = detail;
        }
        /// <summary>
        /// 菜单详细信息构造函数
        /// </summary>
        /// <param name="menuName">菜单名称</param>
        /// <param name="detail">详细信息</param>
        public MenuType(string menuName, string detail)
        {
            this.menuName = menuName;
            this.detail = detail;
        }
        /// <summary>
        /// 菜单详细信息构造函数
        /// </summary>
        /// <param name="menuId">菜单ID</param>
        public MenuType(string menuId)
        {
            this.menuId = menuId;
        }
        /// <summary>
        /// 菜单详细信息构造函数
        /// </summary>
        /// <param name="menuId">菜单ID</param>
        /// <param name="menuName">菜单名称</param>
        /// <param name="createrId">创建者用户名</param>
        /// <param name="detail">详细信息</param>
        /// <param name="createTime">创建时间</param>
        /// <param name="menuitems">所包含的菜肴Ilist类型</param>
        public MenuType(string menuId, string menuName, string createrId, string detail, DateTime createTime, IList<Item> menuitems)
        {
            this.menuId = menuId;
            this.menuName = menuName;
            this.createrId = createrId;
            this.detail = detail;
            this.createTime = createTime;
            this.menuitems = menuitems;
        }
        /// <summary>
        /// 菜单详细信息构造函数
        /// </summary>
        /// <param name="menuId">菜单ID</param>
        /// <param name="menuName">菜单名称</param>
        /// <param name="type">菜单类型</param>
        /// <param name="createrId">创建者用户名</param>
        /// <param name="createTime">创建时间</param>
        public MenuType(string menuId, string menuName, string type, string createrId, DateTime createTime)
        {
            this.menuId = menuId;
            this.menuName = menuName;
            this.type = type;
            this.createrId = createrId;
            this.createTime = createTime;
        }
        #endregion

        #region 属性
        /// <summary>
        /// 菜单所包含的菜肴
        /// </summary>
        public IList<Item> Menuitems
        {
            get { return menuitems; }
            set { menuitems = value; }

        }
        /// <summary>
        /// 菜单编号
        /// </summary>
        public string MenuId
        {
            get { return this.menuId; }
            set { this.menuId = value; }
        }
        /// <summary>
        /// 菜单详细信息
        /// </summary>
        public string Detail
        {
            get { return this.detail; }
            set { this.detail = value; }
        }
        /// <summary>
        /// 菜单名称
        /// </summary>
        public string MenuName
        {
            get { return this.menuName; }
            set { this.menuName = value; }
        }
        /// <summary>
        /// 菜单类型
        /// </summary>
        public string Type
        {
            get { return this.type; }
            set { this.type = value; }
        }
        /// <summary>
        /// 创建者用户名
        /// </summary>
        public string CreaterId
        {
            get { return this.createrId; }
            set { this.createrId = value; }
        }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime
        {
            get { return this.createTime; }
        }
        #endregion
    }
}
