Esempio n. 1
0
        public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
        {
            try
            {
                poInfo.mbsAddInName           = nameof(PdmAddIn); //"PdmAddIn";
                poInfo.mbsDescription         = "Bare bones PDM add-in";
                poInfo.mbsCompany             = "ACME Corp";
                poInfo.mlAddInVersion         = 1;
                poInfo.mlRequiredVersionMajor = 15;
                poInfo.mlRequiredVersionMinor = 0;

                poCmdMgr.AddCmd(1, "AA Atach Files", (int)(
                                    EdmMenuFlags.EdmMenu_OnlyInContextMenu |
                                    EdmMenuFlags.EdmMenu_OnlyFiles |
                                    EdmMenuFlags.EdmMenu_OnlySingleSelection)); // Only supporting single selection for now.

                // Example of adding a hook
                poCmdMgr.AddHook(EdmCmdType.EdmCmd_PostAdd);
            }
            catch (Exception ex)
            {
#if Debug
                MessageBox.Show(ex.ToString());
#else
                MessageBox.Show(ex.Message);
#endif
            }
        }
Esempio n. 2
0
    public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
    {
        poInfo.mbsAddInName   = "C# Add-in";
        poInfo.mbsCompany     = "Artrans S.A";
        poInfo.mbsDescription = "Menu add-in that shows a message box.";
        poInfo.mlAddInVersion = 1;

        poInfo.mlRequiredVersionMajor = 6;
        poInfo.mlRequiredVersionMinor = 4;

        Vault = poVault;

        //Añado el hook para las validaciones en los cambios de estado.
        poCmdMgr.AddHook(EdmCmdType.EdmCmd_PreState);


        poCmdMgr.AddCmd(1, "C# Add-in", (int)EdmMenuFlags.EdmMenu_Nothing);
        //Register hooks

        /*
         * //Notify the add-in when a file has been added
         * poCmdMgr.AddHook(EdmCmdType.EdmCmd_PostAdd);
         *
         * //Notify the add-in when a file has been checked out
         * poCmdMgr.AddHook(EdmCmdType.EdmCmd_PostLock);
         *
         * //Notify the add-in when a file is about to be checked in
         * poCmdMgr.AddHook(EdmCmdType.EdmCmd_PreUnlock);
         *
         * //Notify the add-in when a file has been checked in
         * poCmdMgr.AddHook(EdmCmdType.EdmCmd_PostUnlock);
         */
    }
Esempio n. 3
0
        public void SaveCard_Click(System.Object sender, System.EventArgs e)
        {
            try
            {
                if (vault1 == null)
                {
                    vault1 = new EdmVault5();
                }

                if (!vault1.IsLoggedIn)
                {
                    vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32());
                }

                view.SaveData();
                SaveCard.Enabled = false;
            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 4
0
        public void Form1_Load(System.Object sender, System.EventArgs e)
        {
            try
            {
                vault1 = new EdmVault5();
                IEdmVault10   vault = (IEdmVault10)vault1;
                EdmViewInfo[] Views = null;

                vault.GetVaultViews(out Views, false);
                VaultsComboBox.Items.Clear();
                foreach (EdmViewInfo View in Views)
                {
                    VaultsComboBox.Items.Add(View.mbsVaultName);
                }
                if (VaultsComboBox.Items.Count > 0)
                {
                    VaultsComboBox.Text = (string)VaultsComboBox.Items[0];
                }
            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        static public List <Info> GetFilesToConvert(IEdmVault5 vault, ref EdmCmd poCmd, ref EdmCmdData[] ppoData)
        {
            var list = new List <Info>();

            foreach (var item in FilesPdm(vault, ref poCmd, ref ppoData))
            {
                var taskParam = new Info();
                taskParam.IdPDM = item.IdPDM;
                var extension = Path.GetExtension(item.FileName);
                switch (extension.ToUpper())
                {
                case ".SLDPRT":
                    taskParam.CurrentVersion = item.CurrentVersion;
                    taskParam.FileName       = item.FileName;
                    taskParam.FolderPath     = item.FolderPath;
                    taskParam.FolderID       = item.FolderID;
                    taskParam.FullFilePath   = item.FullFilePath;
                    taskParam.ConvertFile    = item.FileName.ToUpper().Replace(".SLDPRT", ".EPRT");
                    taskParam.TaskType       = 1;
                    list.Add(taskParam);
                    break;
                }
            }
            return(list);
        }
Esempio n. 6
0
        private static bool AddFile2Vault(IEdmVault5 vault, string filePath, out IEdmFile5 edmFile)
        {
            edmFile = null;
            try
            {
                IEdmFolder9 parentFolder = vault.GetFolderFromPath(Path.GetDirectoryName(filePath)) as IEdmFolder9;
                if (parentFolder == null)
                {
                    //文件夹也是新增的
                    string fileFolder = Path.GetDirectoryName(filePath).ToLower();
                    string vaultPath  = vault.RootFolderPath.ToLower();
                    fileFolder = fileFolder.Replace(vault.RootFolderPath.ToLower(), "");
                    string[] subFolders = fileFolder.Split('/', '\\');
                    if (!RecursivelyAddFolder(vault, vault.RootFolder, subFolders, out parentFolder))
                    {
                        return(false);
                    }
                }

                int addFileStatus;
                parentFolder.AddFile2(0, filePath, out addFileStatus, "", (int)EdmAddFlag.EdmAdd_Simple);
                IEdmFolder5 folder;
                return(GetFileFromPath(vault, filePath, out edmFile, out folder));
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Esempio n. 7
0
        public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
        {
            Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("MTcwMjQwQDMxMzcyZTMzMmUzMGhycFlDaldXNDVZeWxhdnFwckswQnRhMHVwclp2OWNrUEltNHczb21ENDQ9;MTcwMjQxQDMxMzcyZTMzMmUzMG4xOFQ1dnBDR1oxalUvazM5UmlTRkdUelJRcHkweURnVERXRXRabnpaZVE9");

            Vault  = (IEdmVault20)poVault;
            CmdMgr = poCmdMgr;
            Info   = poInfo;

            //Specify information to display in the add-in's Properties dialog box
            poInfo.mbsAddInName   = "PDM DWG Converter";
            poInfo.mbsCompany     = "FlowerRobot";
            poInfo.mbsDescription = "This will convert dwgs to dxf and pdf";
            poInfo.mlAddInVersion = 19;

            //Specify the minimum required version of SolidWorks PDM Professional
            poInfo.mlRequiredVersionMajor = 10;
            poInfo.mlRequiredVersionMinor = 1;

            //Register this add-in as a task add-in
            poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskRun);
            //Register this add-in to be called when selected as a task in the Administration tool
            poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskSetup);
            //Register this add-in to be called when the task is launched on the client computer
            poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskLaunch);
            //Register this add-in to provide extra details in the Details dialog box in the task list in the Administration tool
            poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskDetails);
            //Register this add-in to be called when the launch dialog box is closed
            poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskLaunchButton);
            //Register this add-in to be called when the set-up wizard is closed
            poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskSetupButton);
        }
