private void WriteModelDefine(string _oldNameSpace, MD_Namespace _ns, DataSet _ds) { using (MetaDataServiceClient _mdc = new MetaDataServiceClient()) { DataRow[] _qvDefineRows = _ds.Tables["MD_VIEW"].Select(string.Format("NAMESPACE='{0}'", _oldNameSpace)); foreach (DataRow _dr in _qvDefineRows) { string _oldid = _dr["VIEWID"].ToString(); string _newid = GetNewID(_oldid, "MD_VIEW", "VIEWID", _mdc); this.IDTable.Add(_oldid, _newid); MD_QueryModel _qv = new MD_QueryModel( _newid, _ns.NameSpace, _dr.IsNull("VIEWNAME") ? "" : _dr["VIEWNAME"].ToString(), _dr.IsNull("DESCRIPTION") ? "" : _dr["DESCRIPTION"].ToString(), _dr.IsNull("DISPLAYNAME") ? "" : _dr["DISPLAYNAME"].ToString(), _ns.DWDM, _dr.IsNull("IS_GDCX") ? false : ((decimal)_dr["IS_GDCX"] > 0), _dr.IsNull("IS_GLCX") ? false : ((decimal)_dr["IS_GLCX"] > 0), _dr.IsNull("IS_SJSH") ? false : ((decimal)_dr["IS_SJSH"] > 0), _dr.IsNull("DISPLAYORDER") ? 0 : Convert.ToInt32(_dr["DISPLAYORDER"]), "ORA_JSIS" ); _qv.ChildTables = new List <MD_ViewTable>(); DataRow[] _childTableRows = _ds.Tables["MD_VIEWTABLE"].Select(string.Format("VIEWID='{0}'", _oldid)); foreach (DataRow _ctRow in _childTableRows) { string _oldVTid = _ctRow["VTID"].ToString(); string _newVTid = GetNewID(_oldVTid, "MD_VIEWTABLE", "VTID", _mdc); string _newTid = IDTable[_ctRow["TID"].ToString()]; this.IDTable.Add(_oldVTid, _newVTid); int _displayType = 0; if (_ds.Tables["MD_VIEWTABLE"].Columns.Contains("DISPLAYTYPE")) { _displayType = _ctRow.IsNull("DISPLAYTYPE") ? 0 : Convert.ToInt32(_ctRow["DISPLAYTYPE"]); } string _intApp = ""; if (_ds.Tables["MD_VIEWTABLE"].Columns.Contains("INTEGRATEDAPP")) { _intApp = _ctRow.IsNull("INTEGRATEDAPP") ? "" : _ctRow["INTEGRATEDAPP"].ToString(); } MD_ViewTable _vt = new MD_ViewTable( _newVTid, _newid, _newTid, _ctRow["TABLETYPE"].ToString(), _ctRow.IsNull("TABLERELATION") ? "" : _ctRow["TABLERELATION"].ToString(), _ctRow.IsNull("CANCONDITION") ? "" : _ctRow["CANCONDITION"].ToString(), _ctRow.IsNull("DISPLAYNAME") ? "" : _ctRow["DISPLAYNAME"].ToString(), _ctRow.IsNull("DISPLAYORDER") ? 0 : Convert.ToInt32(_ctRow["DISPLAYORDER"]), _ns.DWDM, _ctRow.IsNull("FATHERID") ? "" : _ctRow["FATHERID"].ToString(), 0, _displayType, _intApp ); _qv.ChildTables.Add(_vt); _vt.Columns = new List <MD_ViewTableColumn>(); DataRow[] _vtRows = _ds.Tables["MD_VIEWTABLECOLUMN"].Select(string.Format("VTID='{0}'", _oldVTid)); foreach (DataRow _vtRow in _vtRows) { string _oldVTCid = _vtRow["VTCID"].ToString(); string _newVTCid = GetNewID(_oldVTCid, "MD_VIEWTABLECOLUMN", "VTCID", _mdc); string _newTCid = IDTable[_vtRow["TCID"].ToString()]; MD_ViewTableColumn _vtc = new MD_ViewTableColumn( _newVTCid, _newVTid, _newTCid, _vtRow.IsNull("CANCONDITIONSHOW") ? false : ((decimal)_vtRow["CANCONDITIONSHOW"] > 0), _vtRow.IsNull("CANRESULTSHOW") ? false : ((decimal)_vtRow["CANRESULTSHOW"] > 0), _vtRow.IsNull("DEFAULTSHOW") ? false : ((decimal)_vtRow["DEFAULTSHOW"] > 0), _vtRow.IsNull("FIXQUERYITEM") ? false : ((decimal)_vtRow["FIXQUERYITEM"] > 0), _vtRow.IsNull("CANMODIFY") ? false : ((decimal)_vtRow["CANMODIFY"] > 0), _ns.DWDM, 0, 0 ); _vt.Columns.Add(_vtc); } } _mdc.ImportQueryModelDefine(_qv); } } }
private void WriteModelDefine_New(MD_Namespace _ns) { using (MetaDataServiceClient _mdc = new MetaDataServiceClient()) { foreach (MD_QueryModel _qv in _ns.QueryModelList) { this.label2.Text = string.Format("写入查询模型[{0}]的定义 ....", _qv.QueryModelName); Application.DoEvents(); _qv.NamespaceName = _ns.NameSpace; string _newid = GetNewID(_qv.QueryModelID, "MD_VIEW", "VIEWID", _mdc); try { IDTable.Add(_qv.QueryModelID, _newid); } catch (Exception e) { throw e; } _qv.QueryModelID = _newid; _qv.DWDM = _ns.DWDM; //处理主表 MD_ViewTable _mainTable = _qv.MainTable; string old_fid = ""; if (_mainTable != null) { old_fid = _mainTable.ViewTableID; try { ChangeTableID(_mainTable, _qv, _mdc); } catch (Exception e) { throw e; } } List <MD_ViewTable> _newTables = new List <MD_ViewTable>(); //处理子表 foreach (MD_ViewTable _vTable in _qv.ChildTables) { try { _vTable.FatherTableID = old_fid; ChangeTableID(_vTable, _qv, _mdc); _newTables.Add(_vTable); } catch (Exception e) { throw e; } } _newTables.Add(_qv.MainTable); _qv.ChildTables = _newTables; //处理关联表 if (_qv.View2ViewGroup != null) { foreach (MD_View2ViewGroup _group in _qv.View2ViewGroup) { ChangeView2ViewGroupID(_group, _qv, _mdc); } } //处理关联指标 if (_qv.View2GuideLines != null) { foreach (MD_View_GuideLine _v2g in _qv.View2GuideLines) { ChangeView2GuideLineID(_v2g, _qv, _mdc); } } //处理关联注册应用 if (_qv.View2Application != null) { foreach (MD_View2App _v2a in _qv.View2Application) { ChangeView2AppID(_v2a, _qv, _mdc); } } bool _ret = _mdc.ImportQueryModelDefine(_qv); if (!_ret) { MessageBox.Show("导入失败!", "系统提示"); } } } }