using Newtonsoft.Json;
using ProtoBuf;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
using System.Text.Json.Serialization;
using TEAMModelOS.SDK.Context.Attributes.Azure;
using TEAMModelOS.SDK.Module.AzureCosmosDBV3;
namespace TEAMModelOS.Service.Models.Syllabus
{
///
/// 知识点
///
[CosmosDB(RU = 400, Name = "Knowledge", Cache = true)]
[ProtoContract]
public class Knowledge: ID
{
[ProtoMember(1)]
public string id { get; set; }
///
/// 标记为知识块,0=知识块 ,1 知识点
///
[ProtoMember(2)]
[Required(ErrorMessage = "{0} 必须填写")]
public int type { get; set; } = 0;
///
/// 名称
///
[ProtoMember(3)]
[Required(ErrorMessage = "{0} 必须填写")]
public string name { get; set; }
///
/// 描述
///
[ProtoMember(4)]
[Required(ErrorMessage = "{0} 必须填写")]
public string alias { get; set; }
///
/// 学科
///
///[Required(ErrorMessage = "{0} 必须填写")]
[ProtoMember(5)]
public string subjectCode { get; set; }
///
/// 学校编码 如果是教师私人知识点为醍摩豆id 否则为学校编码
///
[Required(ErrorMessage = "{0} 必须填写")]
[ProtoMember(6)]
[PartitionKey]
public string scopeCode { get; set; }
[ProtoMember(7)]
[Required(ErrorMessage = "{0} 必须填写")]
public int order { get; set; }
///
/// 删除状态0 删除 1 有效
///
[ProtoMember(8)]
[Required(ErrorMessage = "{0} 必须填写")]
public int status { get; set; } = 1;
///
/// 知识点 id
///
[ProtoMember(9)]
[Required(ErrorMessage = "{0} 必须填写")]
public List points { get; set; }
///
/// 来自于标准表 Rowkey
///
[ProtoMember(10)]
[Required(ErrorMessage = "{0} 必须填写")]
public string knowledgeId { get; set; }
///
/// 0 标准,1自建,2.....
///
[ProtoMember(11)]
[Required(ErrorMessage = "{0} 必须填写")]
public int source { get; set; }
///
/// 学段 私有的没有学段
///
///[Required(ErrorMessage = "{0} 必须填写")]
[ProtoMember(12)]
public string period { get; set; }
/////
///// school personal 学校或者个人
/////
//[Required(ErrorMessage = "{0} 必须填写")]
//public string scope { get; set; }
///
/// 醍摩豆id
///
//[Required(ErrorMessage = "{0} 必须填写")]
//public string TEAMModelId { get; set; }
}
}