Esempio n. 8
0
        public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
        {
            poInfo.mbsAddInName           = "Demo AddIn";
            poInfo.mlRequiredVersionMajor = 17; //SOLIDWORKS PDM 2017 SP0

            poCmdMgr.AddCmd(TEST_CMD_ID, "Test Menu Command");
        }
Esempio n. 9
0
        /// <summary>
        /// Pdm initializes an instance of this object by creating and producing auto-login.
        /// </summary>
        private void PDMInitialize()
        {
            try
            {
                if (edmVault5 == null)
                {
                    edmVault5 = new EdmVault5();
                    Logger.ToLog("Создан экземпляр Vents-PDM");
                }

                if (!edmVault5.IsLoggedIn)
                {
                    edmVault5.LoginAuto(vaultname, 0);
                    Logger.ToLog("Автологин в системе Vents-PDM системного пользователя " + vaultname);
                }
            }
            catch
            {
                Logger.ToLog("Невозможно создать экземпляр Vents-PDM - " + this.vaultname);
                throw new Exception("Невозможно создать экземпляр " + this.vaultname);
            }
            finally
            {
                Logger.ToLog("\n");
            }
        }
Esempio n. 10
0
        //more efficient than using TryUnlockFile for checking in multiple files.
        private static FileCheckInResult UnlockFiles(IEdmVault5 vault, string[] filePaths)
        {
            try
            {
                IEdmVault7      vault7        = vault as IEdmVault7;
                IEdmBatchUnlock batchUnlocker = (IEdmBatchUnlock)vault7.CreateUtility(EdmUtility.EdmUtil_BatchUnlock);

                EdmSelItem[] selItems = new EdmSelItem[filePaths.Length];
                for (int i = 0; i < filePaths.Length; ++i)
                {
                    IEdmFile5   edmFile;
                    IEdmFolder5 edmFolder;
                    if (!GetFileFromPath(vault, filePaths[i], out edmFile, out edmFolder))
                    {
                        return(FileCheckInResult.UNKNOWN_ERROR);
                    }

                    selItems[i].mlDocID  = edmFile.ID;
                    selItems[i].mlProjID = edmFolder.ID;
                }

                batchUnlocker.AddSelection(vault as EdmVault5, ref selItems); //这里必然有异常o(╥﹏╥)o
                batchUnlocker.CreateTree(0, (int)EdmUnlockBuildTreeFlags.Eubtf_MayUnlock);
                batchUnlocker.UnlockFiles(0);

                return(FileCheckInResult.OK);
            }
            catch (Exception ex)
            {
                return(FileCheckInResult.UNKNOWN_ERROR);
            }
        }
Esempio n. 11
0
        //Use IEdmBatchGet to check out several files, it is more efficient repeatedly calling LockFile.
        private static FileCheckOutResult LockFiles(IEdmVault5 vault, string[] filePaths, bool bLockReferenceFiles)
        {
            try
            {
                IEdmVault7   vault7      = vault as IEdmVault7;
                IEdmBatchGet batchGetter = vault7.CreateUtility(EdmUtility.EdmUtil_BatchGet);
                for (int i = 0; i < filePaths.Length; ++i)
                {
                    IEdmFile5   edmFile;
                    IEdmFolder5 edmFolder;
                    if (!GetFileFromPath(vault, filePaths[i], out edmFile, out edmFolder))
                    {
                        return(FileCheckOutResult.UNKNOWN_ERROR);
                    }

                    batchGetter.AddSelectionEx((EdmVault5)vault, edmFile.ID, edmFolder.ID, null);
                }

                int cmdFlag = bLockReferenceFiles ? (int)(EdmGetCmdFlags.Egcf_LockReferencedFilesToo | EdmGetCmdFlags.Egcf_Lock) : (int)EdmGetCmdFlags.Egcf_Lock;
                batchGetter.CreateTree(0, cmdFlag);
                batchGetter.GetFiles(0);

                return(FileCheckOutResult.OK);
            }
            catch (Exception ex)
            {
                return(FileCheckOutResult.UNKNOWN_ERROR);
            }
        }
Esempio n. 12
0
        /// <summary>
        /// 【11】获取组名
        /// </summary>
        /// <returns>共有2列,Name和Code</returns>
        public static DataTable GetGroup()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("Name");
            dt.Columns.Add("Code");
            IEdmUserMgr7   UsrMgr;
            IEdmUserGroup8 mngmtGroup;

            if (vault == null)
            {
                vault = new EdmVault5();
            }
            if (!vault.IsLoggedIn)
            {
                vault.LoginAuto(VaultName, new Control().Handle.ToInt32());
            }
            UsrMgr = (IEdmUserMgr7)vault;

            //Traverse groups
            //string Groups = "";
            IEdmPos5 UserGroupPos = default(IEdmPos5);

            UserGroupPos = UsrMgr.GetFirstUserGroupPosition();
            while (!UserGroupPos.IsNull)
            {
                mngmtGroup = (IEdmUserGroup8)UsrMgr.GetNextUserGroup(UserGroupPos);
                //Groups = Groups + mngmtGroup.Name + "\n";
                DataRow dr = dt.NewRow();
                dr["Name"] = mngmtGroup.Name;
                dr["Code"] = mngmtGroup.ID;
                dt.Rows.Add(dr);
            }
            return(dt);
        }
