public Form1(IEdmFile7 file, IEdmVault7 vault) { File = file; Vault = vault; InitializeComponent(); TextBox(); GetConfiguration(); }
public IEnumerable <BomShell> GetBomShell(IEdmFile7 file, string bomConfiguration, IEdmVault7 vault) { try { var bomView = file.GetComputedBOM(22, file.CurrentVersion, bomConfiguration, (int)EdmBomFlag.EdmBf_ShowSelected); if (bomView == null) { throw new Exception("Computed BOM it can not be null"); } object[] bomRows; EdmBomColumn[] bomColumns; bomView.GetRows(out bomRows); bomView.GetColumns(out bomColumns); DataTable bomTable = new DataTable(); foreach (EdmBomColumn bomColumn in bomColumns) { bomTable.Columns.Add(new DataColumn { ColumnName = bomColumn.mbsCaption }); } for (var i = 0; i < bomRows.Length; i++) { var cell = (IEdmBomCell)bomRows.GetValue(i); bomTable.Rows.Add(); for (var j = 0; j < bomColumns.Length; j++) { EdmBomColumn column = (EdmBomColumn)bomColumns.GetValue(j); object value; object computedValue; string config; bool readOnly; cell.GetVar(column.mlVariableID, column.meType, out value, out computedValue, out config, out readOnly); if (value != null) { bomTable.Rows[i][j] = value; } else { bomTable.Rows[i][j] = null; } } } return(BomTableToBomList(bomTable)); } catch (COMException ex) { MessageBox.Show("Failed get bom shell " + (EdmResultErrorCodes_e)ex.ErrorCode + ". Укажите вид PDM или тип спецификации"); throw ex; } }
public IEnumerable <BomShell> GetBomShell(string filePath, string bomConfiguration) { try { IEdmFolder5 oFolder; IEdmFile7 EdmFile7 = (IEdmFile7)PdmExemplar.GetFileFromPath(filePath, out oFolder); var bomView = EdmFile7.GetComputedBOM(BoomId, -1, bomConfiguration, (int)EdmBomFlag.EdmBf_ShowSelected); if (bomView == null) { throw new Exception("Computed BOM it can not be null"); } object[] bomRows; EdmBomColumn[] bomColumns; bomView.GetRows(out bomRows); bomView.GetColumns(out bomColumns); DataTable bomTable = new DataTable(); foreach (EdmBomColumn bomColumn in bomColumns) { bomTable.Columns.Add(new DataColumn { ColumnName = bomColumn.mbsCaption }); } for (var i = 0; i < bomRows.Length; i++) { var cell = (IEdmBomCell)bomRows.GetValue(i); bomTable.Rows.Add(); for (var j = 0; j < bomColumns.Length; j++) { EdmBomColumn column = (EdmBomColumn)bomColumns.GetValue(j); object value; object computedValue; string config; bool readOnly; cell.GetVar(column.mlVariableID, column.meType, out value, out computedValue, out config, out readOnly); if (value != null) { bomTable.Rows[i][j] = value; } else { bomTable.Rows[i][j] = null; } } } return(BomTableToBomList(bomTable)); } catch (COMException ex) { MessageObserver.Instance.SetMessage("Failed get bom shell " + (EdmResultErrorCodes_e)ex.ErrorCode + ". Укажите вид PDM или тип спецификации"); throw ex; } }
public void SelectFiles_Click(System.Object sender, System.EventArgs e) { try { File1List.Items.Clear(); IEdmVault7 vault2 = null; if (vault1 == null) { vault1 = new EdmVault5(); } vault2 = (IEdmVault7)vault1; if (!vault1.IsLoggedIn) { vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32()); } //Set the initial directory in the Select File dialog OpenFileDialog1.InitialDirectory = vault1.RootFolderPath; //Show the Select File dialog System.Windows.Forms.DialogResult DialogResult; DialogResult = OpenFileDialog1.ShowDialog(); if (!(DialogResult == System.Windows.Forms.DialogResult.OK)) { // do nothing } else { IEdmFolder5 ppoRetParentFolder; foreach (string FileName in OpenFileDialog1.FileNames) { File1List.Items.Add(FileName); aFile = (IEdmFile7)vault1.GetFileFromPath(FileName, out ppoRetParentFolder); } } } catch (System.Runtime.InteropServices.COMException ex) { MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
void Getbom(int bomId, string filePath, string bomConfiguration, EdmBomFlag bomFlag, out Exception exception) { exception = null; try { IEdmFolder5 oFolder; CheckPdmVault(); EdmFile7 = (IEdmFile7) _edmVault5.GetFileFromPath(filePath, out oFolder); var bomView = EdmFile7.GetComputedBOM(Convert.ToInt32(bomId), Convert.ToInt32(-1), bomConfiguration, (int) bomFlag); if (bomView == null) return; Array bomRows; Array bomColumns; bomView.GetRows(out bomRows); bomView.GetColumns(out bomColumns); var bomTable = new DataTable(); foreach (EdmBomColumn bomColumn in bomColumns) { bomTable.Columns.Add(new DataColumn {ColumnName = bomColumn.mbsCaption}); } //bomTable.Columns.Add(new DataColumn { ColumnName = "Путь" }); bomTable.Columns.Add(new DataColumn {ColumnName = "Уровень"}); bomTable.Columns.Add(new DataColumn {ColumnName = "КонфГлавнойСборки"}); bomTable.Columns.Add(new DataColumn { ColumnName = "ТипОбъекта" }); bomTable.Columns.Add(new DataColumn { ColumnName = "GetPathName" }); for (var i = 0; i < bomRows.Length; i++) { var cell = (IEdmBomCell) bomRows.GetValue(i); bomTable.Rows.Add(); for (var j = 0; j < bomColumns.Length; j++) { var column = (EdmBomColumn) bomColumns.GetValue(j); object value; object computedValue; string config; bool readOnly; cell.GetVar(column.mlVariableID, column.meType, out value, out computedValue, out config, out readOnly); if (value != null) { bomTable.Rows[i][j] = value; } else { bomTable.Rows[i][j] = null; } bomTable.Rows[i][j + 1] = cell.GetTreeLevel(); bomTable.Rows[i][j + 2] = bomConfiguration; bomTable.Rows[i][j + 3] = config; bomTable.Rows[i][j + 4] = cell.GetPathName(); } } _bomList = BomTableToBomList(bomTable); exception = null; } catch (Exception ex) { exception = ex; } }
public DialogResult GetItemInfo(EdmCmdData file, IEdmVault7 vault, IEdmFile7 Part, string selected_config) { IEdmEnumeratorVariable5 var; object partnum_val; object desc_val = ""; object weight_val; object product_val; object class_val; object type_val; object planner_val; if (UpdateItemRef(file,Part, vault)) { try { var = Part.GetEnumeratorVariable(); decimal weight_fallback = 0; if (selected_config == "" || selected_config == null) selected_config = DetermineConfig(Part, vault, file, ""); if (selected_config != "") { var.GetVar("Number", selected_config, out partnum_val); if (partnum_val.ToString().Contains("201")) { DialogResult DR = MessageBox.Show("Part number identified as a frame. Do you want to use the Customer/Model instead of SolidWorks description custom property?", "Information", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (DR == DialogResult.Yes) { object cust_val; var.GetVar("Customer", selected_config, out cust_val); object model_val; var.GetVar("Model", selected_config, out model_val); desc_val = "FRAME " + cust_val.ToString() + " " + model_val.ToString(); } else var.GetVar("Description", selected_config, out desc_val); } else var.GetVar("Description", selected_config, out desc_val); var.GetVar("Brand", selected_config, out planner_val); var.GetVar("Product", selected_config, out product_val); var.GetVar("Class", selected_config, out class_val); var.GetVar("Type", selected_config, out type_val); //Weight is typically @ config var.GetVar("NetWeight", selected_config, out weight_val); if (weight_val == null) var.GetVar("NetWeight", selected_config, out weight_val); if (weight_val != null) decimal.TryParse(weight_val.ToString(), out weight_fallback); if (product_val == null) product_val = ""; if (class_val == null) class_val = ""; if (desc_val == null) desc_val = ""; if (partnum_val != null) { Epicor_Integration.Item_Master item = new Item_Master(partnum_val.ToString(), desc_val.ToString(), weight_fallback, product_val.ToString(), class_val.ToString(), type_val.ToString(), planner_val.ToString()); item.ShowDialog(); return item.DialogResult; } else { //Not necessary anymore //MessageBox.Show("Part number was a null value!\n\nEnsure that custom properties are completely filled out.", "Missing Properties!", MessageBoxButtons.OK, MessageBoxIcon.Hand); return DialogResult.Cancel; } } else return DialogResult.Cancel; } catch (Exception ex) { MessageBox.Show(ex.Message + "\nPlease check the datacard to ensure that all fields are filled in the file.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); return DialogResult.Cancel; } } else return DialogResult.Cancel; }
void Getbom(int bomId, string filePath, string bomConfiguration, EdmBomFlag bomFlag, out Exception exception) { exception = null; try { IEdmFolder5 oFolder; CheckPdmVault(); EdmFile7 = (IEdmFile7)_edmVault5.GetFileFromPath(filePath, out oFolder); var bomView = EdmFile7.GetComputedBOM(Convert.ToInt32(bomId), Convert.ToInt32(-1), bomConfiguration, (int)bomFlag); if (bomView == null) { return; } Array bomRows; Array bomColumns; bomView.GetRows(out bomRows); bomView.GetColumns(out bomColumns); var bomTable = new DataTable(); foreach (EdmBomColumn bomColumn in bomColumns) { bomTable.Columns.Add(new DataColumn { ColumnName = bomColumn.mbsCaption }); } //bomTable.Columns.Add(new DataColumn { ColumnName = "Путь" }); bomTable.Columns.Add(new DataColumn { ColumnName = "Уровень" }); bomTable.Columns.Add(new DataColumn { ColumnName = "КонфГлавнойСборки" }); bomTable.Columns.Add(new DataColumn { ColumnName = "ТипОбъекта" }); bomTable.Columns.Add(new DataColumn { ColumnName = "GetPathName" }); for (var i = 0; i < bomRows.Length; i++) { var cell = (IEdmBomCell)bomRows.GetValue(i); bomTable.Rows.Add(); for (var j = 0; j < bomColumns.Length; j++) { var column = (EdmBomColumn)bomColumns.GetValue(j); object value; object computedValue; string config; bool readOnly; cell.GetVar(column.mlVariableID, column.meType, out value, out computedValue, out config, out readOnly); if (value != null) { bomTable.Rows[i][j] = value; } else { bomTable.Rows[i][j] = null; } bomTable.Rows[i][j + 1] = cell.GetTreeLevel(); bomTable.Rows[i][j + 2] = bomConfiguration; bomTable.Rows[i][j + 3] = config; bomTable.Rows[i][j + 4] = cell.GetPathName(); } } _bomList = BomTableToBomList(bomTable); exception = null; } catch (Exception ex) { exception = ex; } }
public DialogResult GetItemInfobyPath(IEdmVault7 vault, IEdmFile7 Part, string Path) { IEdmEnumeratorVariable5 var; string selected_config; object partnum_val; object desc_val; object weight_val; object product_val; object class_val; object type_val; object planner_val; if (UpdateItemRef(Part, vault, Path)) { var = Part.GetEnumeratorVariable(); decimal weight_fallback = 0; selected_config = DetermineConfig(Part, vault, null); var.GetVar("Number", selected_config, out partnum_val); var.GetVar("Description", selected_config, out desc_val); var.GetVar("Product", selected_config, out product_val); var.GetVar("Class", selected_config, out class_val); var.GetVar("Type", selected_config, out type_val); var.GetVar("Planner", selected_config, out planner_val); //Weight is typically @ config var.GetVar("NetWeight", selected_config, out weight_val); if (weight_val == null) var.GetVar("NetWeight", selected_config, out weight_val); if (weight_val != null) decimal.TryParse(weight_val.ToString(), out weight_fallback); if (partnum_val != null) { Epicor_Integration.Item_Master item = new Item_Master(partnum_val.ToString(), desc_val.ToString(), weight_fallback, product_val.ToString(), class_val.ToString(), type_val.ToString(), planner_val.ToString()); item.ShowDialog(); return item.DialogResult; } else { //Not necessary anymore //MessageBox.Show("Part number was a null value!\n\nEnsure that custom properties are completely filled out.", "Missing Properties!", MessageBoxButtons.OK, MessageBoxIcon.Hand); return DialogResult.Cancel; } } else return DialogResult.Cancel; }
public IEnumerable <BomShell> GetBomShell(string filePath, string bomConfiguration) { try { IEdmFolder5 oFolder; IEdmFile7 EdmFile7 = (IEdmFile7)PdmExemplar.GetFileFromPath(filePath, out oFolder); var bomView = EdmFile7.GetComputedBOM(BOM_ID, -1, bomConfiguration, (int)EdmBomFlag.EdmBf_ShowSelected); if (bomView == null) { throw new Exception("Computed BOM it can not be null"); } Array bomRows; Array bomColumns; bomView.GetRows(out bomRows); bomView.GetColumns(out bomColumns); var bomTable = new DataTable(); foreach (EdmBomColumn bomColumn in bomColumns) { bomTable.Columns.Add(new DataColumn { ColumnName = bomColumn.mbsCaption }); } //bomTable.Columns.Add(new DataColumn { ColumnName = "Путь" }); bomTable.Columns.Add(new DataColumn { ColumnName = "Уровень" }); bomTable.Columns.Add(new DataColumn { ColumnName = "КонфГлавнойСборки" }); bomTable.Columns.Add(new DataColumn { ColumnName = "ТипОбъекта" }); bomTable.Columns.Add(new DataColumn { ColumnName = "GetPathName" }); for (var i = 0; i < bomRows.Length; i++) { var cell = (IEdmBomCell)bomRows.GetValue(i); bomTable.Rows.Add(); for (var j = 0; j < bomColumns.Length; j++) { var column = (EdmBomColumn)bomColumns.GetValue(j); object value; object computedValue; string config; bool readOnly; cell.GetVar(column.mlVariableID, column.meType, out value, out computedValue, out config, out readOnly); if (value != null) { bomTable.Rows[i][j] = value; } else { bomTable.Rows[i][j] = null; } bomTable.Rows[i][j + 1] = cell.GetTreeLevel(); bomTable.Rows[i][j + 2] = bomConfiguration; bomTable.Rows[i][j + 3] = config; bomTable.Rows[i][j + 4] = cell.GetPathName(); } } return(BomTableToBomList(bomTable)); } catch (System.Runtime.InteropServices.COMException ex) { MessageObserver.Instance.SetMessage("Failed get bom shell " + (EdmResultErrorCodes_e)ex.ErrorCode); return(null); } }