public void SetupListBox()
        {
            //TUBE NAMES SYNC
            lbDefaultNames.Items.Clear();

            //vial B Square
            //vial C Circle
            //vial A Triangle

            //general items
            if ((protocolClass == ProtocolClass.Positive) || (protocolClass == ProtocolClass.HumanPositive) ||
                (protocolClass == ProtocolClass.MousePositive) || (protocolClass == ProtocolClass.WholeBloodPositive))
            {
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialBpos));
            }
            else if ((protocolClass == ProtocolClass.Negative) || (protocolClass == ProtocolClass.HumanNegative) ||
                     (protocolClass == ProtocolClass.MouseNegative) || (protocolClass == ProtocolClass.WholeBloodNegative))
            {
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialBneg));
            }
            else
            {
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialB));
            }

            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialC));
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialA));

            lbDefaultNames.SelectedIndex = 0;
            this.SetupBarcodeListBox();
        }
        private void btnAcceptNewName_Click(object sender, EventArgs e)
        {
            string   newName = txtCustomName.Text;
            StringId id      = SeparatorResourceManager.convertNameToStringID((string)lbDefaultNames.SelectedItem);

            switch (id)
            {
            case StringId.VialB:
            case StringId.VialBpos:
            case StringId.VialBneg:
                squareVialBarcode = vialBarcodes[1] = newName;
                break;

            case StringId.VialA:
                triangleVialBarcode = vialBarcodes[3] = newName;
                break;

            case StringId.VialC:
                circleVialBarcode = vialBarcodes[2] = newName;
                break;
            }

            DbgView("btnAcceptNewName - calling ApplyVialBarcodes()");  //bdr

            theProtocolModel.ApplyVialBarcodes(tabControl1.SelectedIndex, vialBarcodes);
            this.SetupBarcodeListBox();
        }
        public void SetupListBox()
        {
            //TUBE NAMES SYNC
            lbDefaultNames.Items.Clear();

            //general items
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer));
            if (SeparatorResourceManager.isPlatformRS16())
            {
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer34));
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer56));
            }
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.WasteTube));

            lbDefaultNames.Items.Add(SeparatorResourceManager.getLysisStringFromProtocolClass(protocolClass));

            /*
             * if ((protocolClass == ProtocolClass.Positive) || (protocolClass == ProtocolClass.HumanPositive) ||
             *      (protocolClass == ProtocolClass.MousePositive) || (protocolClass == ProtocolClass.WholeBloodPositive))
             *      lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialBpos));
             * else if ((protocolClass == ProtocolClass.Negative) || (protocolClass == ProtocolClass.HumanNegative) ||
             *      (protocolClass == ProtocolClass.MouseNegative) || (protocolClass == ProtocolClass.WholeBloodNegative))
             *      lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialBneg));
             * else
             *      lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialB));
             *
             * lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialA));
             * lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialC));
             */
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.SampleTube));
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.SeparationTube));


            lbDefaultNames.SelectedIndex = 0;
        }
        public void SetupListBox()
        {
            //TUBE NAMES SYNC
            lbDefaultNames.Items.Clear();

            //general items
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer));
            if (SeparatorResourceManager.isPlatformRS16())
            {
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer34));
                lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer56));
            }
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.WasteTube));

            lbDefaultNames.Items.Add(SeparatorResourceManager.getLysisStringFromProtocolClass(protocolClass));

            lbDefaultNames.Items.Add(SeparatorResourceManager.getVialBStringFromProtocolClass(protocolClass));

            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialA));
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.VialC));
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.SampleTube));
            lbDefaultNames.Items.Add(SeparatorResourceManager.GetSeparatorString(StringId.SeparationTube));


            lbDefaultNames.SelectedIndex = 0;
            this.SetupCustomListBox();
        }
        public void SetupCustomListBox()
        {
            lbCustomNames.Items.Clear();

            //general items
            lbCustomNames.Items.Add(bufferBottleC);


            if (SeparatorResourceManager.isPlatformRS16())
            {
                lbCustomNames.Items.Add(bufferBottle34C);
                lbCustomNames.Items.Add(bufferBottle56C);
            }

            lbCustomNames.Items.Add(wasteTubeC);
            lbCustomNames.Items.Add(lysisBufferTubeC);
            lbCustomNames.Items.Add(selectionCocktailVialC);
            lbCustomNames.Items.Add(magneticParticleVialC);
            lbCustomNames.Items.Add(antibodyCocktailVialC);
            lbCustomNames.Items.Add(sampleTubeC);
            lbCustomNames.Items.Add(separationTubeC);


//			lbCustomNames.SelectedIndex = 0;
        }
        private void UpdateTextbox()
        {
            StringId id = SeparatorResourceManager.convertNameToStringID((string)lbDefaultNames.SelectedItem);

            switch (id)
            {
            case StringId.VialA:
                txtCustomName.Text = triangleVialBarcode;
                break;

            case StringId.VialB:
            case StringId.VialBpos:
            case StringId.VialBneg:
                txtCustomName.Text = squareVialBarcode;
                break;

            case StringId.VialC:
                txtCustomName.Text = circleVialBarcode;
                break;
            }

            bool boEnabled = true;

            if (lbCustomNames.Items[lbDefaultNames.SelectedIndex].ToString() == SeparatorResourceManager.GetSeparatorString(StringId.ReagentNotUsed))
            {
                boEnabled          = false;
                txtCustomName.Text = SeparatorResourceManager.GetSeparatorString(StringId.ReagentNotUsed);
            }
            txtCustomName.Enabled    = boEnabled;
            btnAcceptNewName.Enabled = boEnabled;
        }
        private void btnAcceptNewName_Click(object sender, System.EventArgs e)
        {
            string   newName = txtCustomName.Text;
            StringId id      = SeparatorResourceManager.convertNameToStringID((string)lbDefaultNames.SelectedItem);

            switch (id)
            {
            case StringId.QuadrantBuffer:
                bufferBottleC = customVialNames.bufferBottle = newName;
                break;

            case StringId.WasteTube:
                wasteTubeC = customVialNames.wasteTube = newName;
                break;

            case StringId.NegativeFractionTube:
            case StringId.LysisBufferTube:
            case StringId.LysisBufferNegativeFractionTube:
                lysisBufferTubeC = customVialNames.lysisBufferTube = newName;
                break;

            case StringId.VialB:
            case StringId.VialBpos:
            case StringId.VialBneg:
                selectionCocktailVialC = customVialNames.selectionCocktailVial = newName;
                break;

            case StringId.VialA:
                magneticParticleVialC = customVialNames.magneticParticleVial = newName;
                break;

            case StringId.VialC:
                antibodyCocktailVialC = customVialNames.antibodyCocktailVial = newName;
                break;

            case StringId.SampleTube:
                sampleTubeC = customVialNames.sampleTube = newName;
                break;

            case StringId.SeparationTube:
                separationTubeC = customVialNames.separationTube = newName;
                break;

            case StringId.QuadrantBuffer34:
                bufferBottle34C = customVialNames.bufferBottle34 = newName;
                break;

            case StringId.QuadrantBuffer56:
                bufferBottle56C = customVialNames.bufferBottle56 = newName;
                break;
            }
//			theProtocolModel.SetCustomNames(customNames);
            DbgView("btnAcceptNewName - calling ApplyCustomNames()");              //bdr

            theProtocolModel.ApplyCustomNames(tabControl1.SelectedIndex, customVialNames);
            this.SetupCustomListBox();
        }