Esempio n. 13
0
        //Display the card of the selected file
        private void ShowCard(IEdmFolder5 folder, int fileID)
        {
            try
            {
                if (vault1 == null)
                {
                    vault1 = new EdmVault5();
                }

                if (!vault1.IsLoggedIn)
                {
                    vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32());
                }
                IEdmVault10 vault = (IEdmVault10)vault1;

                EdmCardViewParams @params = default(EdmCardViewParams);
                @params.mlFileID           = fileID;
                @params.mlFolderID         = folder.ID;
                @params.mlCardID           = 0;
                @params.mlX                = 40;
                @params.mlY                = 300;
                @params.mhParentWindow     = this.Handle.ToInt32();
                @params.mlEdmCardViewFlags = (int)EdmCardViewFlag.EdmCvf_Normal;

                //Create the card view interface
                view = vault.CreateCardViewEx2(@params, this);

                if (view == null)
                {
                    Interaction.MsgBox("The file does not have a card.");
                    return;
                }

                //Set input focus to the first control in the card
                view.SetFocus(0);

                //Enable all controls in the card
                view.Update(EdmCardViewUpdateType.EdmCvut_EnableCtrl);

                //Get the size needed to display the card
                int width  = 0;
                int height = 0;
                view.GetCardSize(out width, out height);

                //Resize the form window to make room for the card
                this.Width  = (width + 100);
                this.Height = (height + 400);
                view.ShowWindow(true);

                SaveCard.Enabled = false;
            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 14
0
        public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
        {
            poInfo.mbsAddInName           = "ButtonPdmAddIn";
            poInfo.mlAddInVersion         = 1;
            poInfo.mlRequiredVersionMajor = 16;

            poCmdMgr.AddHook(EdmCmdType.EdmCmd_CardButton);
        }
Esempio n. 15
0
        public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
        {
            poInfo.mbsAddInName           = "SW PDM Helper";
            poInfo.mbsDescription         = "Utility functions for SOLIDWORKS PDM";
            poInfo.mlAddInVersion         = 1;
            poInfo.mlRequiredVersionMajor = 17; //SOLIDWORKS PDM 2017 SP0

            poCmdMgr.AddCmd((int)Commands_e.GetIds, "Get ID");
        }
Esempio n. 16
0
        public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
        {
            // Version
            const int ver = 14;

            try
            {
                if (ThisIsTask)
                {
                    #region Task

                    poInfo.mbsAddInName   = $"Make .eprt files Task Add-In ver." + ver;
                    poInfo.mbsCompany     = "Vents";
                    poInfo.mbsDescription = "Создание и сохранение файлов .eprt для листовых деталей";
                    poInfo.mlAddInVersion = ver;
                    currentVer            = poInfo.mlAddInVersion;

                    //Minimum SolidWorks Enterprise PDM version
                    //needed for C# Task Add-Ins is 10.0
                    poInfo.mlRequiredVersionMajor = 10;
                    poInfo.mlRequiredVersionMinor = 0;

                    //Register this add-in as a task add-in
                    poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskRun);
                    //Register this add-in to be called when
                    //selected as a task in the Administration tool
                    poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskSetup);
                    poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskSetupButton);
                    poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskDetails);

                    #endregion
                }
                else
                {
                    #region Addin

                    // Addin version
                    poInfo.mbsAddInName           = "C# Task Add-In";
                    poInfo.mbsCompany             = "Vents";
                    poInfo.mbsDescription         = "PDF & EPRT";
                    poInfo.mlAddInVersion         = 1;
                    poInfo.mlRequiredVersionMajor = 6;
                    poInfo.mlRequiredVersionMinor = 4;
                    poCmdMgr.AddCmd(1, "Convert", (int)EdmMenuFlags.EdmMenu_Nothing, "", "", 0, 0);

                    #endregion
                }
            }
            catch (COMException ex)
            {
                Logger.Add("GetAddInInfo HRESULT = 0x" + ex.ErrorCode.ToString("X") + "; " + ex.Message);
            }
            catch (Exception ex)
            {
                Logger.Add(ex.Message + "; \n" + ex.StackTrace);
            }
        }
Esempio n. 17
0
 private void populateVaultNames()
 {
     vault = new EdmVault5();
     ((IEdmVault8)vault).GetVaultViews(out EdmViewInfo[] views, false);
     foreach (EdmViewInfo view in views)
     {
         vaultNames.Add(view.mbsVaultName);
     }
 }
Esempio n. 18
0
        public bool GetAsmIndoFromFile(IEdmVault5 poVault, string filePath, SldAsm asmPrd)
        {
            IEdmFolder5             opParentFolder;
            IEdmFile5               poFile  = poVault.GetFileFromPath(filePath, out opParentFolder);
            IEdmEnumeratorVariable5 enumVar = poFile.GetEnumeratorVariable();

            if (filePath == "")
            {
                return(false);
            }
            asmPrd.path = filePath;
            //
            object tmpVar;

            if (enumVar.GetVar("代号", "@", out tmpVar))
            {
                asmPrd.number = tmpVar.ToString();
                asmPrd.ztdm   = asmPrd.number.Substring(0, asmPrd.number.IndexOf("."));
                asmPrd.zjdm   = asmPrd.number.Substring(asmPrd.number.IndexOf(".") + 1);
            }
            if (enumVar.GetVar("名称", "@", out tmpVar))
            {
                asmPrd.name = tmpVar.ToString();
            }
            if (enumVar.GetVar("设计", "@", out tmpVar))
            {
                asmPrd.bzr = tmpVar.ToString();
            }
            if (enumVar.GetVar("设计日期", "@", out tmpVar))
            {
                asmPrd.bzsj = ((DateTime)tmpVar).ToString("%y/%m/%d");
            }
            if (enumVar.GetVar("批准", "@", out tmpVar))
            {
                asmPrd.pzr = tmpVar.ToString();
            }
            if (enumVar.GetVar("批准日期", "@", out tmpVar))
            {
                asmPrd.pzsj = ((DateTime)tmpVar).ToString("%y/%m/%d");
            }
            if (enumVar.GetVar("阶段标记", "@", out tmpVar))
            {
                asmPrd.jdbj = tmpVar.ToString();
            }

            if (enumVar.GetVar("设备型号", "@", out tmpVar))
            {
                asmPrd.sbxh = tmpVar.ToString();
            }
            if (enumVar.GetVar("Project Name", "@", out tmpVar))
            {
                asmPrd.projName = tmpVar.ToString();
            }
            return(true);
        }
Esempio n. 19
0
        static void Main(string[] args)
        {
            WiseUtil wiseUtil        = new WiseUtil();
            string   installLocation = wiseUtil.GetLocalMachineRegistryValue("SOFTWARE\\solidworks\\Applications\\PDMWorks Enterprise\\", "Location");

            System.Console.WriteLine(installLocation);
            if (installLocation == "")
            {
                installLocation = "C:\\";
            }
            string   excelTemplate = installLocation + "ExportTemplate\\template-list.xlsx";
            Workbook templateWb    = wiseUtil.OpenExcel(excelTemplate);

            SldWorks.SldWorks swApp;

            //IEdmVault5 vault = new EdmVault5();
            //vault.LoginAuto("科德研发部");
            swApp = new SldWorks.SldWorks();
            int longstatus   = 0;
            int longwarnings = 0;
            //E:\\wisevault0\\draw\\G20-A01P.SLDDRW
            //F:\\科德研发部\\01-机床整机产品\\01-铣车复合机\\KMC800 系列机型\\02-裸机图纸\\KMC800\\710.14 滑枕组件\\710.1401 滑枕组件装配图基础 A2.SLDDRW
            ModelDoc2          modelDoc = swApp.OpenDoc6("E:\\wisevault0\\draw\\G20-A01P.SLDDRW", (int)swDocumentTypes_e.swDocDRAWING, (int)swOpenDocOptions_e.swOpenDocOptions_ReadOnly, "", ref longstatus, ref longwarnings);
            BomTableAnnotation bomTableAnno;
            string             configName  = "";
            string             topFileName = "";

            wiseUtil.GetDrawingDocBOMTable(modelDoc, out bomTableAnno, out configName, out topFileName);

            //modelDoc.Close();
            IEdmVault5 poVault = null;
            SldAsm     asmPrd  = wiseUtil.GetAsmIndoFromFile(poVault, topFileName);// new SldAsm();

            if (asmPrd == null)
            {
                return(false);
            }
            //asmPrd.bzr = "hou";
            //asmPrd.bzsj = "2016/1/1";
            wiseUtil.ProcessTableAnn(poVault, bomTableAnno, configName, asmPrd);

            asmPrd.bzr  = "hou";
            asmPrd.bzsj = "2016/1/1";
            wiseUtil.ProcessTableAnn(bomTableAnno, configName, asmPrd);

            wiseUtil.SaveBuyToWorkbook(templateWb, asmPrd);
            wiseUtil.SaveStdToWorkbook(templateWb, asmPrd);
            wiseUtil.SavePrtToWorkbook(templateWb, asmPrd);
            templateWb.SaveAs("D:\\a.xlsx");
            templateWb.Close();
            swApp.ExitApp();

            swApp = null;
        }
Esempio n. 20
0
 public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
 {
     poInfo.mbsAddInName = "编码器v1";
     poInfo.mbsCompany   = "JES Company";
     //poInfo.mbsDescription = "产品和零部件编码生成器;服务器:" + Utility.SQLHelper.strConn.Substring(7, Utility.SQLHelper.strConn.IndexOf(";", 0) - 7);
     poInfo.mbsDescription         = "产品和零部件编码生成器";
     poInfo.mlAddInVersion         = 2;
     poInfo.mlRequiredVersionMajor = 5;
     poInfo.mlRequiredVersionMinor = 2;
     poCmdMgr.AddHook(EdmCmdType.EdmCmd_CardButton);
 }
