|
@@ -532,17 +532,20 @@ namespace TEAMModelOS.Controllers.Core
|
|
|
request.TryGetProperty("scope", out JsonElement scope);
|
|
|
request.TryGetProperty("periodId", out JsonElement periodId);
|
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
|
- var queryslt = $"SELECT value(c) FROM c join A1 in c.periodId WHERE c.type='{type}' and A1 in ('{periodId}')";
|
|
|
+
|
|
|
if (scope.GetString().Equals("school"))
|
|
|
{
|
|
|
- await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryIterator<Bloblog>(queryText: queryslt, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Bloblog-{name}") }))
|
|
|
+ var queryslt = new StringBuilder($"SELECT value(c) FROM c join A1 in c.periodId WHERE c.type='{type}' and A1 in ('{periodId}') ");
|
|
|
+
|
|
|
+ await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryIterator<Bloblog>(queryText: queryslt.ToString(), requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Bloblog-{name}") }))
|
|
|
{
|
|
|
bloblogs.Add(item);
|
|
|
}
|
|
|
}
|
|
|
- else if (scope.GetString().Equals("teacher"))
|
|
|
+ else if (scope.GetString().Equals("private"))
|
|
|
{
|
|
|
- await foreach (var item in client.GetContainer("TEAMModelOS", "Teacher").GetItemQueryIterator<Bloblog>(queryText: queryslt, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Bloblog-{name}") }))
|
|
|
+ var queryslt = new StringBuilder($"SELECT value(c) FROM c WHERE c.type='{type}' ");
|
|
|
+ await foreach (var item in client.GetContainer("TEAMModelOS", "Teacher").GetItemQueryIterator<Bloblog>(queryText: queryslt.ToString(), requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Bloblog-{name}") }))
|
|
|
{
|
|
|
bloblogs.Add(item);
|
|
|
}
|
|
@@ -614,21 +617,21 @@ namespace TEAMModelOS.Controllers.Core
|
|
|
{
|
|
|
item.time = now;
|
|
|
item.size = size != null && size.HasValue ? size.Value : 0;
|
|
|
- item.periodId = periodId.ValueKind.Equals(JsonValueKind.Array) ? periodId.ToObject<List<string>>() : new List<string> { "" };
|
|
|
- item.subjectId = subjectId.ValueKind.Equals(JsonValueKind.Array) ? subjectId.ToObject<List<string>>() : new List<string> { "" };
|
|
|
- item.gradeId = gradeId.ValueKind.Equals(JsonValueKind.Array) ? gradeId.ToObject<List<string>>() : new List<string> { "" };
|
|
|
+ item.periodId = periodId.ValueKind.Equals(JsonValueKind.Array) && periodId.ToObject<List<string>>().IsNotEmpty() ? periodId.ToObject<List<string>>() : new List<string> { "" };
|
|
|
+ item.subjectId = subjectId.ValueKind.Equals(JsonValueKind.Array) && subjectId.ToObject<List<string>>().IsNotEmpty() ? subjectId.ToObject<List<string>>() : new List<string> { "" };
|
|
|
+ item.gradeId = gradeId.ValueKind.Equals(JsonValueKind.Array) && gradeId.ToObject<List<string>>().IsNotEmpty() ? gradeId.ToObject<List<string>>() : new List<string> { "" };
|
|
|
await client.GetContainer("TEAMModelOS", "School").ReplaceItemAsync<Bloblog>(item, item.id, new Azure.Cosmos.PartitionKey(item.code));
|
|
|
exsit = true;
|
|
|
}
|
|
|
}
|
|
|
- else if (scope.GetString().Equals("teacher")) {
|
|
|
+ else if (scope.GetString().Equals("private")) {
|
|
|
await foreach (var item in client.GetContainer("TEAMModelOS", "Teacher").GetItemQueryIterator<Bloblog>(queryText: queryslt, requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Bloblog-{name}") }))
|
|
|
{
|
|
|
item.time = now;
|
|
|
item.size = size != null && size.HasValue ? size.Value : 0;
|
|
|
- item.periodId = periodId.ValueKind.Equals(JsonValueKind.Array) ? periodId.ToObject<List<string>>() : new List<string> { "" };
|
|
|
- item.subjectId = subjectId.ValueKind.Equals(JsonValueKind.Array) ? subjectId.ToObject<List<string>>() : new List<string> { "" };
|
|
|
- item.gradeId = gradeId.ValueKind.Equals(JsonValueKind.Array) ? gradeId.ToObject<List<string>>() : new List<string> { "" };
|
|
|
+ item.periodId = periodId.ValueKind.Equals(JsonValueKind.Array) && periodId.ToObject<List<string>>().IsNotEmpty() ? periodId.ToObject<List<string>>() : new List<string> { "" };
|
|
|
+ item.subjectId = subjectId.ValueKind.Equals(JsonValueKind.Array) && subjectId.ToObject<List<string>>().IsNotEmpty() ? subjectId.ToObject<List<string>>() : new List<string> { "" };
|
|
|
+ item.gradeId = gradeId.ValueKind.Equals(JsonValueKind.Array) && gradeId.ToObject<List<string>>().IsNotEmpty() ? gradeId.ToObject<List<string>>() : new List<string> { "" };
|
|
|
await client.GetContainer("TEAMModelOS", "Teacher").ReplaceItemAsync<Bloblog>(item, item.id, new Azure.Cosmos.PartitionKey(item.code));
|
|
|
exsit = true;
|
|
|
}
|
|
@@ -645,16 +648,16 @@ namespace TEAMModelOS.Controllers.Core
|
|
|
url = url,
|
|
|
time = now,
|
|
|
size = size != null && size.HasValue ? size.Value : 0,
|
|
|
- periodId = periodId.ValueKind.Equals(JsonValueKind.Array) ? periodId.ToObject<List<string>>() : new List<string> { "" } ,
|
|
|
- subjectId= subjectId.ValueKind.Equals(JsonValueKind.Array) ? subjectId.ToObject<List<string>>() : new List<string> { ""},
|
|
|
- gradeId = gradeId.ValueKind.Equals(JsonValueKind.Array) ? gradeId.ToObject<List<string>>() : new List<string> { "" },
|
|
|
+ periodId = periodId.ValueKind.Equals(JsonValueKind.Array) && periodId.ToObject<List<string>>().IsNotEmpty() ? periodId.ToObject<List<string>>() : new List<string> { "" } ,
|
|
|
+ subjectId= subjectId.ValueKind.Equals(JsonValueKind.Array)&& subjectId.ToObject<List<string>>() .IsNotEmpty()? subjectId.ToObject<List<string>>() : new List<string> { ""},
|
|
|
+ gradeId = gradeId.ValueKind.Equals(JsonValueKind.Array) && gradeId.ToObject<List<string>>().IsNotEmpty() ? gradeId.ToObject<List<string>>() : new List<string> { "" },
|
|
|
type = u
|
|
|
};
|
|
|
if (scope.GetString().Equals("school"))
|
|
|
{
|
|
|
await client.GetContainer("TEAMModelOS", "School").CreateItemAsync(blob, new Azure.Cosmos.PartitionKey(blob.code));
|
|
|
}
|
|
|
- else if (scope.GetString().Equals("teacher"))
|
|
|
+ else if (scope.GetString().Equals("private"))
|
|
|
{
|
|
|
await client.GetContainer("TEAMModelOS", "Teacher").CreateItemAsync(blob, new Azure.Cosmos.PartitionKey(blob.code));
|
|
|
}
|
|
@@ -666,7 +669,7 @@ namespace TEAMModelOS.Controllers.Core
|
|
|
{
|
|
|
await client.GetContainer("TEAMModelOS", "School").DeleteItemStreamAsync($"{id}", new Azure.Cosmos.PartitionKey($"Bloblog-{name}"));
|
|
|
}
|
|
|
- else if (scope.GetString().Equals("teacher"))
|
|
|
+ else if (scope.GetString().Equals("private"))
|
|
|
{
|
|
|
await client.GetContainer("TEAMModelOS", "Teacher").DeleteItemStreamAsync($"{id}", new Azure.Cosmos.PartitionKey($"Bloblog-{name}"));
|
|
|
}
|