Beispiel #1
0
        /// <summary>
        /// This method is called when the test is completed
        /// </summary>
        /// <param name="_uutData"></param>
        /// <param name="_commonData"></param>
        public void UserCleanup(ref UUTData _uutData, ref CommonData _commonData)
        {
            try
            {
                // Disconnect 5V supply and TTL signal from the Sensor Board
                InstrumentIO.DisconnectTempBoardMeasRoute(mySw, TestPort);
                InstrumentIO.CloseAllTestValve(mySw);

                if (myLD != null)
                {
                    // at the end of the test, vent the Leak Detector
                    //Trace.WriteLine("Vent the Leak Detector");
                    //myLD.Vent();
                    Trace.WriteLine("Disconnecting Serial Port Communication....");
                    myLD.Close();
                    myLD = null;
                    Trace.WriteLine("   ... disconnected");
                }

                // Destruct the Test Classes
                myInitStationTest = null;
                myCalLeakTest     = null;
                mySystemCalTest   = null;
                myButtonUpTest    = null;

                // Check FinalTest outcome, Pass/Fail flag P,F,A,E and the test is in Production Mode
                if (_commonData.TestOutcome.ToUpper() == "P" && _commonData.isProdMode)
                {
                    Trace.WriteLine("Submitting Cal-Leak data summary to database...");
                    string sqlConStr = CalLeakConfigs.Default.SqlConString;
                    myCalLeakData.IsPass = true;    // Pass
                    using (SqlConnection conn = new SqlConnection(sqlConStr))
                    {
                        conn.Open();
                        var retVal = SqlHelper.SubmitFinalCalLeakData(conn, ref myCalLeakData);
                        Trace.WriteLine("CalLeak Data transfered to database.");

                        // Create certificate history for the unit
                        int    id    = Convert.ToInt32(retVal);
                        string eqIds = SqlHelper.GetCsvStringEquipmentUsed(conn, 2, 1);

                        // save UUT certificate details
                        SqlHelper.SaveCertDetails(conn, id, eqIds);
                    }

                    Trace.WriteLine("Generating new Serial Number...");
                    // Autogenerate Serial Number

                    string     modelNumber     = _uutData.Model;
                    string     serialNumber    = string.Empty;
                    DateTime   todayDate       = DateTime.Now;
                    int        workWeek        = DateTimeHelper.GetIso8601WeekOfYear(todayDate);
                    SernumInfo mySerialNumInfo = new SernumInfo();
                    mySerialNumInfo.Model = modelNumber;
                    using (SqlConnection conn = new SqlConnection(sqlConStr))
                    {
                        Trace.WriteLine("Connecting to SQL Database for serial number retrieval");
                        conn.Open();
                        Trace.WriteLine("Connection succeeded");

                        var newSernum = SqlHelper.GetNextRunningNumber(conn, ref mySerialNumInfo);
                        //serialNumber = string.Format("MY{0}{1}{2}", todayDate.ToString("yy"), todayDate.ToString("MM"), newSernum); // commented out due to serial number generation must use YYWW
                        serialNumber = string.Format("MY{0}{1}{2}", todayDate.ToString("yy"), workWeek.ToString("00"), newSernum);
                        Trace.WriteLine("New Serial Number is = " + serialNumber);
                    }

                    Trace.WriteLine("Submitting new serial number to database..");
                    DateTime date = DateTime.Now;
                    mySerialNumInfo.DummySernum   = _uutData.SerNum;
                    mySerialNumInfo.Model         = _uutData.Model;
                    mySerialNumInfo.IsPassTest    = true;
                    mySerialNumInfo.Sernum        = serialNumber;
                    mySerialNumInfo.LogDate       = date;
                    mySerialNumInfo.RunningNumber = mySerialNumInfo.RunningNumber;// +1;
                    string conStr = CalLeakConfigs.Default.SqlConString;
                    using (SqlConnection conn = new SqlConnection(conStr))
                    {
                        conn.Open();
                        var retVal = SqlHelper.SubmitAutoGeneratedSernum(conn, ref mySerialNumInfo);
                        Trace.WriteLine(retVal.ToString());
                    }
                    Trace.WriteLine("Done");
                }
                else if (_commonData.isProdMode)
                {
                    Trace.WriteLine("Submitting Cal-Leak data summary to database...");
                    string sqlConStr = CalLeakConfigs.Default.SqlConString;
                    myCalLeakData.IsPass = false;    // Failed
                    using (SqlConnection conn = new SqlConnection(sqlConStr))
                    {
                        conn.Open();
                        var retVal = SqlHelper.SubmitFinalCalLeakData(conn, ref myCalLeakData);
                        Trace.WriteLine("CalLeak Data transfered to database.");
                    }
                }
            }
            catch (Exception)
            {
            }
            finally
            {
                _uutData = null;
                //_commonData = null;

                // todo: play sound for test completion or tower light
            }
        }
Beispiel #2
0
        /// <summary>
        /// This method is called at the beginning of each test cases
        /// </summary>
        /// <param name="_uutData"></param>
        /// <param name="_commonData"></param>
        public void TestSetup(ref TestInfo myTestInfo, ref UUTData _uutData, ref CommonData _commonData)
        {
            try
            {
                if (_commonData.IsFailureExist)
                {
                    return;
                }

                switch (myTestInfo.GroupLabel)
                {
                case "InitStation":
                {
                    if (myInitStationTest == null)
                    {
                        myInitStationTest            = new InitStation();
                        myInitStationTest.mySw       = this.mySw;
                        myInitStationTest.myScope    = this.myScope;
                        myInitStationTest.myNistData = this.myNistData;
                        myInitStationTest.myLD       = this.myLD;
                    }
                }
                break;

                case "SystemCalibration1":
                case "SystemCalibration2":
                case "SystemCalibration3":
                {
                    if (mySystemCalTest == null)
                    {
                        mySystemCalTest            = new SystemCal();
                        mySystemCalTest.mySw       = this.mySw;
                        mySystemCalTest.myScope    = this.myScope;
                        mySystemCalTest.myNistData = this.myNistData;
                        mySystemCalTest.myLD       = this.myLD;
                    }
                }
                break;

                case "CalLeakTest1":
                case "CalLeakTest2":
                case "CalLeakTest3":
                {
                    if (myCalLeakTest == null)
                    {
                        myCalLeakTest            = new DUTTest();
                        myCalLeakTest.mySw       = this.mySw;
                        myCalLeakTest.myScope    = this.myScope;
                        myCalLeakTest.myNistData = this.myNistData;
                        myCalLeakTest.myLD       = this.myLD;
                    }
                }
                break;

                case "ButtonUp":
                {
                    if (myButtonUpTest == null)
                    {
                        myButtonUpTest = new ButtonUp();
                    }
                }
                break;

                case "SystemMaintenance":
                {
                    if (mySysMaintenance == null)
                    {
                        mySysMaintenance           = new SysMaintenance();
                        mySystemCalTest.mySw       = this.mySw;
                        mySystemCalTest.myScope    = this.myScope;
                        mySystemCalTest.myNistData = this.myNistData;
                        mySystemCalTest.myLD       = this.myLD;
                    }
                }
                break;

                default:
                    break;
                }
            }
            catch (Exception)
            {
                throw;
            }
        }