Esempio n. 8
0
        static void Main(string[] args)
        {
            // Define top-level exception handlers

            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
            Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);

            SeparatorImpl            separatorImpl = null;
            SeparatorResourceManager SepResMgr     = null;

            try
            {
                // Initialise the application log file
                string sTemp = GetCurrentTimeStamp();
                sTemp += ROBOSEP_LOG_FILENAME;
#if false
                LogFile.GetInstance().Initialise(GetLogsPath(), "robosep_ui.log");
#else
                LogFile.GetInstance().Initialise(GetLogsPath(), sTemp);
                WorkingLofFileName = GetLogsPath() + @"\" + sTemp;
#endif
                // Create the Separator layer
                separatorImpl = SeparatorImpl.GetInstance();
                if (separatorImpl != null)
                {
                    SeparatorImpl.isLogFileClose = false;
                    // Register the Separator service
                    separatorImpl.RegisterLayerServices();

                    SepResMgr = SeparatorResourceManager.GetInstance();

                    // Start the UI layer (Operator Console is the local instrument console)
                    Thread.CurrentThread.Name = "OperatorConsole";
                    //FrmOperatorConsole aOperatorConsole = new FrmOperatorConsole();
                    //Application.Run(aOperatorConsole);

                    //FrmCWJMain theCWJMainCon = new FrmCWJMain();
                    //Application.Run(theCWJMainCon);
                    Application.Run(RoboSep_UserConsole.getInstance());
                }
            }
            catch (Exception ex)
            {
                LogFile.LogException(TraceLevel.Error, ex);
            }
            finally
            {
                // Shutdown the Separator layer
                if (separatorImpl != null)
                {
                    separatorImpl.ShutdownInstrument();
                }

                SeparatorImpl.GetInstance().CloseLogFileSystem();
            }
        }
        public void UpdateMaxMixCycle()
        {
            this.cbxMixCycles.Items.Clear();
            int max_cycles = (SeparatorResourceManager.isPlatformRS16()) ? MAX_MIX_CYCLE_RS16 : MAX_MIX_CYCLE_RSS;

            for (int i = 0; i < max_cycles; i++)
            {
                this.cbxMixCycles.Items.Add(i + 1);
            }
            this.cbxMixCycles.SelectedIndex = 0;
        }
        private void UpdateTextbox()
        {
            StringId id = SeparatorResourceManager.convertNameToStringID((string)lbDefaultNames.SelectedItem);

            switch (id)
            {
            case StringId.WasteTube:
                txtCustomName.Text = wasteTubeC;
                break;

            case StringId.SeparationTube:
                txtCustomName.Text = separationTubeC;
                break;

            case StringId.NegativeFractionTube:
            case StringId.LysisBufferTube:
            case StringId.LysisBufferNegativeFractionTube:
                txtCustomName.Text = lysisBufferTubeC;
                break;

            case StringId.VialA:
                txtCustomName.Text = magneticParticleVialC;
                break;

            case StringId.VialB:
            case StringId.VialBpos:
            case StringId.VialBneg:
                txtCustomName.Text = selectionCocktailVialC;
                break;

            case StringId.VialC:
                txtCustomName.Text = antibodyCocktailVialC;
                break;

            case StringId.SampleTube:
                txtCustomName.Text = sampleTubeC;
                break;

            case StringId.QuadrantBuffer:
                txtCustomName.Text = bufferBottleC;
                break;

            case StringId.QuadrantBuffer34:
                txtCustomName.Text = bufferBottle34C;
                break;

            case StringId.QuadrantBuffer56:
                txtCustomName.Text = bufferBottle56C;
                break;
            }
        }
        private void SetupCheckboxes(int idx)
        {
            //uncheck all
            IEnumerator myEnumerator;

            myEnumerator = lbDefaultNames.CheckedIndices.GetEnumerator();
            int i;

            while (myEnumerator.MoveNext() != false)
            {
                i = (int)myEnumerator.Current;
                lbDefaultNames.SetItemChecked(i, false);
            }

            //load checks
            //bool[] resultVialChecks;
            try
            {
                /*
                 * theProtocolModel.GetResultVialChecks(idx, out resultVialChecks);
                 *              if (resultVialChecks != null)//set checks
                 *              {
                 *                      for(i=0;i<lbDefaultNames.Items.Count;++i)
                 *                      {
                 *                              lbDefaultNames.SetItemChecked(i, resultVialChecks[i]);
                 *                      }
                 *              }
                 */

                results = theProtocolModel.GetResultVialChecks(idx);
                i       = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.SampleTube));
                lbDefaultNames.SetItemChecked(i, results.sampleTube);
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.SeparationTube));
                lbDefaultNames.SetItemChecked(i, results.separationTube);
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.WasteTube));
                lbDefaultNames.SetItemChecked(i, results.wasteTube);
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer));
                lbDefaultNames.SetItemChecked(i, results.bufferBottle);
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.getLysisStringFromProtocolClass(protocolClass));
                lbDefaultNames.SetItemChecked(i, results.lysisBufferTube);

                //for rs16
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer34));
                lbDefaultNames.SetItemChecked(i, results.bufferBottle34);
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer56));
                lbDefaultNames.SetItemChecked(i, results.bufferBottle56);
            }
            catch (Exception) {}
        }
        // set the default vial names as custom names - vial names vary with the type of protocol
        public void SetDefaultCustomNames()
        {
            customVialNames = new customNames();
            customVialNames.bufferBottle         = SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer);
            customVialNames.wasteTube            = SeparatorResourceManager.GetSeparatorString(StringId.WasteTube);
            customVialNames.magneticParticleVial = SeparatorResourceManager.GetSeparatorString(StringId.VialA);
            customVialNames.antibodyCocktailVial = SeparatorResourceManager.GetSeparatorString(StringId.VialC);
            customVialNames.sampleTube           = SeparatorResourceManager.GetSeparatorString(StringId.SampleTube);
            customVialNames.separationTube       = SeparatorResourceManager.GetSeparatorString(StringId.SeparationTube);
            customVialNames.bufferBottle34       = SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer34);
            customVialNames.bufferBottle56       = SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer56);

            customVialNames.lysisBufferTube = SeparatorResourceManager.getLysisStringFromProtocolClass(protocolClass);

            customVialNames.selectionCocktailVial = SeparatorResourceManager.getVialBStringFromProtocolClass(protocolClass);
        }
Esempio n. 13
0
        private InstrumentControlProxy()
        {
            // Create the objects that represent the control/event connections...

            // Make initial attempt to connect to the Instrument Control server.
            // Get the number of times to re-try if the connection attempt fails.
            NameValueCollection nvc = (NameValueCollection)System.Configuration.ConfigurationManager.GetSection("Separator/InstrumentControlConnection");
            int retryCount, retryWait;

            try
            {
                retryCount = int.Parse(nvc.Get("RetryCount"));
                retryWait  = int.Parse(nvc.Get("RetryWait_ms"));
            }
            catch
            {
                // Set default values in case the parse fails
                retryCount = 3;
                retryWait  = 2000;                      // milliseconds
            }

            do
            {
                try
                {
                    myXmlRpcProxy = new InstrumentControlXmlRpcProxy(
                        RemotingInfo.GetInstance().IcsServerURL);
                    retryCount = 0;                     // Clear the retry count as we're now connected.
                }
                catch (Exception ex)
                {
                    // Connection attempt failed.  Re-try if the number of attempts so far is
                    // within the retry count specified in the application configuration file,
                    // otherwise propagate an exception to tell the caller we failed to connect.
                    myXmlRpcProxy = null;
                    LogFile.AddMessage(TraceLevel.Warning, "retryCount = " + retryCount + " " + ex.Message);
                    if (--retryCount <= 0)
                    {
                        throw new ApplicationException(
                                  SeparatorResourceManager.GetSeparatorString(
                                      StringId.ExFailedToConnectToInstrumentControl));
                    }
                    // Pause before retrying connection attempt
                    Thread.Sleep(retryWait);
                }
            } while (retryCount > 0);
        }
        public override bool IsContentValid()
        {
            ClearAbsoluteVolumeError();
            bool isContentValid = base.IsContentValid();
            bool result;

            if (VolumeTypeSpecifier == VolumeType.Absolute)
            {
                VolumeLimits volumeLimits = VolumeLimits.GetInstance();
                volumeLimits.UpateLiquidVolumeLimits();
                double minimumAllowable_TipVolume_ul       = (double)0;
                double maximumCapacity_ReagentTipVolume_ul = (double)volumeLimits.maximumCapacity_ReagentTipVolume_ul;
                double maximumCapacity_SampleTipVolume_ul  = (double)volumeLimits.maximumCapacity_SampleTipVolume_ul;

                if (AbsoluteVolume_uL < minimumAllowable_TipVolume_ul)
                {
                    ShowAbsoluteVolumeError(VolumeError.MINIMUM_AMOUNT);
                    result = false;
                }
                else if ((cmbSourceVial.Text.IndexOf(
                              SeparatorResourceManager.GetSeparatorString(StringId.VialA)) >= 0) ||
                         (cmbSourceVial.Text.IndexOf(
                              SeparatorResourceManager.GetSeparatorString(StringId.VialB)) >= 0) ||
                         (cmbSourceVial.Text.IndexOf(
                              SeparatorResourceManager.GetSeparatorString(StringId.VialC)) >= 0)
                         )
                {
                    result = AbsoluteVolume_uL <= maximumCapacity_ReagentTipVolume_ul;
                    if (!result)
                    {
                        ShowAbsoluteVolumeError(VolumeError.ABSOLUTE_1MLTIP_AMOUNT);
                    }
                }
                else
                {
                    result = AbsoluteVolume_uL <= maximumCapacity_SampleTipVolume_ul;
                    if (!result)
                    {
                        ShowAbsoluteVolumeError(VolumeError.ABSOLUTE_5MLTIP_AMOUNT);
                    }
                }

                isContentValid &= result;
            }
            return(isContentValid);
        }
        private void UpdateCheckboxes(int idx)
        {
            IEnumerator myEnumerator;
            int         i;

            bool[] resultVialChecks = new bool[8];
            for (i = 0; i < 8; ++i)
            {
                resultVialChecks[i] = false;
            }
            myEnumerator = lbDefaultNames.CheckedIndices.GetEnumerator();
            while (myEnumerator.MoveNext() != false)
            {
                i = (int)myEnumerator.Current;
                resultVialChecks[i] = true;
            }

            try
            {
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.SampleTube));
                results.sampleTube = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.SeparationTube));
                results.separationTube = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.WasteTube));
                results.wasteTube = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer));
                results.bufferBottle = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.getLysisStringFromProtocolClass(protocolClass));
                results.lysisBufferTube = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;

                //for rs16
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer34));
                results.bufferBottle34 = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;
                i = lbDefaultNames.Items.IndexOf(SeparatorResourceManager.GetSeparatorString(StringId.QuadrantBuffer56));
                results.bufferBottle56 = lbDefaultNames.GetItemCheckState(i) == CheckState.Checked;
            }
            catch (Exception) {}

            //resultVialChecks[0]=false;
            //lbDefaultNames.SetItemCheckState(0,CheckState.Unchecked);

            //theProtocolModel.UpdateResultVialChecks(idx, resultVialChecks);
            theProtocolModel.UpdateResultVialChecks(idx, results);
        }
