camstar跨平台開發


  • 1.基礎數據類型

1.NameObject:名稱對象

2.RevsionedObject:帶版本的對象

3.Service:服務

4.SubEntity,SubEntityList:子實體  子實體集合

5.NamedSubEntityList :帶名稱的子實體集合

6.Query:查詢

  • 開發環境依賴
  1. Dotnet framework引用camstar安裝服務器上C:\Program Files (x86)\Camstar\InSite XML Client 目錄下的InSiteXMLClient.dll

 

 

  1. Dotnet Core引用我自己封裝的nutget包InSiteXmlClient4Core    https://github.com/307209239/InSiteXmlClient4Core

         

 

  •  dotnetFramework開發請參考官方文檔,下面只介紹dotnetcore下的調用camstar API的開發步驟

1.創建連接實例,鏈接到camstar服務器   var common = new CamstarCommon(“192.168.1.168”,2881,“admin”,“admin”);

2.創建服務   common.CreateService(“LotStart”);

3.創建服務輸入對象    var inputdata = common.InputData();

4. 賦值輸入對象(根據服務desinger建模數據)  例如:inputdata.DataField(“AutoPrepare”).SetValue(false);

5. 提交並返回結果 同步: return await common.ExecuteResult();  異步:return await common.ExecuteResultAsync();   返回值為元組,status:狀態true 成功,false 失敗,Message:信息

  •  開發實例 NemeObject

每一個NameObject都有對應的服務,服務名稱一般都是名稱+Maint(例如: LossReason,服務為LossReasonMaint )

//添加
var  common=new CamstarCommon("192.168.1.167",2881,"CamstarAdmin","camstarAdmin");
common.CreateService("LossReasonMaint");
common.Perform(CamstarCommon.PerformType.New);
var inputData = common.InputData();
var objectChanges = inputData.NamedObjectField("ObjectChanges");
objectChanges.DataField(“Name”).SetValue(“測試”);
return common.ExecuteResult();

//更新
var common = new CamstarCommon("192.168.1.167", 2881, "CamstarAdmin", "camstarAdmin");
common.CreateService("LossReasonMaint");
var inputData = common.InputData();
inputData.NamedObjectField("ObjectToChange").SetRef("測試");
common.Perform(CamstarCommon.PerformType.Change);
var inputData1 = common.InputData();
var objectChanges = inputData1.NamedObjectField("ObjectChanges");
objectChanges.DataField("Description").SetValue("更新");
return common.ExecuteResult();

//刪除
var common = new CamstarCommon("192.168.1.167", 2881, "CamstarAdmin", "camstarAdmin");
common.CreateService("LossReasonMaint");
var inputData = common.InputData();
inputData.NamedObjectField("ObjectToChange").SetRef("測試");
common.Perform(CamstarCommon.PerformType.Delete);
return common.ExecuteResult(); 
  • 開發實例RevsionedObject

每一個RevsionedObject都有對應的服務,服務名稱一般都是名稱+Maint(例如: ERPRoute,服務為ERPRouteMaint )

//添加
var  common=new CamstarCommon("192.168.1.167",2881,"CamstarAdmin","camstarAdmin");
common.CreateService("ERPRouteMaint");
common.Perform(CamstarCommon.PerformType.New);
var inputData = common.InputData();
var objectChanges = inputData.RevisionedObjectField("ObjectChanges");
objectChanges.DataField("Name").SetValue("測試");
objectChanges.DataField("Revision").SetValue("1");
objectChanges.DataField("IsRevofRcd").SetValue(true);//默認版本
return common.ExecuteResult();       

//更新
var common = new CamstarCommon("192.168.1.167", 2881, "CamstarAdmin", "camstarAdmin");
common.CreateService("ERPRouteMaint");
var inputData = common.InputData();
inputData.RevisionedObjectField("ObjectToChange").SetRef("測試", "1", false);
common.Perform(CamstarCommon.PerformType.Change);
var inputData1 = common.InputData();
var objectChanges = inputData1.RevisionedObjectField("ObjectChanges");
objectChanges.DataField("Description").SetValue("更新");
return common.ExecuteResult();

//添加新版本
var common = new CamstarCommon("192.168.1.167", 2881, "CamstarAdmin", "camstarAdmin");
common.CreateService("ERPRouteMaint");
var inputData = common.InputData();
inputData.RevisionedObjectField("ObjectToChange").SetRef("測試", "1", false);
common.Perform(CamstarCommon.PerformType.NewRev);
var inputData1 = common.InputData();
var objectChanges = inputData1.RevisionedObjectField("ObjectChanges");
objectChanges.DataField("Revision").SetValue("2");
objectChanges.DataField("IsRevofRcd").SetValue(true);//默認版本
return common.ExecuteResult();

//刪除指定版本
var common = new CamstarCommon("192.168.1.167", 2881, "CamstarAdmin", "camstarAdmin");
common.CreateService("LossReasonMaint");
var inputData = common.InputData();
inputData.NamedObjectField("ObjectToChange").SetRef("測試");
common.Perform(CamstarCommon.PerformType.Delete);
return common.ExecuteResult();       

//刪除所有版本
var common = new CamstarCommon("192.168.1.167", 2881, "CamstarAdmin", "camstarAdmin");
common.CreateService("ERPRouteMaint");
var inputData = common.InputData();
inputData.RevisionedObjectField("ObjectToChange").SetRef("測試", null, true);
common.Perform("DeleteAllRevisions");
return common.ExecuteResult();
  • 開發實例SubEntity
var entity=  objectChanges.Subentity(“Entrie”);//實例化
item.DataField(“Qty”).SetValue(2);//新項字段賦值
  • 開發實例SubEntityList
var list=  objectChanges.SubentityList(“Entries”);//實例化
var item=list.AppendItem();//添加新項
item.DataField(“__name”).SetValue(“測試”);//新項字段賦值
  • 開發實例NamedSubEntityList
var list=  objectChanges.NamedSubentityList(“Entries”);//實例化
var item=list.AppendItem();//添加新項
item.DataField(“Name”).SetValue(“測試”);//新項Name字段賦值(必須)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM