コード例 #1
0
        public void LoadUserToServer(string ActiveUser)
        {
            // LOG
            string logMSG = "Loading user profile";

            LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, logMSG);
            // load user from ini
            List <RoboSep_Protocol> tempList = RoboSep_UserDB.getInstance().loadUserProtocols(ActiveUser);

            if (tempList == null)
            {
                // prompt user that no protocols to load
                string           sTitle  = LanguageINI.GetString("headerNoProtocols");
                string           sMsg    = LanguageINI.GetString("msgNoProtocols");
                string           sButton = LanguageINI.GetString("Ok");
                RoboMessagePanel prompt  = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_WARNING, sMsg, sTitle, sButton);
                RoboSep_UserConsole.showOverlay();
                prompt.ShowDialog();
                prompt.Dispose();
                RoboSep_UserConsole.hideOverlay();
                return;
            }

            StartLoadingProtocolsToServer(ActiveUser, tempList);
        }
コード例 #2
0
        private List <string> AskUserToInsertUSBDrive()
        {
            List <string> lstUSBDrives = Utilities.GetUSBDrives();

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

            if (lstUSBDrives.Count > 0)
            {
                return(lstUSBDrives);
            }


            // prompt if user to insert a USB drive
            string           msg    = LanguageINI.GetString("msgInsertUSB");
            RoboMessagePanel prompt = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_INFORMATION, msg,
                                                           LanguageINI.GetString("headerInsertUSB"), LanguageINI.GetString("Ok"), LanguageINI.GetString("Cancel"));

            RoboSep_UserConsole.showOverlay();
            prompt.ShowDialog();
            RoboSep_UserConsole.hideOverlay();

            if (prompt.DialogResult != DialogResult.OK)
            {
                prompt.Dispose();
                return(null);
            }
            prompt.Dispose();
            return(AskUserToInsertUSBDrive());
        }
コード例 #3
0
 private void CloseWaitMessage()
 {
     // clean up
     if (WaitingMSG != null)
     {
         WaitingMSG.Close();
         WaitingMSG = null;
         RoboSep_UserConsole.hideOverlay();
     }
 }
コード例 #4
0
        private void showGeneralErrorMessage(string errMsg)
        {
            RoboMessagePanel dlg = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_ERROR,
                                                        errMsg, "Error", LanguageINI.GetString("Ok"));

            RoboSep_UserConsole.showOverlay();
            dlg.ShowDialog();
            dlg.Dispose();
            RoboSep_UserConsole.hideOverlay();
        }
コード例 #5
0
        /*
         * protected override void btn_home_Click(object sender, EventArgs e)
         * {
         *  if (LoadUserRequired && !RoboSep_UserConsole.bIsRunning)
         *  {
         *      // changing profile to a pre-defined protocol list will not
         *      // require loading protocols to server
         *      if (textBox_UserName.Text != "All Human" && textBox_UserName.Text != "All Mouse" && textBox_UserName.Text != "Whole Blood"
         *          && textBox_UserName.Text != "Full List" && textBox_UserName.Text != "USER NAME")
         *      {
         *          LoadUserRequired = false;
         *          LoadUserToServer(textBox_UserName.Text);
         *      }
         *      elseYou go
         *      {
         *          //
         *          //
         *          // Set up for No- All Protocols
         *          // !! REMOVE ALL PROTOCOLS LIST
         *          //
         #if true            // get list for preset
         *          string[] PresetList = RoboSep_ProtocolList.getInstance().LoadPresetList(this.textBox_UserName.Text);
         *          protocolsToLoad = PresetList.Length;
         *
         *          // save list to User1.udb
         *          RoboSep_UserDB.getInstance().XML_SaveUserProfile(this.textBox_UserName.Text, PresetList);
         *
         *          // load user1.udb to server.
         *          myReloadProtocolsThread = new Thread(new ThreadStart(this.ReloadProtocolsThread));
         *          myReloadProtocolsThread.IsBackground = true;
         *          myReloadProtocolsThread.Start();
         *
         *          // set sep-gateway to updating Separator Protocols
         *          // so that we can watch for when it is updated
         *          // (in timer_tick)
         *          SeparatorGateway.GetInstance().separatorUpdating = true;
         *
         *          //Thread.Sleep(SERVER_WAIT_TIME);
         *          // add loop to that polls loading status
         *          LoadUserTimer.Start();
         #else
         *          base.btn_home_Click(sender, e);
         #endif
         *      }
         *  }
         *  else
         *  {
         *      base.btn_home_Click(sender, e);
         *  }
         *
         * }
         */

        private void Prompt_RunInProgress()
        {
            string           sMSG   = LanguageINI.GetString("msgIsRunning");
            RoboMessagePanel prompt = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_WARNING, sMSG,
                                                           LanguageINI.GetString("headerIsRunning"), LanguageINI.GetString("Ok"));

            RoboSep_UserConsole.showOverlay();
            prompt.ShowDialog();
            prompt.Dispose();
            RoboSep_UserConsole.hideOverlay();
        }