Esempio n. 16
0
 /// <summary>
 /// Make the connection to the Instrument Control XML-RPC server.
 /// </summary>
 public void Subscribe()
 {
     try
     {
         if (myXmlRpcProxy != null)
         {
             // Register for Instrument Control Events
             myXmlRpcProxy.Subscribe(RemotingInfo.GetInstance().IcsEventSinkURL);
         }
     }
     catch (Exception ex)
     {
         LogFile.LogException(TraceLevel.Error, ex);
         //DisableConnection();
         throw new ApplicationException(
                   SeparatorResourceManager.GetSeparatorString(
                       StringId.ExFailedToSubscribeToInstrumentControl), ex);
     }
 }
Esempio n. 17
0
        // Create the modal dialog in the Pausing or Paused state (as indicated)
        public DialogResult ShowDialog(Form parent, bool isPausing)
        {
            DialogResult result = DialogResult.Abort;

            if (myEventSink != null)
            {
                if (isPausing)
                {
                    myMessage = string.Format(
                        SeparatorResourceManager.GetSeparatorString(StringId.PausePausingMessage),
                        (timerPausingTimeout.Interval / 1000)
                        );
                    myCaption = SeparatorResourceManager.GetSeparatorString(StringId.RunPausingText);

                    myButtonLabels = new string[] {};

                    // hide the OK button
                    okButton.Visible = false;

                    // enable the timeout timer
                    timerPausingTimeout.Start();
                }
                else                    // already Paused
                {
                    SetPausedMode();
                }

                // Register to receive SeparatorState changes from the event sink
                myEventSink.UpdateSeparatorState += new SeparatorStatusDelegate(AtSeparatorStateUpdate);

                result = base.ShowDialog(parent, myMessage, myCaption, myButtonLabels,
                                         System.Drawing.SystemIcons.Information);

                // De-Register to receive SeparatorState changes from the event sink
                myEventSink.UpdateSeparatorState -= new SeparatorStatusDelegate(AtSeparatorStateUpdate);
            }

            return(result);
        }
        private string GetBarcodeString(string barcode, int vialIdx)
        {
            //0 is vial B Square
            //1 is vial C Circle
            //2 is vial A Triangle
            //int vialIdx = lbDefaultNames.SelectedIndex;
            if (vialIdx < 0 || vialIdx > 2)
            {
                vialIdx = 0;
            }

            int quadrant = tabControl1.SelectedIndex;

            if (quadrant < 0 || quadrant > 3)
            {
                quadrant = 0;
            }

            return((barcode != "") ? barcode : (myUsedReagentVialList.Contains(GetLocation(quadrant, vialIdx)) ?
                                                SeparatorResourceManager.GetSeparatorString(StringId.ReagentCustom) :
                                                SeparatorResourceManager.GetSeparatorString(StringId.ReagentNotUsed)));
        }
