using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using TEAMModelOS.SDK.Context.Attributes.Azure;
using TEAMModelOS.SDK.DI;

namespace TEAMModelOS.SDK.Models
{
    public class ExamClassResult : CosmosEntity
    {
        public ExamClassResult() {
            pk = "ExamClassResult";
            studentAnswers = new List<List<string>>();
            studentScores = new List<List<double>>();
            info = new ClassInfo();
            studentIds = new List<string>();
            studentScores = new List<List<double>>();
            sum = new List<double>();
            mark = new List<string>();
            ans = new List<List<List<string>>>();
        }
        public string school { get; set; }
        public string examId { get; set; }
        public string subjectId { get; set; }
        public string gradeId { get; set; }
        public int year { get; set; }
        public ClassInfo info { get; set; }
        public bool progress { get; set; } = false;
        //public PaperSimple paper { get; set; }
        //public List<double> point { get; set; }
        public List<string> studentIds { get; set; }
        public List<List<string>> studentAnswers { get; set; }
        //记录学生客观题选项内容，便于学情分析
        public List<List<List<string>>> ans { get; set; }
        public List<List<double>> studentScores { get; set; }
        //批注
        public List<string> mark { get; set; }
        public string scope { get; set; }
        public List<double> sum { get; set; }
        public double average { get; set; }
        //单科单班得分率
        public double srate { get; set; }
        //单科单班标准差
        public double standard { get; set; }
        //知识点结算内容
        public List<double> krate { get; set; } = new List<double>();
        public List<int> phc { get; set; } = new List<int>();
        public List<int> plc { get; set; } = new List<int>();
        public List<int> pc { get; set; } = new List<int>();
        //认知层次结算内容
        public List<double> frate { get; set; } = new List<double>();
        public List<int> fphc { get; set; } = new List<int>();
        public List<int> fplc { get; set; } = new List<int>();
        public List<int> fpc { get; set; } = new List<int>();
    }
/*    public class PaperSimple {
        public string id { get; set; }
        public string name { get; set; }
        public string code { get; set; }
        public string blob { get; set; }
        public string scope { get; set; }
    }*/
    public class ClassInfo {
        public string id { get; set; }
        public string name { get; set; }
        //public string code { get; set; }
    }
}