コード例 #6
0
        private DialogResult confirmSpecificProtocol(SharingProtocol sharingProtocol)
        {
            string logMSG;

            if (sharingProtocol == null)
            {
                logMSG = "confirmSpecificProtocol called. Invalid input parameter 'sharingProtocol' is null.";

                LogFile.AddMessage(System.Diagnostics.TraceLevel.Verbose, logMSG);
                return(DialogResult.Cancel);
            }

            ArrayList sharingWith = sharingProtocol.SharingWith;

            if (sharingWith == null)
            {
                logMSG = "confirmSpecificProtocol called. Invalid input parameter 'sharingProtocol.SharingWith' is null.";
                LogFile.AddMessage(System.Diagnostics.TraceLevel.Verbose, logMSG);
                return(DialogResult.Cancel);
            }

            int initQuadrantIndex = sharingProtocol.InitQuadrant;

            //build message
            string quadrantsLabel = "Q" + (initQuadrantIndex + 1);

            for (int i = 0; i < sharingWith.Count; i++)
            {
                if (i >= sharingWith.Count - 1)
                {
                    quadrantsLabel += " and Q" + sharingWith[i];
                }
                else
                {
                    quadrantsLabel += ", Q" + sharingWith[i];
                }
            }

            //ask the user
            string sMSG = LanguageINI.GetString("QS1") + " " + quadrantsLabel + " " + LanguageINI.GetString("QS2") + " "
                          + sharingProtocol.Name + " " + LanguageINI.GetString("QS3");
            RoboMessagePanel messageDialog = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_QUESTION, sMSG,
                                                                  LanguageINI.GetString("headerQS"), LanguageINI.GetString("Yes"), LanguageINI.GetString("No"));

            RoboSep_UserConsole.showOverlay();
            DialogResult result = messageDialog.ShowDialog();

            RoboSep_UserConsole.hideOverlay();
            messageDialog.Dispose();
            return(result);//messageDialog.DialogResult;
        }
