
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using TEAMModelOS.SDK.Context.Attributes.Azure;
using TEAMModelOS.SDK.DI;

namespace TEAMModelOS.SDK.Models
{
    
    public class SyllabusNode
    {

        public SyllabusNode() {
            //resources = new List<string>();
            //knowledges = new List<string>();
        }
        /// <summary>
        /// 
        /// </summary>
        [Required(ErrorMessage = "{0} 必须填写")]
        
        public string id { get; set; }
        /// <summary>
        /// 标题
        /// </summary>
        [Required(ErrorMessage = "{0} 必须填写")]
        
        public string title { get; set; }
        /// <summary>
        /// 是否展开
        /// </summary>
        
        public bool expand { get; set; }
        /// <summary>
        /// 是否编辑
        /// </summary>
        
        public bool editable { get; set; } = true;
        /// <summary>
        /// 版本
        /// </summary>
        
        public string  version { get; set; } 
        /// <summary>
        /// 排序
        /// </summary>
        [Required(ErrorMessage = "{0} 必须填写")]
        
        public int order { get; set; }
        /// <summary>
        /// 类型
        /// </summary>
        [Required(ErrorMessage = "{0} 必须填写")]
        
        public int type { get; set; }
        
        /// <summary>
        /// 节点Key
        /// </summary>
        [Required(ErrorMessage = "{0} 必须填写")]
        
        public string nodeKey { get; set; }
       
        /// <summary>
        /// 父级
        /// </summary>
        [Required(ErrorMessage = "{0} 必须填写")]
        
        public string pid { get; set; }

        /// <summary>
        /// 册别编码
        /// </summary>
        [Required(ErrorMessage = "{0} 必须填写")]
        
        public string code { get; set; }
        /// <summary>
        /// 数据状态
        /// </summary>
        [Required(ErrorMessage = "{0} 必须填写")]
        
        public int status { get; set; } = 1;
        
        public List<string> resources { get; set; }
        //[ProtoMember(13)]
        //public List<string> knowledges { get; set; }
        
        public List<string> items { get; set; }
      
        
        public bool resource { get; set; }
        //[ProtoMember(15)]
        //public bool knowledge { get; set; }
        
        public bool item { get; set; }
    }
}
