private void ADD_ROW(AFCoreEx.AFIDENTID self, string strRecordName, AFMsg.DataTableAddRow xAddStruct) { AFIObject go = AFCKernel.Instance.GetObject(self); AFIRecordManager xRecordManager = go.GetRecordManager(); Hashtable recordVecDesc = new Hashtable(); Hashtable recordVecData = new Hashtable(); AFCoreEx.AFCDataList RowList = new AFCDataList(); AFCoreEx.AFIDataList varListDesc = new AFCDataList(); for (int k = 0; k < xAddStruct.CellList.Count; ++k) { AFMsg.PBCellData addStruct = (AFMsg.PBCellData)xAddStruct.CellList[k]; if (addStruct.Col >= 0) { int nRow = -1; int nCol = -1; AFCoreEx.AFIDataList.Var_Data xRowData = PBRecordToData(addStruct, ref nRow, ref nCol); RowList.AddDataObject(ref xRowData); varListDesc.AddDataObject(ref xRowData); } } AFIRecord xRecord = xRecordManager.GetRecord(strRecordName); if (null == xRecord) { xRecord = xRecordManager.AddRecord(strRecordName, 512, varListDesc); } xRecord.AddRow(xAddStruct.Row, RowList); }
private void EGMI_ACK_OBJECT_RECORD_ENTRY(MsgHead head, MemoryStream stream) { AFMsg.MultiEntityDataTableList xMultiObjectRecordData = MultiEntityDataTableList.Parser.ParseFrom(stream); // new AFMsg.MultiObjectRecordList(); //ReceiveMsg(stream, ref xMultiObjectRecordData); for (int i = 0; i < xMultiObjectRecordData.MultiEntityDataTableList_.Count; i++) { AFMsg.EntityDataTableList xObjectRecordList = xMultiObjectRecordData.MultiEntityDataTableList_[i]; for (int j = 0; j < xObjectRecordList.DataTableList.Count; j++) { AFMsg.EntityDataTableBase xObjectRecordBase = xObjectRecordList.DataTableList[j]; for (int k = 0; k < xObjectRecordBase.Row.Count; ++k) { AFMsg.DataTableAddRow xAddRow = xObjectRecordBase.Row[i]; ADD_ROW(PBToAF(xObjectRecordList.EntityId), xObjectRecordBase.TableName, xAddRow); } } } }