コード例 #7
0
        private void button_Save_Click(object sender, EventArgs e)
        {
            bool bDirty = IsConfigDirty();

            if (bDirty)
            {
                if (!SaveConfig())
                {
                    return;
                }

                ChangeSaveButtonGraphics(false);

                // Ask user to exit
                string msgHeader = LanguageINI.GetString("headerSaveGUIConfig");
                string msg       = LanguageINI.GetString("msgSaveConfigAndExit");
                GUI_Controls.RoboMessagePanel prompt = new RoboMessagePanel(this, MessageIcon.MBICON_QUESTION, msg,
                                                                            msgHeader, "Yes", "No");
                // prompt user
                prompt.ShowDialog();
                if (prompt.DialogResult != DialogResult.OK)
                {
                    prompt.Dispose();
                    return;
                }
                prompt.Dispose();
            }
            else
            {
                // Ask user to exit
                string msgHeader = LanguageINI.GetString("headerExitUtil");
                string msg       = LanguageINI.GetString("msgExitUtil");
                GUI_Controls.RoboMessagePanel prompt = new RoboMessagePanel(this, MessageIcon.MBICON_QUESTION, msg,
                                                                            msgHeader, "Yes", "No");
                // prompt user
                prompt.ShowDialog();
                if (prompt.DialogResult != DialogResult.OK)
                {
                    prompt.Dispose();
                    return;
                }
                prompt.Dispose();
            }

            stopUSBWatcher();

            this.DialogResult = configModified ? DialogResult.OK : DialogResult.Cancel;
            this.Close();
        }
コード例 #8
0
        private void hex_protocols_Click(object sender, EventArgs e)
        {
            // check if any protocols are selected
            int[] CurrentQuadrants = RoboSep_RunSamples.getInstance().iSelectedProtocols;
            if (CurrentQuadrants.Length > 0)
            {
                // prompt if user is sure they want to manage protocols if all protocol selections are removed
                string           msg    = LanguageINI.GetString("msgManageProtocols");
                RoboMessagePanel prompt = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_WARNING, msg,
                                                               LanguageINI.GetString("headerManageProtocols"), LanguageINI.GetString("Ok"), LanguageINI.GetString("Cancel"));
                RoboSep_UserConsole.showOverlay();
                prompt.ShowDialog();
                RoboSep_UserConsole.hideOverlay();

                if (prompt.DialogResult != DialogResult.OK)
                {
                    prompt.Dispose();
                    return;
                }
                prompt.Dispose();
            }

            // remove all currently selected protocols
            for (int i = 0; i < CurrentQuadrants.Length; i++)
            {
                RoboSep_RunSamples.getInstance().CancelQuadrant(CurrentQuadrants[i]);
            }

            RoboSep_UserConsole.getInstance().SuspendLayout();
            RoboSep_ProtocolList myProtocolsListPage = RoboSep_ProtocolList.getInstance();

            if (myProtocolsListPage.IsInitialized)
            {
                myProtocolsListPage.ReInitialized();
            }

            myProtocolsListPage.Location    = new Point(0, 0);
            myProtocolsListPage.strUserName = RoboSep_UserConsole.strCurrentUser;
            RoboSep_UserConsole.getInstance().Controls.Add(myProtocolsListPage);
            RoboSep_UserConsole.ctrlCurrentUserControl = myProtocolsListPage;

            closeHomeWindow();

            myProtocolsListPage.BringToFront();
            // LOG
            string logMSG = "Protocols button clicked";

            LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, logMSG);
        }
コード例 #9
0
 private void linkLabel_Click(object sender, EventArgs e)
 {
     if (RoboSep_UserConsole.bIsRunning)
     {
         RoboMessagePanel prompt = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_WARNING,
                                                        LanguageINI.GetString("tabHelpVideoCannotBePlayed"), LanguageINI.GetString("Warning"), LanguageINI.GetString("Ok"));
         RoboSep_UserConsole.showOverlay();
         prompt.ShowDialog();
         prompt.Dispose();
         RoboSep_UserConsole.hideOverlay();
     }
     else
     {
         LinkLabel.Link link = (sender as LinkLabel).Links[0] as LinkLabel.Link;
         string         path = link.LinkData as string;
         mediaPlayer.URL = @path;
         mediaPlayer.Ctlcontrols.play();
     }
 }
