Ejemplo n.º 1
0
 public Form1(IEdmFile7 file, IEdmVault7 vault)
 {
     File  = file;
     Vault = vault;
     InitializeComponent();
     TextBox();
     GetConfiguration();
 }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        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;
            }
        }
Ejemplo n.º 6
0
        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;
        }
Ejemplo n.º 7
0
            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;
                }
            }
Ejemplo n.º 8
0
        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;
        }
Ejemplo n.º 9
0
        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);
            }
        }