Esempio n. 19
0
        private void LogException(Exception ex, string caller)
        {
            // Start with a generic error message
            string message = ex.Message;

            // If it is a known exception type, extract some more detailed information.
            CookComputing.XmlRpc.XmlRpcFaultException faultEx = ex as CookComputing.XmlRpc.XmlRpcFaultException;
            if (faultEx != null)
            {
                message = "(" + faultEx.FaultCode + ") " + faultEx.FaultString;
            }

            // Add more exception types if necessary
            string logMessage = SeparatorResourceManager.GetSeparatorString(
                StringId.ExInstrumentCommunicationsFailure) + message + " *** " + caller;

            LogFile.AddMessage(TraceLevel.Warning, logMessage);
            Debug.WriteLine(logMessage);


            // Report the error to the GUI so that it can take appropriate action
            ReportError(2, "TEC1300", new string[] { message });
        }
Esempio n. 20
0
        private void SetPausedMode()
        {
            // Instrument has paused -- disable the timeout timer
            timerPausingTimeout.Stop();

            // enable buttons
            cancelButton.Visible = true;
            cancelButton.Enabled = true;
            okButton.Visible     = true;
            okButton.Enabled     = true;

            okButton.Text       = SeparatorResourceManager.GetSeparatorString(StringId.RunResumeText);
            cancelButton.Text   = SeparatorResourceManager.GetSeparatorString(StringId.RunHaltText);
            myMessage           = SeparatorResourceManager.GetSeparatorString(StringId.PausePausedMessage);
            lblMessageText.Text = myMessage;
            myButtonLabels      = new string[2] {
                okButton.Text, cancelButton.Text
            };

            this.Icon    = System.Drawing.SystemIcons.Question;
            myCaption    = SeparatorResourceManager.GetSeparatorString(StringId.RunPauseText);
            this.Caption = myCaption;
            Refresh();
        }