コード例 #10
0
        private bool checkForSelectedProtocols( )
        {
            // check if Protocols have been selected on Run Samples page
            // can not load protocols from multiple users
            if (RoboSep_RunSamples.getInstance().iSelectedProtocols.Length > 0)
            {
                // set up message prompt
                string sMSG = LanguageINI.GetString("msgChangeUser");

                RoboMessagePanel prompt = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_WARNING, sMSG,
                                                               LanguageINI.GetString("headerChangeUsr"), LanguageINI.GetString("Ok"), LanguageINI.GetString("Cancel"));
                RoboSep_UserConsole.showOverlay();
                prompt.ShowDialog();
                RoboSep_UserConsole.hideOverlay();

                if (prompt.DialogResult == DialogResult.OK)
                {
                    int[] CurrentlySelectedProtocols = RoboSep_RunSamples.getInstance().iSelectedProtocols;
                    // remove protocols from sample list
                    for (int i = 0; i < CurrentlySelectedProtocols.Length; i++)
                    {
                        int Q = CurrentlySelectedProtocols[i];
                        RoboSep_RunSamples.getInstance().CancelQuadrant(Q);

                        // LOG
                        string LOGmsg = "Changing User and removing all selected protocols from current run";
                        //GUI_Controls.uiLog.LOG(this, "textBox_UserName_Enter", GUI_Controls.uiLog.LogLevel.EVENTS, LOGmsg);
                        //  (LOGmsg);
                        LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, LOGmsg);
                    }
                    prompt.Dispose();
                    return(false);
                }
                prompt.Dispose();
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #11
0
        private void hex_Users_Click(object sender, EventArgs e)
        {
            // check if any protocols are selected
            int[] CurrentQuadrants = RoboSep_RunSamples.getInstance().iSelectedProtocols;
            if (CurrentQuadrants.Length > 0)
            {
                // prompt if user is sure they want to switch users if
                // all protocol selections are removed
                string           msg    = LanguageINI.GetString("msgChangeUser");
                RoboMessagePanel prompt = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_WARNING, msg,
                                                               LanguageINI.GetString("headerChangeUsr"), LanguageINI.GetString("Ok"), LanguageINI.GetString("Cancel"));
                RoboSep_UserConsole.showOverlay();
                prompt.ShowDialog();
                RoboSep_UserConsole.hideOverlay();

                if (prompt.DialogResult != DialogResult.OK)
                {
                    prompt.Dispose();
                    return;
                }
                prompt.Dispose();
            }

            // remove all currently selected protocols
            for (int i = 0; i < CurrentQuadrants.Length; i++)
            {
                RoboSep_RunSamples.getInstance().CancelQuadrant(CurrentQuadrants[i]);
            }

            // change to robosep user select window
            RoboSep_UserConsole.getInstance().SuspendLayout();
            RoboSep_UserSelect usrSelect = new RoboSep_UserSelect();

            RoboSep_UserConsole.getInstance().Controls.Add(usrSelect);
            RoboSep_UserConsole.ctrlCurrentUserControl = usrSelect;

            usrSelect.BringToFront();
            usrSelect.Focus();
        }
コード例 #12
0
        private void ViewReport2()
        {
            int[] arrItemsChecked = GetItemsChecked();
            if (arrItemsChecked == null || arrItemsChecked.Length != 1)
            {
                return;
            }

            int index = arrItemsChecked[0];

            FileInfo fInfo = new FileInfo(myReportFiles[index].FullName);

            if (fInfo == null)
            {
                return;
            }

            int nIndex = fInfo.Name.LastIndexOf('.');

            if (nIndex < 0)
            {
                return;
            }

            string sFileName    = fInfo.Name.Substring(0, nIndex);
            string sXmlFileName = sFileName + ".xml";
            string sPdfFileName = sFileName + ".pdf";

            sFileName += ".pdf";

            string sFullFileName = fInfo.DirectoryName;

            if (sFullFileName.LastIndexOf('\\') != sFullFileName.Length - 1)
            {
                sFullFileName += "\\";
            }

            string sFullPdfFileName = sFullFileName + sPdfFileName;

            // Generate PDF file if not created
            if (!File.Exists(sFullPdfFileName) == true)
            {
                string sMsg    = LanguageINI.GetString("msgGeneratingReport");
                string sHeader = LanguageINI.GetString("headerGeneratingReport");
                WaitingMSG = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_INFORMATION, sMsg, sHeader, true, false);
                RoboSep_UserConsole.showOverlay();
                WaitingMSG.Show();

                string   sFullXmlFileName = sFullFileName + sXmlFileName;
                string[] aFileNames       = new string[] { sFullXmlFileName, sFullPdfFileName };

                BackgroundWorker bwGenerateReport = new BackgroundWorker();
                bwGenerateReport.WorkerSupportsCancellation = true;

                // Attach the event handlers
                bwGenerateReport.DoWork             += new DoWorkEventHandler(bwGenerateReport_DoWork);
                bwGenerateReport.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bwGenerateReport_RunWorkerCompleted);

                // Kick off the Async thread
                bwGenerateReport.RunWorkerAsync(aFileNames);
            }
            else
            {
                LaunchAdobe(sFullPdfFileName);
            }
        }
