1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using SAGA.GplotRelationComputerManage;
- using SAGA.MBI.RequestData;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace SAGA.GplotManage
- {
- public abstract class RelationUploader:IRelationUploader
- {
- public RelationUploader(string relationType,string relationDisplay)
- {
- RelationType = relationType;
- RelationDisplay = relationDisplay;
- }
- /*
- *可以将计算写在upload中,就像把计算卸载Show中
- */
- /// <summary>
- /// 图关系类型
- /// </summary>
- public string RelationType { get;private set; }
- /// <summary>
- /// 图关系显示名称
- /// </summary>
- public string RelationDisplay { get; private set; }
- /// <summary>
- /// 上传图关系
- /// </summary>
- public virtual void Upload()
- {
- var data = GetDefaultUploadData();
- Upload(data);
- }
- protected abstract object GetDefaultUploadData();
- /// <summary>
- /// 上传图关系
- /// </summary>
- /// <param name="loadData"></param>
- public virtual void Upload(object loadData)
- {
- var items = CreateGraph(loadData);
- UploadGraph(items);
- }
- /// <summary>
- /// 创建图关系集合
- /// </summary>
- /// <param name="loadData"></param>
- /// <returns></returns>
- protected abstract List<GraphRelationItem> CreateGraph(object loadData);
- public virtual void UploadGraph(List<GraphRelationItem> realtionItems)
- {
- string graphId = RelationRequest.GetCurrentGraphId(RelationType);
- if (graphId == null) return;
- if (realtionItems != null)
- {
- realtionItems.ForEach(r => r.GraphId = graphId);
- }
- #region 删除拓扑关系
- var deleteObject = new JObject();
- var deleteArray = new JArray();
- var deleteCondition = new JObject();
- deleteCondition.Add("graph_id", graphId);
- deleteArray.Add(deleteCondition);
- deleteObject.Add("criterias", deleteArray);
-
- RelationRequest.DeleteRelation(deleteObject);
- #endregion
- if (realtionItems!=null&&realtionItems.Any())
- {
- var jarry = JArray.FromObject(realtionItems);
- JObject jobject = new JObject();
- jobject.Add("criterias", jarry);
- var result=RelationRequest.AddRelation(jobject);
- }
- }
- }
- }
|