Esempio n. 21
0
        private void SetPausedMode(bool lidClosed, bool isPauseCommand, string pauseCommandCaption)
        {
            // Instrument has paused -- disable the timeout timer
            timerPausingTimeout.Stop();

            // enable buttons
            SetButton2Visible(!isTipStripError);
            button_2.Enabled = !isTipStripError;

            SetButton1Visible(true);
            button_1.Enabled = true;

            button_1.Text = SeparatorResourceManager.GetSeparatorString(StringId.RunResumeText);
            button_2.Text = SeparatorResourceManager.GetSeparatorString(StringId.RunHaltText);
            //myButtonLabels = new string[2] { okButton.Text, cancelButton.Text };
            GUI_Controls.MessageIcon icon = GUI_Controls.MessageIcon.MBICON_INFORMATION;

            if (isPauseCommand)
            {
                myPauseStatus = PauseStatus.Manual;
                myCaption     = SeparatorResourceManager.GetSeparatorString(StringId.RunPauseText);
                myMessage     = pauseCommandCaption;
                System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs - SetPausedMode()...setting paused msg type 0 - PAUSE COMMAND\r");  // bdr

                LogFile.AddMessage(System.Diagnostics.TraceLevel.Verbose, "System paused manually");
            }
            else if (pauseCommandCaption.Equals("Manual tip strip"))
            {
                isTipStripError = true;
                myPauseStatus   = PauseStatus.TipStrip;
                // show general paused msg or custom paused-due-to-lid-up msg
                icon      = GUI_Controls.MessageIcon.MBICON_ERROR;
                myCaption = LanguageINI.GetString("headerTipStripError");
                myMessage = LanguageINI.GetString("msgTipStripError");
                System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs - SetPausedMode()...setting paused msg type TIP - lid is closed\r");  // bdr
                pauseCommandCaption = "";

                SetButton2Visible(false);
                button_2.Enabled = false;
                //myButtonLabels = new string[1] { okButton.Text };

                LogFile.AddMessage(TraceLevel.Warning, "PauseResumeDialog: Tip Strip error warning displayed");
            }
            else if (pauseCommandCaption.Equals("Tip strip recovery"))
            {
                isTipStripError = false;
                myPauseStatus   = PauseStatus.Recovery;
                // show general paused msg or custom paused-due-to-lid-up msg
                myCaption = LanguageINI.GetString("headerTipStripRecovery");
                myMessage = LanguageINI.GetString("msgTipStripRecovery");
                myMessage = myMessage + '\n' + SeparatorResourceManager.GetSeparatorString(StringId.PausePausedMessage);
                System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs - SetPausedMode()...setting paused msg type TIP2 - lid is closed\r");  // bdr
                pauseCommandCaption = "";

                SetButton2Visible(true);
                button_2.Enabled = true;


                LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, "PauseResumeDialog: Tip strip recovery window displayed");
            }
            else if (lidClosed)
            {
                myPauseStatus = PauseStatus.Lid;
                // show general paused msg or custom paused-due-to-lid-up msg
                myCaption = SeparatorResourceManager.GetSeparatorString(StringId.RunPauseText);
                myMessage = SeparatorResourceManager.GetSeparatorString(StringId.PausePausedMessage);
                System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs - SetPausedMode()...setting paused msg type 1 - lid is closed\r");  // bdr

                LogFile.AddMessage(TraceLevel.Warning, "PauseResumeDialog: Lid Sensor pause window displayed");
            }
            else
            {
                //this branch is never used... ?? RL
                myCaption = SeparatorResourceManager.GetSeparatorString(StringId.RunPauseText);
                myMessage = SeparatorResourceManager.GetSeparatorString(StringId.PauseLidUpMessage);
                System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs - SetPausedMode()...setting paused msg type 2 - lid is open\r");  // bdr

                LogFile.AddMessage(TraceLevel.Warning, "PauseResumeDialog: unexpected branch");
            }

            SetIcon(icon);
            SetMessage(myMessage);
            this.label_WindowTitle.Text = myCaption;
            this.Size = determineSize(myMessage);
            ResizeButtons();
            this.button_1.Refresh();
            this.button_2.Refresh();
            Refresh();
        }