コード例 #13
0
        private void button_EditList_Click(object sender, EventArgs e)
        {
            if (!RoboSep_UserConsole.bIsRunning)
            {
                // check if protocols loaded for run will be lost if list is re-loaded
                // caused by adding from the "All list" section of the selct protocol window
                if (RoboSep_RunSamples.getInstance().iSelectedProtocols.Length > 0)
                {
                    List <RoboSep_Protocol> usrLst  = RoboSep_UserDB.getInstance().loadUserProtocols(textBox_UserName.Text);
                    QuadrantInfo[]          RunInfo = RoboSep_RunSamples.getInstance().RunInfo;

                    List <int> removeQuadrants = new List <int>();

                    for (int Quadrant = 0; Quadrant < 4; Quadrant++)
                    {
                        if (RunInfo[Quadrant].bQuadrantInUse)
                        {
                            bool ProtocolInList = false;
                            for (int i = 0; i < usrLst.Count; i++)
                            {
                                if (RunInfo[Quadrant].QuadrantLabel == usrLst[i].Protocol_Name)
                                {
                                    ProtocolInList = true;
                                    break;
                                }
                            }
                            if (!ProtocolInList)
                            {
                                for (int i = 0; i < RunInfo[Quadrant].QuadrantsRequired; i++)
                                {
                                    removeQuadrants.Add(Quadrant + i);
                                }
                            }
                        }
                    }

                    // check if any protocols have been selected
                    // for the current run and will be lost
                    // when reloading profile
                    if (removeQuadrants.Count > 0)
                    {
                        string           sMSG   = LanguageINI.GetString("msgRefreshList") + "\r\n\r\n" + LanguageINI.GetString("msgRefreshList2");
                        RoboMessagePanel prompt = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_WARNING,
                                                                       sMSG, LanguageINI.GetString("Warning"), LanguageINI.GetString("Yes"), LanguageINI.GetString("Cancel"));
                        RoboSep_UserConsole.showOverlay();
                        prompt.ShowDialog();

                        // wait for response

                        if (prompt.DialogResult == DialogResult.OK)
                        {
                            for (int i = 0; i < removeQuadrants.Count; i++)
                            {
                                RoboSep_RunSamples.getInstance().CancelQuadrant(removeQuadrants[i]);
                            }
                        }

                        prompt.Dispose();
                    }
                    else
                    {
                        return;
                    }
                }


                LoadRequired = true;

                //RoboSep_UserConsole.strCurrentUser = textBox_UserName.Text;
                openProtocolList();

                // LOG
                string LOGmsg = "Edit list button clicked";
                //GUI_Controls.uiLog.LOG(this, "button_EditList_Click", GUI_Controls.uiLog.LogLevel.EVENTS, LOGmsg);
                //  (LOGmsg);
                LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, LOGmsg);
            }
            else
            {
                Prompt_RunInProgress();
            }
        }
