123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel.DataAnnotations;
- using System.Text;
- using TEAMModelOS.SDK.Context.Attributes.Azure;
- namespace TEAMModelOS.SDK.Models
- {
- /// <summary>
- /// 问卷调查
- /// </summary>
- public class Survey : CosmosEntity
- {
- public Survey() {
- pk = "Survey";
- // questions = new List<Question>();
- classes = new List<string>();
- tmdids = new List<string>();
- }
- /// <summary>
- /// 学校编码或教室tmdid
- /// </summary>
- [Required(ErrorMessage = "owner 必须设置")]
- public string owner { get; set; }
- /// <summary>
- /// 问卷名称
- /// </summary>
- [Required(ErrorMessage = "name 必须设置")]
- public string name { get; set; }
- /// <summary>
- /// 问卷描述
- /// </summary>
- public string description { get; set; }
- //public string type { get; set; } //normal', // 问卷类型
- /// <summary>
- /// 创建者的id
- /// </summary>
- [Required(ErrorMessage = "creatorId 必须设置")]
- public string creatorId { get; set; }
- // public int year { get; set; }
- /// <summary>
- /// pending 待发布|going 已发布|finish 已结束
- /// </summary>
- [Required(ErrorMessage = "progress 必须设置")]
- public string progress { get; set; }
- public string scope { get; set; }
- public List<string> tmdids { get; set; }
- public List<string> classes { get; set; }
- // public List<string> targetClassIds { get; set; }
- // public int stuCount { get; set; }
- /// <summary>
- /// 问卷状态(100:待发布 200:已发布 300:已结束)
- /// </summary>
- public int status { get; set; }
- /// <summary>
- /// 发布对象
- /// </summary>
- //[ProtoMember(4)]
- //public List<Target> target { get; set; }
- /// <summary>
- /// 发布模式 0 立即发布 1 定时
- /// </summary>
- //public string publishModel { get; set; }
- /// <summary>
- /// 开始时间
- /// </summary>
- public long startTime { get; set; }
- /// <summary>
- /// 结束时间
- /// </summary>
- public long endTime { get; set; }
- public long createTime { get; set; } // 问卷发布时间
- /// <summary>
- /// 更新时间
- /// </summary>
- public long updateTime { get; set; }
- //public long sequenceNumber { get; set; }
- public string blobUrl { get; set; }
- //将问题放入Blob
- //public List<Question> questions { get; set; }
- }
- /// <summary>
- ///
- /// </summary>
- public class Question {
- public string qid { get; set; }
- public string question { get; set; }
- public List<OptionSurvey> options { get; set; }
- public string type { get; set; }
- //public QuestionResult result { get; set; }
- }
- public class OptionSurvey{
- /// <summary>
- /// 选项编码
- /// </summary>
- public string code { get; set; }
- /// <summary>
- /// 选项文本
- /// </summary>
- public string value { get; set; }
- /// <summary>
- /// 选项描述
- /// </summary>
- //public string desc { get; set; }
- /// <summary>
- /// 选择数
- /// </summary>
- public int? count { get; set; }
- /// <summary>
- /// 其他答案数量
- /// </summary>
- public int? other { get; set; }
- }
- public class QuestionResult
- {
- public double finish { get; set; }
- public double finishRate { get; set; }
- }
- public class Result {
- public double count { get; set; }
- public double rate { get; set; }
- }
- public class Classes {
- public string code { get; set; }
- public string id { get; set; }
- public string name { get; set; }
- public string scope { get; set; }
- public Result result { get; set; }
- public List<StudentInfo> students { get; set; }
- public List<AnswerRate> answers { get; set; }
- }
- public class AnswerRate {
- public string qid { get; set; }
- public double answerRate { get; set; }
- public List<CodeValue> option { get; set; }
- }
- public class StudentInfo {
- public string id { get; set; }
- public string name { get; set; }
- public long finishTime { get; set; }
- public List<AnswerInfo> answers { get; set; }
- public ResultInfo result { get; set; }
- }
- public class ResultInfo
- {
- public double answerRate { get; set; }
- }
- public class AnswerInfo {
- public string qid { get; set; }
- public string answer { get; set; }
- }
- }
|