Esempio n. 22
0
        // Create the modal dialog in the Pausing or Paused state (as indicated)
        public DialogResult ShowDialog(Form parent, bool isPausing, bool isLidClosed, bool isPauseCommand, string pauseCommandCaption) // bdr new
        {
            // LOG

            LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, "Show PauseResumeDialog");
            DialogResult result = DialogResult.Abort;

            if (myEventSink != null)
            {
                if (isPausing)
                {
                    System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs ShowDLg() state: isPausing");  // bdr

                    myMessage = string.Format(
                        SeparatorResourceManager.GetSeparatorString(StringId.PausePausingMessage),
                        (timerPausingTimeout.Interval / 1000)
                        );
                    myCaption = SeparatorResourceManager.GetSeparatorString(StringId.RunPausingText);
                    this.label_WindowTitle.Text = myCaption;
                    SetIcon(GUI_Controls.MessageIcon.MBICON_INFORMATION);
                    myButtonLabels = new string[] { };

                    // hide the OK button
                    SetButton1Visible(false);
                    SetButton2Visible(false);

                    // enable the timeout timer
                    timerPausingTimeout.Start();

                    LogFile.AddMessage(TraceLevel.Warning, "Run is pausing");
                }
                else // already Paused
                {
                    System.Diagnostics.Debug.WriteLine("(new) in PauseResumeDlg.cs ShowDLg() state: Paused");  // bdr
                    SetPausedMode(isLidClosed, isPauseCommand, pauseCommandCaption); // bdr new

                    LogFile.AddMessage(TraceLevel.Warning, "Run Paused");
                }

                // Register to receive SeparatorState changes from the event sink
                if (myStatusDelegate == null)
                {
                    myStatusDelegate = new SeparatorStatusDelegate(AtSeparatorStateUpdate);
                }

                myEventSink.UpdateSeparatorState += myStatusDelegate;

                //result = base.ShowDialog(parent, myMessage, myCaption, myButtonLabels,
                //    System.Drawing.SystemIcons.Information);

                //
                // << Jason Modification to fit new GUI >>
                //
                this.PreviousForm = parent != null ? parent : RoboSep_UserConsole.getInstance();
                this.message      = myMessage;
                this.SetMessage(myMessage);
                this.button_1.Text = LanguageINI.GetString("lblResume");
                this.button_2.Text = LanguageINI.GetString("lblStop");
                this.SetIcon(GUI_Controls.MessageIcon.MBICON_WAIT);
                this.Size = determineSize(myMessage);
                ResizeButtons();
                this.button_1.Refresh();
                this.button_2.Refresh();

                // show dialog
                RoboSep_UserConsole.showOverlay();
                this.ShowDialog();
                RoboSep_UserConsole.hideOverlay();

                result = this.DialogResult;

                string dbg = string.Format("PsRsDlg result {0}", result);
                System.Diagnostics.Debug.WriteLine(dbg); // bdr

                // De-Register to receive SeparatorState changes from the event sink
                if (myStatusDelegate != null)
                {
                    myEventSink.UpdateSeparatorState -= myStatusDelegate;
                }

                this.Dispose();
            }

            return(result);
        }