コード例 #14
0
        private bool LoadPicture(string[] drives)
        {
            if (drives == null)
            {
                return(false);
            }


            LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, "Report SysPath: " + systemPath);
            //systemPath = @"C:\Program Files (x86)\STI\RoboSep\";

            string IconsPath = systemPath + "images\\";

            if (!Directory.Exists(IconsPath))
            {
                Directory.CreateDirectory(IconsPath);
            }

            string TempPath = systemPath + "temp\\";

            if (!Directory.Exists(TempPath))
            {
                Directory.CreateDirectory(TempPath);
            }

            // Check if there is any previous images
            if (tempUser.ImageIcon != null)
            {
                LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, "User has already load an image");
                if (tempUser.TempImageIconPath != null)
                {
                    LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, "Temporary image file location: " + tempUser.TempImageIconPath);
                }

                // Sunny to do
                // set up message prompt
                string sMSG  = LanguageINI.GetString("lblPreviousImageLoaded");;
                string sMSG2 = LanguageINI.GetString("lblOverwritePreviousImage");
                sMSG += sMSG2;
                RoboMessagePanel prompt = new RoboMessagePanel(this, MessageIcon.MBICON_WARNING, sMSG,
                                                               LanguageINI.GetString("Warning"), LanguageINI.GetString("Yes"), LanguageINI.GetString("No"));
                RoboSep_UserConsole.showOverlay();

                //prompt user
                prompt.ShowDialog();
                RoboSep_UserConsole.hideOverlay();

                if (prompt.DialogResult != DialogResult.OK)
                {
                    prompt.Dispose();
                    return(false);
                }
                prompt.Dispose();
                try
                {
                    // Remove the temporary directory and its contents
                    Utilities.RemoveTempFileDirectory(tempUser.TempImageIconPath);
                }
                catch (Exception ex)
                {
                    // LOG
                    LogFile.LogException(System.Diagnostics.TraceLevel.Error, ex);
                }

                // Clear the previous image info
                tempUser.TempImageIconPath = "";
                tempUser.ImageIcon         = null;
            }

            // get the default image directory
            string sDefaultImgDirectory = String.Empty;
            string sTempImgDirectory    = GUIini.IniReadValue("General", "DefaultUserHDImageDirectory", DefaultUserHDImageDirectory);

            sTempImgDirectory = Utilities.RemoveIllegalCharsInDirectory(sTempImgDirectory);

            DriveInfo d = new DriveInfo(sTempImgDirectory);

            if (d.IsReady)
            {
                string        sName    = d.Name;
                List <string> lstDrive = new List <string>(drives);
                string        sDrive   = lstDrive.Find(x => { return(!string.IsNullOrEmpty(x) && x.ToLower() == sName.ToLower()); });
                if (!string.IsNullOrEmpty(sDrive))
                {
                    if (Directory.Exists(sTempImgDirectory))
                    {
                        sDefaultImgDirectory = sTempImgDirectory;
                    }
                }
            }

            if (string.IsNullOrEmpty(sDefaultImgDirectory))
            {
                // search for directory
                string[] dirs     = drives;
                int      dirIndex = -1;
                for (int i = 0; i < dirs.Length; i++)
                {
                    if (Directory.Exists(dirs[i]))
                    {
                        dirIndex             = i;
                        sDefaultImgDirectory = dirs[dirIndex];
                        break;
                    }
                }
            }

            if (!string.IsNullOrEmpty(sDefaultImgDirectory))
            {
                string      sTitle = LanguageINI.GetString("headerSelectImageFile");
                FileBrowser fb     = new FileBrowser(RoboSep_UserConsole.getInstance(), sTitle, sDefaultImgDirectory, IconsPath,
                                                     new string[] { ".jpg", ".jpeg", ".png", ".tga", ".bmp" }, FileBrowser.BrowseResult.SelectFile);
                fb.ShowDialog();
                // make sure that file browser finished properly
                if (fb.DialogResult == DialogResult.OK)
                {
                    LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, "File Browser result: OK!!");
                    // store target file path
                    string fileTarget = fb.Target;

                    LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, "File target = " + fileTarget);
                    // generate icon graphic
                    string IconPath = GenerateProfileIcon(fileTarget);

                    LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, "Temorary Icon Path : " + IconPath);
                }
                fb.Dispose();
                return(true);
            }
            else
            {
                LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, "Failed to locate drive");
            }
            return(false);
        }