Esempio n. 21
0
        private static bool GetReferencedFiles(IEdmVault5 vault, IEdmReference10 reference, string filePath, string projectName, ref List <string> refFiles)
        {
            try
            {
                bool bTop = false;
                if (reference == null)
                {
                    bTop = true;
                    SWFileType type = GetSWFileType(filePath);
                    if (type != SWFileType.UNKNOWN)
                    {
                        refFiles.Add(filePath);
                        IEdmFile5   edmFile;
                        IEdmFolder5 edmFolder = null;
                        if (!GetFileFromPath(vault, filePath, out edmFile, out edmFolder))
                        {
                            return(false);
                        }
                        reference = (IEdmReference10)edmFile.GetReferenceTree(edmFolder.ID);
                        if (type == SWFileType.ASSEMBLY)    //装配体递归
                        {
                            GetReferencedFiles(vault, reference, "", projectName, ref refFiles);
                        }
                    }
                }
                else
                {
                    IEdmPos5 pos = default(IEdmPos5);
                    pos = reference.GetFirstChildPosition3(projectName, bTop, true, (int)EdmRefFlags.EdmRef_File, "", 0);
                    while ((!pos.IsNull))
                    {
                        IEdmReference10 @ref = (IEdmReference10)reference.GetNextChild(pos);
                        SWFileType      type = GetSWFileType(@ref.FoundPath);
                        if (type != SWFileType.UNKNOWN)
                        {
                            if (!refFiles.Contains(@ref.FoundPath))
                            {
                                refFiles.Add(@ref.FoundPath);
                                if (type == SWFileType.ASSEMBLY)    //装配体递归
                                {
                                    GetReferencedFiles(vault, @ref, "", projectName, ref refFiles);
                                }
                            }
                        }
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Esempio n. 22
0
        private static FileCheckOutResult LockFile(IEdmVault5 vault, string user, string fileFullPath)
        {
            IEdmFile5   file;
            IEdmFolder5 parentFolder;

            if (!GetFileFromPath(vault, fileFullPath, out file, out parentFolder))
            {
                return(FileCheckOutResult.FILE_NOT_FOUND);
            }

            //已经检出
            if (file.IsLocked)
            {
                if (file.LockedByUser.Name.ToLower() == user.ToLower())
                {
                    return(FileCheckOutResult.OK);
                }
                else
                {
                    return(FileCheckOutResult.FILE_IS_LOCKED_BY_OTHER_USER);
                }
            }

            int?edmResultCode;

            if (TryLockFile(file, parentFolder, out edmResultCode))
            {
                return(FileCheckOutResult.OK);
            }
            else
            {
                FileCheckOutResult retCode = FileCheckOutResult.UNKNOWN_ERROR;
                switch (edmResultCode)
                {
                case (int)EdmResultErrorCodes_e.E_EDM_PERMISSION_DENIED:
                    retCode = ResultCodes.FileCheckOutResult.PERMISSION_DENIED;
                    break;

                case (int)EdmResultErrorCodes_e.E_EDM_OPERATION_REFUSED_BY_PLUGIN:
                    retCode = ResultCodes.FileCheckOutResult.OPERATION_REFUSED_BY_PLUGIN;
                    break;

                case (int)EdmResultErrorCodes_e.E_EDM_FILE_NOT_FOUND:
                    retCode = ResultCodes.FileCheckOutResult.FILE_NOT_FOUND;
                    break;

                default:
                    retCode = ResultCodes.FileCheckOutResult.UNKNOWN_ERROR;
                    break;
                }
                return(retCode);
            }
        }
Esempio n. 23
0
        public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
        {
            poInfo.mbsAddInName   = "AddinPdf";
            poInfo.mbsCompany     = "SOLIDWORKS Corporation";
            poInfo.mbsDescription = "Adds menu command items";
            poInfo.mlAddInVersion = 1;

            poInfo.mlRequiredVersionMajor = 10;
            poInfo.mlRequiredVersionMinor = 0;

            //poCmdMgr.AddCmd(100, "Выгрузить Pdf-file", (int)EdmMenuFlags.EdmMenu_OnlyMultipleSelection);
            poCmdMgr.AddCmd(100, "Выгрузить Pdf-file", (int)EdmMenuFlags.EdmMenu_OnlySingleSelection);
        }
Esempio n. 24
0
 private void GetCardList()
 {
     notBusy = false;
     try {
         vault = new EdmVault5();
         vault.LoginAuto(selectedVault, 0);
         if (vault.IsLoggedIn)
         {
             IEdmFile5        file         = vault.GetFileFromPath(selectedFile, out IEdmFolder5 folder);
             IEdmCard5        card         = folder.GetCard(Path.GetExtension(selectedFile).Substring(1));
             Object           variableName = selectedVariable;
             IEdmCardControl7 cardControl  = (IEdmCardControl7)card.GetControl(card.GetControlID(ref variableName));
             if (cardControl.GetControlVariableList(file.ID, out String[] cardListStrings))
Esempio n. 25
0
 void IEdmAddIn5.GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
 {
     try
     {
         SetAddInInfo(ref poInfo);
         poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskSetup);
         poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskRun);
     }
     catch (Exception ex)
     {
         HandleEx(ex, true);
     }
 }
Esempio n. 26
0
 private static void LogIn(ref int exitCode, ref IEdmVault5 vault, string vName)
 {
     if (vault == null)
     {
         exitCode = 10;
         return;
     }
     vault.LoginAuto(vName, 0);
     if (!vault.IsLoggedIn)
     {
         exitCode = 10;
         return;
     }
 }
Esempio n. 27
0
        public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
        {
            poInfo.mbsAddInName           = "Custom Addin";
            poInfo.mbsCompany             = "Hawk Ridge Systems";
            poInfo.mbsDescription         = "My custom addin";
            poInfo.mlAddInVersion         = 1;
            poInfo.mlRequiredVersionMajor = 18;
            poInfo.mlRequiredVersionMinor = 0;

            // create commands
            // create context menu commands
            poCmdMgr.AddCmd(100, "CustomAddin\\Action1");
            poCmdMgr.AddCmd(200, "CustomAddin\\Assy Only BOM");
        }
Esempio n. 28
0
        public SldBsp GetSldPrdInfoFromFile(IEdmVault5 poVault, string filePath)
        {
            SldBsp      bspPrt = null;
            IEdmFolder5 opParentFolder;
            //bspPrt = new SldBuy();
            IEdmFile5 poFile = poVault.GetFileFromPath(filePath, out opParentFolder);

            if (poFile == null)
            {
                bspPrt      = new SldPrt();
                bspPrt.type = 1;
                return(bspPrt);
            }
            IEdmEnumeratorVariable5 enumVar = poFile.GetEnumeratorVariable();

            if (enumVar == null)
            {
                return(null);
            }

            object tmpVar;
            string partType = "";

            if (enumVar.GetVar("Part Type", "@", out tmpVar))
            {
                partType = tmpVar.ToString();
            }
            if (partType == "自制件")
            {
                bspPrt      = new SldPrt();
                bspPrt.type = 1;
                SldPrt prt = (SldPrt)bspPrt;
                if (enumVar.GetVar("工艺路线", "@", out tmpVar))
                {
                    prt.route = tmpVar.ToString();
                }
            }
            else if (partType == "标准件")
            {
                bspPrt      = new SldStd();
                bspPrt.type = 2;
            }
            else
            {
                bspPrt      = new SldBuy();
                bspPrt.type = 3;
            }
            bspPrt.path = filePath;
            return(bspPrt);
        }
Esempio n. 29
0
        public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
        {
            poInfo.mbsAddInName   = "DownloadDxf";
            poInfo.mbsCompany     = "SOLIDWORKS Corporation";
            poInfo.mbsDescription = "Adds menu command items";
            poInfo.mlAddInVersion = 1;

            poInfo.mlRequiredVersionMajor = 10;
            poInfo.mlRequiredVersionMinor = 0;

            poCmdMgr.AddCmd(100, "Добавить Dxf-file", (int)EdmMenuFlags.EdmMenu_OnlyMultipleSelection);
            poCmdMgr.AddCmd(100, "Добавить Dxf-file", (int)EdmMenuFlags.EdmMenu_OnlySingleSelection);
            poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskRun);
            poCmdMgr.AddHook(EdmCmdType.EdmCmd_TaskSetup);
        }
Esempio n. 30
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);
            }
        }
Esempio n. 31
0
        void EdmLib.IEdmAddIn5.GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
        {
            //Fill in the AddIn's description
            poInfo.mbsAddInName = "Monitor";
            poInfo.mbsCompany = "SolidWorks";
            poInfo.mbsDescription = "Addin";
            poInfo.mlAddInVersion = 1;

            //Minimum Conisio version needed for .Net Add-Ins is 6.4
            poInfo.mlRequiredVersionMajor = 6;
            poInfo.mlRequiredVersionMinor = 4;

            poCmdMgr.AddCmd(1, "Test Menu from SWEPDMAddin2", (int)EdmMenuFlags.EdmMenu_Nothing, "", "", 0, 0);

            //uncomment this line to add all hooks
            AddAllHooks(poCmdMgr);
        }
Esempio n. 32
0
        void EdmLib.IEdmAddIn5.GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
        {
            //Fill in the AddIn's description
            poInfo.mbsAddInName = "Automatic File Removal";
            poInfo.mbsCompany = "Norco Industries";
            poInfo.mbsDescription = "Automatically removes files of the same name as targeted file with specified extension.  Written to remove released documents when revision is in process.";
            poInfo.mlAddInVersion = 1;

            //Minimum Conisio version needed for .Net Add-Ins is 6.4
            poInfo.mlRequiredVersionMajor = 6;
            poInfo.mlRequiredVersionMinor = 4;

            poCmdMgr.AddCmd(1, "Debug Menu\\Automatic File Removal Tool",(int)EdmMenuFlags.EdmMenu_Nothing, "", "", 0, 0);

            //uncomment this line to add all hooks
            AddAllHooks(poCmdMgr);
        }
Esempio n. 33
0
        private void Button10_Click(System.Object sender, System.EventArgs e)
        {
            //Remove user, Temp
            try
            {
                IEdmVault7 vault2 = null;
                if (vault1 == null)
                {
                    vault1 = new EdmVault5();
                }
                vault2 = (IEdmVault7)vault1;
                if (!vault1.IsLoggedIn)
                {
                    vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32());
                }

                IEdmUserMgr7 userMgr = default(IEdmUserMgr7);
                userMgr = (IEdmUserMgr7)vault2.CreateUtility(EdmUtility.EdmUtil_UserMgr);
                IEdmUser7 user = default(IEdmUser7);
                user = (IEdmUser7)userMgr.GetUser("Temp");
                if (user == null)
                    return;

                int[] users = new int[1];
                users[0] = user.ID;
                userMgr.RemoveUsers(users);

                MessageBox.Show("User, Temp, removed");

            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        //private const string VaultName = @"Vents-PDM";
        public void CheckPdmVault()
        {
            try
            {
                if (Vault1 == null)
                {
                    Vault1 = new EdmVault5();
                }

                Vault2 = (IEdmVault7)Vault1;

                var ok = Vault1.IsLoggedIn;

                if (!ok)
                {
                    Vault1.LoginAuto(VaultName, 0);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "; " + ex.StackTrace);
            }
        }
Esempio n. 35
0
        private void Button3_Click(System.Object sender, System.EventArgs e)
        {
            //Delete folder
            try
            {
                IEdmVault7 vault2 = null;
                if (vault1 == null)
                {
                    vault1 = new EdmVault5();
                }
                vault2 = (IEdmVault7)vault1;
                if (!vault1.IsLoggedIn)
                {
                    vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32());
                }

                IEdmFolder5 folder = default(IEdmFolder5);
                folder = vault2.BrowseForFolder(this.Handle.ToInt32(), "Select folder to delete:");
                if (folder == null)
                    return;

                IEdmFolder5 parentFolder = default(IEdmFolder5);
                parentFolder = folder.ParentFolder;

                if (parentFolder == null)
                {
                    Interaction.MsgBox("You cannot delete the vault root folder");
                    return;
                }

                parentFolder.DeleteFolder(this.Handle.ToInt32(), folder.ID);

                MessageBox.Show(folder.Name + " deleted");

            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 36
0
        private void Button1_Click(System.Object sender, System.EventArgs e)
        {
            //Copy file
            try
            {
                IEdmVault7 vault2 = null;
                if (vault1 == null)
                {
                    vault1 = new EdmVault5();
                }
                vault2 = (IEdmVault7)vault1;
                if (!vault1.IsLoggedIn)
                {
                    vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32());
                }

                EdmStrLst5 pathList = default(EdmStrLst5);
                pathList = vault2.BrowseForFile(this.Handle.ToInt32(), (int)EdmBrowseFlag.EdmBws_ForOpen + (int)EdmBrowseFlag.EdmBws_PermitVaultFiles);
                if (pathList == null)
                    return;

                IEdmFile5 file = default(IEdmFile5);
                IEdmFolder5 srcFolder = null;
                file = vault2.GetFileFromPath(pathList.GetNext(pathList.GetHeadPosition()), out srcFolder);

                IEdmFolder5 destFolder = default(IEdmFolder5);
                destFolder = vault2.BrowseForFolder(this.Handle.ToInt32(), "Select destination folder:");
                if (destFolder == null)
                    return;

                int fileID = 0;
                fileID = destFolder.CopyFile(file.ID, srcFolder.ID, this.Handle.ToInt32(), "", (int)EdmCopyFlag.EdmCpy_Simple);
                Interaction.MsgBox("Copied file successfully to new file with ID, " + fileID);

            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 37
0
        private void Button2_Click(System.Object sender, System.EventArgs e)
        {
            //Delete file
            try
            {
                IEdmVault7 vault2 = null;
                if (vault1 == null)
                {
                    vault1 = new EdmVault5();
                }
                vault2 = (IEdmVault7)vault1;
                if (!vault1.IsLoggedIn)
                {
                    vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32());
                }

                EdmStrLst5 pathList = default(EdmStrLst5);
                pathList = vault2.BrowseForFile(this.Handle.ToInt32(), (int)EdmBrowseFlag.EdmBws_ForOpen + (int)EdmBrowseFlag.EdmBws_PermitVaultFiles + (int)EdmBrowseFlag.EdmBws_PermitMultipleSel, "", "", "", "", "Select Files to Delete");
                if (pathList == null)
                    return;

                IEdmPos5 pos = default(IEdmPos5);
                pos = pathList.GetHeadPosition();
                while (!pos.IsNull)
                {
                    IEdmFile5 file = default(IEdmFile5);
                    IEdmFolder5 folder = null;
                    file = vault2.GetFileFromPath(pathList.GetNext(pos), out folder);
                    folder.DeleteFile(this.Handle.ToInt32(), file.ID);
                }

                string strCount = null;
                strCount = pathList.Count.ToString();
                MessageBox.Show("Deleted " + strCount + " file");

            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 38
0
        private void Button4_Click(System.Object sender, System.EventArgs e)
        {
            //Get user's check-out permission for a file
            try
            {
                IEdmVault7 vault2 = null;
                if (vault1 == null)
                {
                    vault1 = new EdmVault5();
                }
                vault2 = (IEdmVault7)vault1;
                if (!vault1.IsLoggedIn)
                {
                    vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32());
                }

                EdmStrLst5 pathList = default(EdmStrLst5);
                pathList = vault2.BrowseForFile(this.Handle.ToInt32(), (int)EdmBrowseFlag.EdmBws_ForOpen + (int)EdmBrowseFlag.EdmBws_PermitVaultFiles);
                if (pathList == null)
                    return;

                IEdmFile5 file = default(IEdmFile5);
                IEdmFolder5 srcFolder = null;
                file = vault2.GetFileFromPath(pathList.GetNext(pathList.GetHeadPosition()), out srcFolder);

                if (srcFolder.HasRightsEx((int)EdmRightFlags.EdmRight_Lock, file.ID))
                {
                    Interaction.MsgBox("User can check out this file");
                }
                else
                {
                    Interaction.MsgBox("User does not have check-out permission");
                }

            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 39
0
        private void Button5_Click(System.Object sender, System.EventArgs e)
        {
            //Verify SOLIDWORKS Enterprise PDM version is 5.3 or higher
            try
            {
                IEdmVault7 vault2 = null;
                if (vault1 == null)
                {
                    vault1 = new EdmVault5();
                }
                vault2 = (IEdmVault7)vault1;
                if (!vault1.IsLoggedIn)
                {
                    vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32());
                }

                vault2.VerifyVersion(5, 3);

                MessageBox.Show("SOLIDWORKS Enterprise PDM version is at least 5.3");

            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 40
0
        private void Button6_Click(System.Object sender, System.EventArgs e)
        {
            //Get licenses
            try
            {
                IEdmVault11 vault2 = null;
                if (vault1 == null)
                {
                    vault1 = new EdmVault5();
                }
                vault2 = (IEdmVault11)vault1;
                if (!vault1.IsLoggedIn)
                {
                    vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32());
                }

                string msg = null;
                msg = "Installed licenses:" + Constants.vbLf;
                EdmLicense[] lics = null;
                lics = null;
                vault2.GetLicense(out lics);
                int idx = 0;
                idx = Information.LBound(lics);
                while ((idx <= Information.UBound(lics)))
                {
                    msg = msg + "Type=";
                    switch (lics[idx].meType)
                    {
                        case EdmLicenseType.EdmLic_Editor:
                            msg = msg + "Editor";
                            break;
                        case EdmLicenseType.EdmLic_Contributor:
                            msg = msg + "Contributor";
                            break;
                        case EdmLicenseType.EdmLic_Viewer:
                            msg = msg + "Viewer";
                            break;
                        case EdmLicenseType.EdmLic_Processor:
                            msg = msg + "Processor";
                            break;
                        default:
                            msg = msg + Convert.ToString(lics[idx].meType);
                            break;
                    }

                    msg = msg + " Users=" + Convert.ToString(lics[idx].mlUserCount) + Constants.vbLf;
                    idx = idx + 1;
                }

                vault2.MsgBox(this.Handle.ToInt32(), msg);

            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 41
0
        private void Button7_Click(System.Object sender, System.EventArgs e)
        {
            //Add group, My Group
            try
            {
                IEdmVault11 vault2 = null;
                if (vault1 == null)
                {
                    vault1 = new EdmVault5();
                }
                vault2 = (IEdmVault11)vault1;
                if (!vault1.IsLoggedIn)
                {
                    vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32());
                }

                IEdmUserMgr7 userMgr = default(IEdmUserMgr7);
                userMgr = (IEdmUserMgr7)vault2.CreateUtility(EdmUtility.EdmUtil_UserMgr);

                IEdmUser7 admin = default(IEdmUser7);
                admin = (IEdmUser7)userMgr.GetUser("Admin");

                EdmGroupData2[] groups = new EdmGroupData2[1];
                groups[0].mbAutoAdd = 0;
                groups[0].mbsDescription = "A group created by the API";
                groups[0].mbsName = "My Group";
                groups[0].mlFlags = (int)EdmGroupDataFlags.Edmgdf_GetInterface;
                int[] members = new int[1];
                members[0] = admin.ID;
                groups[0].moMembers = members;
                EdmSysPerm[] perms = new EdmSysPerm[1];
                perms[0] = EdmSysPerm.EdmSysPerm_ModifyToolbox;
                groups[0].moSysPerms = perms;

                userMgr.AddGroups2(ref groups);

                string msg = null;
                msg = "";
                int idx = 0;
                idx = Information.LBound(groups);
                while ((idx <= Information.UBound(groups)))
                {
                    if (groups[idx].mhStatus != 0)
                    {
                        msg = msg + "Error creating group, '" + groups[idx].mbsName + "' - " + vault2.GetErrorMessage(groups[idx].mhStatus) + Constants.vbLf;
                    }
                    else
                    {
                        msg = msg + "Created group, '" + groups[idx].mbsName + "', successfully with ID, " + groups[idx].mlGroupID.ToString() + Constants.vbLf;
                    }
                    idx = idx + 1;
                }

                vault2.MsgBox(this.Handle.ToInt32(), msg);

            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 42
0
        private void Button9_Click(System.Object sender, System.EventArgs e)
        {
            //Add user, Temp
            try
            {
                IEdmVault11 vault2 = null;
                if (vault1 == null)
                {
                    vault1 = new EdmVault5();
                }
                vault2 = (IEdmVault11)vault1;
                if (!vault1.IsLoggedIn)
                {
                    vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32());
                }

                IEdmUserMgr7 UsrMgr = (IEdmUserMgr7)vault2;
                EdmUserData2[] UserData = new EdmUserData2[1];

                UserData[0].mbsCompleteName = "Temp";
                UserData[0].mbsEmail = "Temp";
                UserData[0].mbsInitials = "TJ";
                UserData[0].mbsUserName = "******";
                UserData[0].mlFlags = (int)EdmUserDataFlags.Edmudf_GetInterface;
                UserData[0].mlFlags += (int)EdmUserDataFlags.Edmudf_ForceAdd;

                EdmSysPerm[] perms = new EdmSysPerm[3];
                perms[0] = EdmSysPerm.EdmSysPerm_EditUserMgr;
                perms[1] = EdmSysPerm.EdmSysPerm_EditReportQuery;
                perms[2] = EdmSysPerm.EdmSysPerm_MandatoryVersionComments;
                UserData[0].moSysPerms = perms;

                UsrMgr.AddUsers2(UserData);

                string msg = "";
                foreach (EdmUserData2 usr in UserData)
                {
                    if (usr.mhStatus == 0)
                    {
                        msg += "Created user, \"" + usr.mbsUserName + "\", successfully with ID, " + usr.mlUserID.ToString() + Constants.vbCrLf;
                    }
                    else
                    {
                        msg += "Error creating user, \"" + usr.mbsUserName + "\" - " + vault2.GetErrorMessage(usr.mhStatus) + Constants.vbCrLf;
                    }
                }
                MessageBox.Show(msg);

            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 43
0
        void IEdmAddIn5.GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
        {
            string MenuName;

            bool test = false;

            //test = true;

            if (!test)
            {
                poInfo.mbsAddInName = "EpicorIntegration";

                MenuName = "Epicor Integration";
            }
            else
            {
                poInfo.mbsAddInName = "Epicor-Integration";

                MenuName = "Debug";
            }

            poInfo.mbsCompany = "Norco Industries";
            poInfo.mbsDescription = "Epicor Integration Enterprise PDM Add-in";
            poInfo.mlAddInVersion = (int)2015032600;//(int)AssemblyVersion;

            //Minimum Conisio version needed for .Net Add-Ins is 6.4
            poInfo.mlRequiredVersionMajor = 6;
            poInfo.mlRequiredVersionMinor = 4;

            poCmdMgr.AddCmd(1, MenuName + "\\Part Master", (int)EdmMenuFlags.EdmMenu_OnlyFiles + (int)EdmMenuFlags.EdmMenu_MustHaveSelection + (int)EdmMenuFlags.EdmMenu_OnlySingleSelection, "", "Launches a dialog to create/update Item in Epicor", 0, 0); ;

            poCmdMgr.AddCmd(4, MenuName + "\\Add Revision", (int)EdmMenuFlags.EdmMenu_OnlyFiles + (int)EdmMenuFlags.EdmMenu_MustHaveSelection + (int)EdmMenuFlags.EdmMenu_OnlySingleSelection, "", "Launches a dialog to add revision to Item in Epicor", 0, 0);

            poCmdMgr.AddCmd(5, MenuName + "\\Operation Master", (int)EdmMenuFlags.EdmMenu_OnlyFiles + (int)EdmMenuFlags.EdmMenu_MustHaveSelection + (int)EdmMenuFlags.EdmMenu_OnlySingleSelection, "", "Launches a dialog to create/update OOM in Epicor", 0, 0);

            poCmdMgr.AddCmd(6, MenuName + "\\Bill Master", (int)EdmMenuFlags.EdmMenu_OnlyFiles + (int)EdmMenuFlags.EdmMenu_MustHaveSelection + (int)EdmMenuFlags.EdmMenu_OnlySingleSelection, "", "Launches a dialog to create/update BOM in Epicor", 0, 0);

            poCmdMgr.AddCmd(7, MenuName + "\\Check In/Approve Item", (int)EdmMenuFlags.EdmMenu_OnlyFiles + (int)EdmMenuFlags.EdmMenu_MustHaveSelection + (int)EdmMenuFlags.EdmMenu_OnlySingleSelection, "", "Launches a dialog to Approve and Check In Item to Epicor", 0, 0);

            poCmdMgr.AddCmd(-2, MenuName + "\\Calculate Assembly Minutes", (int)EdmMenuFlags.EdmMenu_OnlyFiles + (int)EdmMenuFlags.EdmMenu_MustHaveSelection + (int)EdmMenuFlags.EdmMenu_OnlySingleSelection, "", "Launches a dialog to Approve and Check In Item to Epicor", 0, 0);

            poCmdMgr.AddCmd(3, MenuName + "\\Check Out Item", (int)EdmMenuFlags.EdmMenu_OnlyFiles + (int)EdmMenuFlags.EdmMenu_MustHaveSelection + (int)EdmMenuFlags.EdmMenu_OnlySingleSelection, "", "Checks out Item in Epicor (Not Enterprise PDM)", 0, 0);

            poCmdMgr.AddCmd(0, MenuName + "\\RevCompare", (int)EdmMenuFlags.EdmMenu_Nothing + (int)EdmMenuFlags.EdmMenu_OnlySingleSelection, "", "Launches a dialog to compare previous revisions to the current SolidWorks bill", 0, 0);

            poCmdMgr.AddCmd(-1, MenuName + "\\Add-in Configuration", (int)EdmMenuFlags.EdmMenu_Nothing, "", "Launches a dialog to configure Epicor Integration Add-in", 0, 0);

            poCmdMgr.AddCmd(-10, MenuName + "\\Update Properties from Epicor", (int)EdmMenuFlags.EdmMenu_OnlyFiles + (int)EdmMenuFlags.EdmMenu_MustHaveSelection + (int)EdmMenuFlags.EdmMenu_OnlySingleSelection, "", "Launches a dialog to update file properties from current Epicor values", 0, 0);

            poCmdMgr.AddCmd(-100, MenuName + "\\Templates", (int)EdmMenuFlags.EdmMenu_Nothing, "", "Launches a dialog to Add/Edit/Update Templates", 0, 0);

            //poCmdMgr.AddCmd(-101, MenuName + "\\Search", (int)EdmMenuFlags.EdmMenu_Nothing, "", "Temp", 0, 0);

            poCmdMgr.AddCmd(2, MenuName + "\\Add Item,OOM & BOM", (int)EdmMenuFlags.EdmMenu_OnlyFiles + (int)EdmMenuFlags.EdmMenu_MustHaveSelection + (int)EdmMenuFlags.EdmMenu_OnlySingleSelection, "", "Launches a dialog to add an Item, a revision, an OOM and BOM in Epicor", 0, 0);

            poCmdMgr.AddHook(EdmCmdType.EdmCmd_Menu, null);

            Bill = new List<BillItem>();
        }