
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.DI;

namespace TEAMModelOS.SDK.Models
{
    public class School : CosmosEntity
    {
        public School()
        {
            pk = "Base";
            timeZone = new TimeZone();
            period = new List<Period>();
        }

        /// <summary>
        /// 学校编码
        /// </summary>
        public string schoolCode { get; set; }
        /// <summary>
        /// 学校名称
        /// </summary>
        public string name { get; set; }
        /// <summary>
        /// 学段
        /// </summary>
        public List<Period> period { get; set; }
        /// <summary>
        /// 校区
        /// </summary>
        public List<Campus> campuses { get; set; }
        /// <summary>
        /// 地区
        /// </summary>
        public string region { get; set; }
        public string province { get; set; }
        /// <summary>
        /// 省份
        /// </summary>
        public string city { get; set; }
        /// <summary>
        ///授权给 学校的Blob 容器空间大小 单位为G
        ///1252748378/1024/1024/1024
        ///1GB＝1024MB，1MB＝1024KB，1KB＝1024B  存储最小单位为B字节
        /// </summary>
        public int size { get; set; }
        /// <summary>
        /// 地址
        /// </summary>
        public string address { get; set; }
        /// <summary>
        /// Logo
        /// </summary>
        public string picture { get; set; }
        /// <summary>
        /// 时区
        /// </summary>
        public TimeZone timeZone { get; set; }
        /// <summary>
        /// 1 普教，2 高职教
        /// </summary>
        public int type { get; set; }
      

    }
    /// <summary>
    /// 课表计划
    /// </summary>
    public class TimeTable
    {
        public string id { get; set; }
        public string label { get; set; }
        public string time { get; set; }
        public string type { get; set; }
        public Dictionary<string, object> weeklies { get; set; }
    }

    public class ExamSimple
    {
        public string id { get; set; }
        public string name { get; set; }
        //public List<SmallType> type {get;set;}
    }
    public class SmallType
    {
        public string id { get; set; }
        public string name { get; set; }
    }
    /// <summary>
    /// 时区
    /// </summary>
    public class TimeZone
    {
        public string label { get; set; } = null;
        public string value { get; set; } = null;

    }
}
