|
@@ -43,11 +43,11 @@ namespace TEAMModelOS.Controllers
|
|
|
/// <returns></returns>
|
|
|
[ProducesDefaultResponseType]
|
|
|
[HttpPost("upsert-tree")]
|
|
|
- public async Task<IActionResult> SaveOrUpdateAsTree(List<SyllabusTree> request)
|
|
|
+ public async Task<IActionResult> SaveOrUpdateAsTree(SyllabusTreeNode request)
|
|
|
{
|
|
|
- //List<SyllabusTree> treess = await SaveOrUpdateToTree(request);
|
|
|
+ var node = await SaveOrUpdateToTree(request);
|
|
|
////return builder.Data(treess).build();
|
|
|
- return Ok();
|
|
|
+ return Ok(node );
|
|
|
}
|
|
|
|
|
|
// TODO 代码优化
|
|
@@ -62,7 +62,7 @@ namespace TEAMModelOS.Controllers
|
|
|
public async Task<IActionResult> SaveOrUpdateAsNodes(List<Tnode> request)
|
|
|
{
|
|
|
return Ok();
|
|
|
- //List<Syllabus> syllabuses = await SaveOrUpdateToNodes(request);
|
|
|
+ // List<Syllabus> syllabuses = await SaveOrUpdateToNodes(request);
|
|
|
//if (syllabuses.IsNotEmpty()) return Ok(request);
|
|
|
//else return Ok(syllabuses);
|
|
|
}
|
|
@@ -132,19 +132,22 @@ namespace TEAMModelOS.Controllers
|
|
|
//return Ok(treess);
|
|
|
}
|
|
|
|
|
|
- private async Task<List<SyllabusTree>> SaveOrUpdateToTree(List<SyllabusTree> request)
|
|
|
+ private async Task<SyllabusTreeNode> SaveOrUpdateToTree(SyllabusTreeNode request)
|
|
|
{
|
|
|
List<Tnode> nodes = new List<Tnode>();
|
|
|
Syllabus syllabus = new Syllabus();
|
|
|
|
|
|
- TreeToList(request, nodes);
|
|
|
+ TreeToList(request.trees, nodes);
|
|
|
// List<SyllabusNode> nods = nodes.ToJson().FromJson<List<SyllabusNode>>() ;
|
|
|
syllabus.children = nodes;
|
|
|
- syllabus.id = request[0].code;
|
|
|
- syllabus.code = request[0].code;
|
|
|
+ syllabus.id = !string.IsNullOrEmpty(request.id) ? request.id : Guid.NewGuid().ToString() ;
|
|
|
+ syllabus.code = request.code;
|
|
|
+ syllabus.pk = "Syllabus";
|
|
|
+ syllabus.ttl = -1;
|
|
|
await _azureCosmos.GetCosmosClient().GetContainer("TEAMModelOS", "School").UpsertItemAsync<Syllabus>(syllabus,new Azure.Cosmos.PartitionKey(syllabus.code));
|
|
|
- List<SyllabusTree> treess = ListToTree(nodes);
|
|
|
- return treess;
|
|
|
+ List<SyllabusTree> trees = ListToTree(nodes);
|
|
|
+ request.trees = trees;
|
|
|
+ return request;
|
|
|
}
|
|
|
|
|
|
private async Task<List<Tnode>> FindByPid(Tnode data, List<Tnode> nodes, List<Tnode> nodedata)
|
|
@@ -214,5 +217,64 @@ namespace TEAMModelOS.Controllers
|
|
|
}
|
|
|
return trees;
|
|
|
}
|
|
|
+ //private async Task<List<Syllabus>> SaveOrUpdateToNodes(List<Tnode> syllabusNodes)
|
|
|
+ //{
|
|
|
+ // List<Syllabus> syllabuses;
|
|
|
+
|
|
|
+ // var data = await _azureCosmos.GetCosmosClient().GetContainer("TEAMModelOS", "School").ReadItemAsync<Syllabus>( syllabusNodes[0].code ,new Azure.Cosmos.PartitionKey(""));
|
|
|
+ // if (data.IsEmpty())
|
|
|
+ // {
|
|
|
+ // var syllabus = new Syllabus { id = syllabusNodes[0].code, code = syllabusNodes[0].code, children = new List<SyllabusNode>() };
|
|
|
+ // await _azureCosmos.SaveOrUpdate(syllabus);
|
|
|
+ // data = new List<Syllabus>() { syllabus };
|
|
|
+ // }
|
|
|
+ // List<SyllabusNode> syllabusNodes1 = new List<SyllabusNode>();
|
|
|
+ // if (data.IsNotEmpty())
|
|
|
+ // {
|
|
|
+ // syllabusNodes1.AddRange(data[0].children);
|
|
|
+ // //replace
|
|
|
+ // for (int i = 0; i < data[0].children.Count; i++)
|
|
|
+ // {
|
|
|
+ // for (int j = 0; j < syllabusNodes.Count; j++)
|
|
|
+ // {
|
|
|
+ // if (data[0].children[i].id == syllabusNodes[j].id && data[0].children[i].code == syllabusNodes[j].code)
|
|
|
+ // {
|
|
|
+ // syllabusNodes1.Remove(data[0].children[i]);
|
|
|
+ // syllabusNodes1.Add(syllabusNodes[j]);
|
|
|
+ // syllabusNodes.Remove(syllabusNodes[j]);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // data[0].children = syllabusNodes1;
|
|
|
+
|
|
|
+ // //新增
|
|
|
+ // data[0].children.AddRange(syllabusNodes);
|
|
|
+
|
|
|
+ // if (data[0].children.IsNotEmpty())
|
|
|
+ // {
|
|
|
+ // var len = data[0].children.Count;
|
|
|
+ // for (int i = 0; i < len; i++)
|
|
|
+ // {
|
|
|
+ // if (data[0].children[i].items.IsNotEmpty())
|
|
|
+ // {
|
|
|
+ // data[0].children[i].item = true;
|
|
|
+ // }
|
|
|
+ // if (data[0].children[i].resources.IsNotEmpty())
|
|
|
+ // {
|
|
|
+ // data[0].children[i].resource = true;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // syllabuses = await _azureCosmos.SaveOrUpdateAll<Syllabus>(data);
|
|
|
+
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // throw new BizException("保存失败", ResponseCode.FAILED);
|
|
|
+
|
|
|
+ // }
|
|
|
+
|
|
|
+ // return syllabuses;
|
|
|
+ //}
|
|
|
}
|
|
|
}
|