コード例 #15
0
        private void LaunchAdobe(string sFullPdfFileName)
        {
            if (string.IsNullOrEmpty(sFullPdfFileName))
            {
                return;
            }

            string errMsg;

            if (File.Exists(sFullPdfFileName))
            {
                try
                {
                    var adobe = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Classes").OpenSubKey("acrobat").OpenSubKey("shell").OpenSubKey("open").OpenSubKey("command");
                    if (adobe == null)
                    {
                        errMsg = String.Format("Failed to view report because it cannot find the registry key of acrobat reader.");
                        LogFile.AddMessage(System.Diagnostics.TraceLevel.Warning, errMsg);
                        return;
                    }
                    var    pathAdobe = adobe.GetValue("");
                    string path      = pathAdobe as string;
                    if (string.IsNullOrEmpty(path))
                    {
                        // Show message that Adobe has not been installed
                        IniFile          LanguageINI = RoboSep_UserConsole.getInstance().LanguageINI;
                        string           sMSG        = LanguageINI.GetString("msgViewReportFailed");
                        RoboMessagePanel prompt      = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_ERROR, sMSG,
                                                                            LanguageINI.GetString("headerViewReportFailed"), LanguageINI.GetString("Ok"));
                        RoboSep_UserConsole.showOverlay();
                        prompt.ShowDialog();
                        RoboSep_UserConsole.hideOverlay();
                        errMsg = String.Format("Failed to view report because it cannot find the registry key of acrobat reader.");
                        LogFile.AddMessage(System.Diagnostics.TraceLevel.Warning, errMsg);
                        prompt.Dispose();
                        return;
                    }

                    string pattern = @"\b[a-zA-Z]:[\\/]([ ()._a-zA-Z0-9]+[\\/]?)*([_a-zA-Z0-9]+\.[_a-zA-Z0-9]{0,3})?";
                    Match  m       = Regex.Match(path, pattern, RegexOptions.Singleline);
                    if (!m.Success)
                    {
                        // Show message that Adobe has not been installed
                        IniFile          LanguageINI = RoboSep_UserConsole.getInstance().LanguageINI;
                        string           sMSG        = LanguageINI.GetString("msgViewReportFailed2");
                        RoboMessagePanel prompt      = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_ERROR, sMSG,
                                                                            LanguageINI.GetString("headerViewReportFailed"), LanguageINI.GetString("Ok"));
                        RoboSep_UserConsole.showOverlay();
                        prompt.ShowDialog();
                        RoboSep_UserConsole.hideOverlay();
                        errMsg = String.Format("Failed to view report because it cannot the directory of acrobat reader.");
                        LogFile.AddMessage(System.Diagnostics.TraceLevel.Warning, errMsg);
                        prompt.Dispose();
                        return;
                    }

                    string sZoom = GUIini.IniReadValue("Report", "DefaultPdfZoomPercent", DefaultPdfZoomPercent);
                    if (string.IsNullOrEmpty(sZoom))
                    {
                        errMsg = String.Format("Failed to view report because DefaultPdfZoomPercent is not configured in GUI.ini file.");
                        LogFile.AddMessage(System.Diagnostics.TraceLevel.Warning, errMsg);
                        return;
                    }
                    int zoom;
                    if (!int.TryParse(sZoom.Trim(), out zoom))
                    {
                        errMsg = String.Format("Failed to view report because DefaultPdfZoomPercent cannot be converted to a number, it is not configured properly in GUI.ini file.");
                        LogFile.AddMessage(System.Diagnostics.TraceLevel.Warning, errMsg);
                        return;
                    }

                    // Check range
                    if (zoom < minPdfZoomPercent)
                    {
                        zoom = minPdfZoomPercent;
                    }

                    if (zoom > maxPdfZoomPercent)
                    {
                        zoom = maxPdfZoomPercent;
                    }

                    string   temp     = String.Format("zoom={0}=OpenActions", zoom);
                    string   param    = "/A \"" + temp + "\" " + sFullPdfFileName;
                    FileInfo fileInfo = new FileInfo(m.Value);

                    System.Diagnostics.Process.Start(fileInfo.Name, param);
                }
                catch (Win32Exception ex)
                {
                    errMsg = String.Format("Failed to view report. Exception: {0}", ex.Message);
                    LogFile.AddMessage(System.Diagnostics.TraceLevel.Warning, errMsg);
                }
            }
        }
