|
@@ -3587,16 +3587,16 @@ namespace TEAMModelOS.Controllers
|
|
|
//var redisClient = _azureRedis.GetRedisClient(8);
|
|
|
ExamInfo info = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<ExamInfo>(id.ToString(), new PartitionKey($"Exam-{code}"));
|
|
|
List<ExamClassResult> classResults = new();
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> attr = new List<SDK.Models.Cosmos.Common.Scoring>();
|
|
|
- await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
|
|
|
+ List<SDK.Models.Cosmos.Scoring> attr = new List<SDK.Models.Cosmos.Scoring>();
|
|
|
+ await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
|
|
|
queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}' and array_contains(c.tIds,'{tId}') ",
|
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
|
|
|
{
|
|
|
attr.Add(item);
|
|
|
}
|
|
|
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> attrSc = new List<SDK.Models.Cosmos.Common.Scoring>();
|
|
|
- await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
|
|
|
+ List<SDK.Models.Cosmos.Scoring> attrSc = new List<SDK.Models.Cosmos.Scoring>();
|
|
|
+ await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
|
|
|
queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}'",
|
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
|
|
|
{
|
|
@@ -3619,8 +3619,8 @@ namespace TEAMModelOS.Controllers
|
|
|
/*if (type.GetInt32() != 1) {
|
|
|
return Ok(new { attr, paper = info.papers[index].blob });
|
|
|
}*/
|
|
|
- //List<SDK.Models.Cosmos.Common.Scoring> errs = new();
|
|
|
- //List<SDK.Models.Cosmos.Common.Scoring> arbs = new();
|
|
|
+ //List<SDK.Models.Cosmos.Scoring> errs = new();
|
|
|
+ //List<SDK.Models.Cosmos.Scoring> arbs = new();
|
|
|
Correct correct = null;
|
|
|
var cResponse = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemStreamAsync(id.ToString(), new PartitionKey($"Correct-{code}"));
|
|
|
if (cResponse.StatusCode == System.Net.HttpStatusCode.OK)
|
|
@@ -3630,7 +3630,7 @@ namespace TEAMModelOS.Controllers
|
|
|
}
|
|
|
int finishCount = 0;
|
|
|
attrSc = [.. attrSc.OrderBy(c => c.stuId)];
|
|
|
- foreach (SDK.Models.Cosmos.Common.Scoring ss in attrSc)
|
|
|
+ foreach (SDK.Models.Cosmos.Scoring ss in attrSc)
|
|
|
{
|
|
|
for (int i = 0; i < correct.num; i++)
|
|
|
{
|
|
@@ -3660,7 +3660,7 @@ namespace TEAMModelOS.Controllers
|
|
|
if (attr.Count > 0)
|
|
|
{
|
|
|
attr = [.. attr.OrderBy(c => c.stuId)];
|
|
|
- foreach (SDK.Models.Cosmos.Common.Scoring ss in attr)
|
|
|
+ foreach (SDK.Models.Cosmos.Scoring ss in attr)
|
|
|
{
|
|
|
|
|
|
//var scc = ss.items.SelectMany(p => p.scores, (p, d) => new { p.ssc, d.sc, d.tmdId }).Where(x => x.tmdId.Equals(tId.GetString())).Select(m => new { m.sc ,m.ssc});
|
|
@@ -3738,8 +3738,8 @@ namespace TEAMModelOS.Controllers
|
|
|
ExamInfo info = json.ToObject<ExamInfo>();
|
|
|
//ExamInfo info = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<ExamInfo>(id.ToString(), new PartitionKey($"Exam-{code}"));
|
|
|
List<ExamClassResult> classResults = new();
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> attr = new List<SDK.Models.Cosmos.Common.Scoring>();
|
|
|
- await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
|
|
|
+ List<SDK.Models.Cosmos.Scoring> attr = new List<SDK.Models.Cosmos.Scoring>();
|
|
|
+ await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
|
|
|
queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}'",
|
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
|
|
|
{
|
|
@@ -3759,8 +3759,8 @@ namespace TEAMModelOS.Controllers
|
|
|
}
|
|
|
List<dynamic> objs = new List<dynamic>();
|
|
|
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> errs = new();
|
|
|
- foreach (SDK.Models.Cosmos.Common.Scoring ss in attr)
|
|
|
+ List<SDK.Models.Cosmos.Scoring> errs = new();
|
|
|
+ foreach (SDK.Models.Cosmos.Scoring ss in attr)
|
|
|
{
|
|
|
List<Qs> qs = ss.qs.Where(s => !string.IsNullOrEmpty(s.err)).ToList();
|
|
|
if (qs.Count > 0)
|
|
@@ -3807,8 +3807,8 @@ namespace TEAMModelOS.Controllers
|
|
|
}
|
|
|
ExamInfo info = await client.GetContainer(Constant.TEAMModelOS, "Common").ReadItemAsync<ExamInfo>(id.ToString(), new PartitionKey($"Exam-{code}"));
|
|
|
List<ExamClassResult> classResults = new();
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> attr = new List<SDK.Models.Cosmos.Common.Scoring>();
|
|
|
- await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
|
|
|
+ List<SDK.Models.Cosmos.Scoring> attr = new List<SDK.Models.Cosmos.Scoring>();
|
|
|
+ await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
|
|
|
queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}'",
|
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
|
|
|
{
|
|
@@ -3831,10 +3831,10 @@ namespace TEAMModelOS.Controllers
|
|
|
/*if (type.GetInt32() != 1) {
|
|
|
return Ok(new { attr, paper = info.papers[index].blob });
|
|
|
}*/
|
|
|
- //List<SDK.Models.Cosmos.Common.Scoring> errs = new();
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> arbs = new();
|
|
|
+ //List<SDK.Models.Cosmos.Scoring> errs = new();
|
|
|
+ List<SDK.Models.Cosmos.Scoring> arbs = new();
|
|
|
//List<(string id,List<double>)> osc = new List<(string id, List<double>)>();
|
|
|
- foreach (SDK.Models.Cosmos.Common.Scoring ss in attr)
|
|
|
+ foreach (SDK.Models.Cosmos.Scoring ss in attr)
|
|
|
{
|
|
|
//List<double> original = new List<double>();
|
|
|
List<Item> arb = ss.items.Where(s => s.flag == false).ToList();
|
|
@@ -3859,7 +3859,7 @@ namespace TEAMModelOS.Controllers
|
|
|
}
|
|
|
|
|
|
//批阅,给老师随机分配阅卷数据,以及查询改老师已有的阅卷数据
|
|
|
- private async Task<List<dynamic>> Review(List<SDK.Models.Cosmos.Common.Scoring> attr, string id, string code, string subjectId, int count, string tId, string stuId)
|
|
|
+ private async Task<List<dynamic>> Review(List<SDK.Models.Cosmos.Scoring> attr, string id, string code, string subjectId, int count, string tId, string stuId)
|
|
|
{
|
|
|
//ResponseBuilder builder = ResponseBuilder.custom();
|
|
|
//var (id, school) = HttpContext.GetAuthTokenInfo();
|
|
@@ -3868,16 +3868,16 @@ namespace TEAMModelOS.Controllers
|
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
|
//var redisClient = _azureRedis.GetRedisClient(8);
|
|
|
List<ExamClassResult> classResults = new();
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> recs = new();
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> all = new();
|
|
|
- //List<SDK.Models.Cosmos.Common.Scoring> attr = new();
|
|
|
- /*await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
|
|
|
+ List<SDK.Models.Cosmos.Scoring> recs = new();
|
|
|
+ List<SDK.Models.Cosmos.Scoring> all = new();
|
|
|
+ //List<SDK.Models.Cosmos.Scoring> attr = new();
|
|
|
+ /*await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
|
|
|
queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}' ",
|
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
|
|
|
{
|
|
|
attr.Add(item);
|
|
|
}*/
|
|
|
- foreach (SDK.Models.Cosmos.Common.Scoring scoring in attr)
|
|
|
+ foreach (SDK.Models.Cosmos.Scoring scoring in attr)
|
|
|
{
|
|
|
if (scoring.tIds.Contains(tId.ToString()))
|
|
|
{
|
|
@@ -3891,8 +3891,8 @@ namespace TEAMModelOS.Controllers
|
|
|
if (!string.IsNullOrEmpty(stuId))
|
|
|
{
|
|
|
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> value = new();
|
|
|
- await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
|
|
|
+ List<SDK.Models.Cosmos.Scoring> value = new();
|
|
|
+ await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
|
|
|
queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}' and c.stuId = '{stuId}' ",
|
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
|
|
|
{
|
|
@@ -3900,7 +3900,7 @@ namespace TEAMModelOS.Controllers
|
|
|
}
|
|
|
if (value.Count > 0)
|
|
|
{
|
|
|
- foreach (SDK.Models.Cosmos.Common.Scoring scoring in value)
|
|
|
+ foreach (SDK.Models.Cosmos.Scoring scoring in value)
|
|
|
{
|
|
|
if (scoring.tIds.Contains(tId.ToString()))
|
|
|
{
|
|
@@ -3914,8 +3914,8 @@ namespace TEAMModelOS.Controllers
|
|
|
}
|
|
|
}
|
|
|
List<dynamic> objs = new List<dynamic>();
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> val = new List<SDK.Models.Cosmos.Common.Scoring>();
|
|
|
- foreach (SDK.Models.Cosmos.Common.Scoring ss in value)
|
|
|
+ List<SDK.Models.Cosmos.Scoring> val = new List<SDK.Models.Cosmos.Scoring>();
|
|
|
+ foreach (SDK.Models.Cosmos.Scoring ss in value)
|
|
|
{
|
|
|
//var scc = ss.items.SelectMany(p => p.scores, (p, d) => new { p.ssc, d.sc, d.tmdId }).Where(x => x.tmdId.Equals(tId.GetString())).Select(m => new { m.sc, m.ssc });
|
|
|
List<dynamic> sc = new List<dynamic>();
|
|
@@ -3945,13 +3945,13 @@ namespace TEAMModelOS.Controllers
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> notYet = new();
|
|
|
+ List<SDK.Models.Cosmos.Scoring> notYet = new();
|
|
|
notYet = all.Where(x => x.tIds.Count < x.count * x.model - 1).ToList();
|
|
|
List<dynamic> objs = new List<dynamic>();
|
|
|
for (int i = 0; i < count; i++)
|
|
|
{
|
|
|
Random random = new Random();
|
|
|
- SDK.Models.Cosmos.Common.Scoring item = new();
|
|
|
+ SDK.Models.Cosmos.Scoring item = new();
|
|
|
if (notYet.Count > 0)
|
|
|
{
|
|
|
int index = random.Next(notYet.Count);
|
|
@@ -4004,8 +4004,8 @@ namespace TEAMModelOS.Controllers
|
|
|
}
|
|
|
//随机选取一名学生打分
|
|
|
Random random = new Random();
|
|
|
- SDK.Models.Cosmos.Common.Scoring item = new();
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> notYet = new();
|
|
|
+ SDK.Models.Cosmos.Scoring item = new();
|
|
|
+ List<SDK.Models.Cosmos.Scoring> notYet = new();
|
|
|
notYet = all.Where(x => x.tIds.Count < x.count * x.model - 1).ToList();
|
|
|
if (notYet.Count > 0)
|
|
|
{
|
|
@@ -4085,8 +4085,8 @@ namespace TEAMModelOS.Controllers
|
|
|
|
|
|
}
|
|
|
List<ExamClassResult> classResults = new();
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> attr = new();
|
|
|
- await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
|
|
|
+ List<SDK.Models.Cosmos.Scoring> attr = new();
|
|
|
+ await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
|
|
|
queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}' and c.stuId = '{sId}' and array_contains(c.tIds,'{tId}') ",
|
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
|
|
|
{
|
|
@@ -4098,7 +4098,7 @@ namespace TEAMModelOS.Controllers
|
|
|
|
|
|
if (attr.Count > 0)
|
|
|
{
|
|
|
- foreach (SDK.Models.Cosmos.Common.Scoring scoring in attr)
|
|
|
+ foreach (SDK.Models.Cosmos.Scoring scoring in attr)
|
|
|
{
|
|
|
int itemIndex = 0;
|
|
|
//int tIdIndex = scoring.tIds.IndexOf(tId.GetString());
|
|
@@ -4181,7 +4181,7 @@ namespace TEAMModelOS.Controllers
|
|
|
}
|
|
|
bool isFinish = false;
|
|
|
int scount = attr.Select(a => a.items[0].scores).ToList().Count;
|
|
|
- foreach (SDK.Models.Cosmos.Common.Scoring sc in attr)
|
|
|
+ foreach (SDK.Models.Cosmos.Scoring sc in attr)
|
|
|
{
|
|
|
foreach (var item in sc.items)
|
|
|
{
|
|
@@ -4208,7 +4208,7 @@ namespace TEAMModelOS.Controllers
|
|
|
{
|
|
|
foreach (ExamClassResult exam in classResults)
|
|
|
{
|
|
|
- foreach (SDK.Models.Cosmos.Common.Scoring scoring in attr)
|
|
|
+ foreach (SDK.Models.Cosmos.Scoring scoring in attr)
|
|
|
{
|
|
|
int index = exam.studentIds.IndexOf(scoring.stuId);
|
|
|
if (index != -1)
|
|
@@ -4321,8 +4321,8 @@ namespace TEAMModelOS.Controllers
|
|
|
if (!request.TryGetProperty("type", out JsonElement type)) return BadRequest();
|
|
|
if (!request.TryGetProperty("code", out JsonElement code)) return BadRequest();
|
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> attr = new();
|
|
|
- await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
|
|
|
+ List<SDK.Models.Cosmos.Scoring> attr = new();
|
|
|
+ await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
|
|
|
queryText: $"select value(c) from c where c.examId = '{id}' and c.subjectId = '{subjectId}' and c.stuId = '{sId}' and c.type = '{type}' and array_contains(c.tIds,'{tId}') ",
|
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
|
|
|
{
|
|
@@ -4356,7 +4356,7 @@ namespace TEAMModelOS.Controllers
|
|
|
|
|
|
}
|
|
|
|
|
|
- SDK.Models.Cosmos.Common.Scoring scoring = await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReadItemAsync<SDK.Models.Cosmos.Common.Scoring>(id.GetString(), new PartitionKey($"Scoring-{code}"));
|
|
|
+ SDK.Models.Cosmos.Scoring scoring = await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReadItemAsync<SDK.Models.Cosmos.Scoring>(id.GetString(), new PartitionKey($"Scoring-{code}"));
|
|
|
if (null != scoring)
|
|
|
{
|
|
|
Correct correct = null;
|
|
@@ -4416,7 +4416,7 @@ namespace TEAMModelOS.Controllers
|
|
|
if (!request.TryGetProperty("index", out JsonElement index)) return BadRequest();
|
|
|
//if (!request.TryGetProperty("tId", out JsonElement tId)) return BadRequest();
|
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
|
- SDK.Models.Cosmos.Common.Scoring scoring = await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReadItemAsync<SDK.Models.Cosmos.Common.Scoring>(id.GetString(), new PartitionKey($"Scoring-{code}"));
|
|
|
+ SDK.Models.Cosmos.Scoring scoring = await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReadItemAsync<SDK.Models.Cosmos.Scoring>(id.GetString(), new PartitionKey($"Scoring-{code}"));
|
|
|
if (null != scoring)
|
|
|
{
|
|
|
if (string.IsNullOrEmpty(scoring.qs[index.GetInt32()].improve))
|
|
@@ -4456,7 +4456,7 @@ namespace TEAMModelOS.Controllers
|
|
|
//List<double> scs = score.ToObject<List<double>>();
|
|
|
List<ExamClassResult> classResults = new();
|
|
|
int sin = indexScore.GetInt32();
|
|
|
- SDK.Models.Cosmos.Common.Scoring scoring = await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReadItemAsync<SDK.Models.Cosmos.Common.Scoring>(id.GetString(), new PartitionKey($"Scoring-{code}"));
|
|
|
+ SDK.Models.Cosmos.Scoring scoring = await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReadItemAsync<SDK.Models.Cosmos.Scoring>(id.GetString(), new PartitionKey($"Scoring-{code}"));
|
|
|
if (null != scoring)
|
|
|
{
|
|
|
scoring.scores[sin] = score.GetDouble();
|
|
@@ -4961,14 +4961,14 @@ namespace TEAMModelOS.Controllers
|
|
|
using var json = await JsonDocument.ParseAsync(response.Content);
|
|
|
ExamInfo info = json.ToObject<ExamInfo>();
|
|
|
List<ExamClassResult> classResults = new();
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> attr = new List<SDK.Models.Cosmos.Common.Scoring>();
|
|
|
- await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Common.Scoring>(
|
|
|
+ List<SDK.Models.Cosmos.Scoring> attr = new List<SDK.Models.Cosmos.Scoring>();
|
|
|
+ await foreach (var item in client.GetContainer(Constant.TEAMModelOS, "Teacher").GetItemQueryIteratorSql<SDK.Models.Cosmos.Scoring>(
|
|
|
queryText: $"select value(c) from c where c.examId = '{id}' ",
|
|
|
requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Scoring-{code}") }))
|
|
|
{
|
|
|
attr.Add(item);
|
|
|
}
|
|
|
- List<SDK.Models.Cosmos.Common.Scoring> errs = new();
|
|
|
+ List<SDK.Models.Cosmos.Scoring> errs = new();
|
|
|
List<(string subjectId, int count)> ps = new List<(string subjectId, int count)>();
|
|
|
List<(string subjectId, int count)> tps = new List<(string subjectId, int count)>();
|
|
|
List<(string subjectId, int count)> arbs = new List<(string subjectId, int count)>();
|
|
@@ -4981,7 +4981,7 @@ namespace TEAMModelOS.Controllers
|
|
|
int arbCount = 0;
|
|
|
int tarbCount = 0;
|
|
|
int csCount = 0;
|
|
|
- foreach (SDK.Models.Cosmos.Common.Scoring ss in attr)
|
|
|
+ foreach (SDK.Models.Cosmos.Scoring ss in attr)
|
|
|
{
|
|
|
if (subject.id.Equals(ss.subjectId))
|
|
|
{
|
|
@@ -5051,7 +5051,7 @@ namespace TEAMModelOS.Controllers
|
|
|
int fArbs = 0;
|
|
|
int sCount = 0;
|
|
|
int fCount = 0;
|
|
|
- foreach (SDK.Models.Cosmos.Common.Scoring ss in attr)
|
|
|
+ foreach (SDK.Models.Cosmos.Scoring ss in attr)
|
|
|
{
|
|
|
if (ss.subjectId.Equals(corSub.id))
|
|
|
{
|