コード例 #16
0
 private void button1_Click(object sender, EventArgs e)
 {
     ProgressMSG = new RoboMessagePanel(this, MessageIcon.MBICON_NOTAPPLICABLE, "Progress...", true, true);
     ProgressMSG.Show();
 }
コード例 #17
0
        private void copyDeleteFiles(bool isCopy)
        {
            List <string> paths = getSelectedLogs();

            if (paths.Count > 0)
            {
                if (isCopy)
                {
                    List <string> lstUSBDrives = Utilities.GetUSBDrives();
                    if (lstUSBDrives != null && lstUSBDrives.Count > 0)
                    {
                        // determine usb directory
                        string USBpath = string.Empty;
                        try
                        {
                            for (int i = 0; i < lstUSBDrives.Count; i++)
                            {
                                if (Directory.Exists(lstUSBDrives[i]))
                                {
                                    USBpath = lstUSBDrives[i];
                                    break;
                                }
                            }
                            if (USBpath != string.Empty)
                            {
                                FileBrowser SelectFolder = new FileBrowser(RoboSep_UserConsole.getInstance(), "Please pick a destination folder", USBpath, "");
                                SelectFolder.ShowDialog();
                                if (SelectFolder.DialogResult == DialogResult.Yes)
                                {
                                    String destinationFolder = SelectFolder.Target;
                                    for (int i = 0; i < paths.Count; i++)
                                    {
                                        File.Copy(paths[i], destinationFolder + getLogFileName(paths[i]), true);
                                        File.Copy(getPathInSMIExt(paths[i]), destinationFolder + getPathInSMIExt(getLogFileName(paths[i])), true);
                                    }
                                }
                                SelectFolder.Dispose();
                            }
                        }
                        catch (Exception ex)
                        {
                            showGeneralErrorMessage(ex.Message);
                        }
                    }
                    else
                    {
                        showNoUSBErrorMessage();
                    }
                }
                else
                {
                    RoboMessagePanel dlg = new RoboMessagePanel(RoboSep_UserConsole.getInstance(), MessageIcon.MBICON_WARNING,
                                                                "Are you sure to delete the selected logs?", "", LanguageINI.GetString("Yes"), LanguageINI.GetString("No"));
                    RoboSep_UserConsole.showOverlay();
                    dlg.ShowDialog();
                    RoboSep_UserConsole.hideOverlay();

                    if (dlg.DialogResult == DialogResult.OK)
                    {
                        for (int i = 0; i < paths.Count; i++)
                        {
                            File.Delete(paths[i]);
                            File.Delete(getPathInSMIExt(paths[i]));
                        }
                    }
                    dlg.Dispose();
                }
                refreshTableLayoutPanel();
            }
            else
            {
                showNoSelectionErrorMessage();
            }
        }