Esempio n. 1
0
        //
        // R E T U R N  S K U ##############################################################################
        //
        public void SpecialReturnSKUs()
        {
            RanorexRepository          repo                     = new RanorexRepository();
            fnWriteToLogFile           WriteToLogFile           = new fnWriteToLogFile();
            FnProductionIssueFunctions ProductionIssueFunctions = new FnProductionIssueFunctions();

            Global.LogText = @"Starting Return";
            WriteToLogFile.Run();

            Global.SpecialReturningSKUs = true;
            SpecialEnterSKUs();
        }
Esempio n. 2
0
        //#####################################################################################
        //	Production Issue: 3432/01 6/21 Missing Transaction Tr5
        //	1.	Add a PUR pro customer to the order.
        //	2.	Trade SKU 112321
        //	3.	Trade SKU 954010
        //	4.	Trade SKU 109523
        //	5.	Trade SKU 954013
        //	6.	Trade SKU 109536
        //	7.	Trade SKU 103080
        //	8.	Trade SKU 107399
        //	9.	Purchase SKU 109386
        //	10.	Purchase SKU 101820
        //	11.	Pre-Order SKU 113170, with a deposit of $9.92
        //	12.	Pay the rest with cash.
        //#####################################################################################
        private void Issue_3432_01()
        {
            FnProductionIssueFunctions ProductionIssueFunctions = new FnProductionIssueFunctions();
            fnWriteToLogFile           WriteToLogFile           = new fnWriteToLogFile();

            RanorexRepository repo = new RanorexRepository();

            Global.LogText = " Start Issue_3432_01";
            WriteToLogFile.Run();

            ProductionIssueFunctions.SpecialStartTransaction();

            Global.SpecialCustomerPhoneNumber = "8175551133";
            ProductionIssueFunctions.SpecialEnterCustomer();

            Global.NumberSpecialTrades = 7;
            Global.SpecialTrades[1]    = "112321";
            Global.SpecialTrades[2]    = "954010";
            Global.SpecialTrades[3]    = "109523";
            Global.SpecialTrades[4]    = "954013";
            Global.SpecialTrades[5]    = "109536";
            Global.SpecialTrades[6]    = "103080";
            Global.SpecialTrades[7]    = "107399";
            ProductionIssueFunctions.SpecialEnterTradess();

            Global.NumberSpecialSKUs     = 3;
            Global.SpecialSKUs[1]        = "109386";
            Global.SpecialSKUs[2]        = "101820";
            Global.SpecialInitialDeposit = "9.92";
            Global.SpecialSKUs[3]        = "108274";       // Pre-Order item
            ProductionIssueFunctions.SpecialPurchaseSKUs();

            Global.SpecialCheckingOut   = false;
            Global.PayWithMethod        = "Cash";
            Global.SpecialPayThisAmount = "All";
            ProductionIssueFunctions.SpecialPreCheckOut();

            ProductionIssueFunctions.SpecialCheckForCodeF4Alert();

            repo.RetechLoginView.TxtPassword.PressKeys("{Escape}"); // initial sign on screen

            Global.LogText = " End Issue_3432_01";
            WriteToLogFile.Run();

            if (Directory.Exists(Global.MiniDumpDirectory))
            {
                Environment.Exit(0);
            }
        }
Esempio n. 3
0
        //#####################################################################################
        //	Production Issue: 1705/01 9/13 Access Lock Bug
        //	1.	Add SKU 930586 to the order.
        //	2.	Add a PUR pro customer to the order.
        //	3.	Pay $10.00 with cash.
        //	4.	Pay the rest with debit.
        //#####################################################################################
        private void Issue_1705_01()
        {
            FnProductionIssueFunctions ProductionIssueFunctions = new FnProductionIssueFunctions();
            fnWriteToLogFile           WriteToLogFile           = new fnWriteToLogFile();

            RanorexRepository repo = new RanorexRepository();

            Global.LogText = " Start Issue_1705_01";
            WriteToLogFile.Run();

            ProductionIssueFunctions.SpecialStartTransaction();

            Global.NumberSpecialSKUs = 1;
            Global.SpecialSKUs[1]    = "930586";
            ProductionIssueFunctions.SpecialPurchaseSKUs();

            Global.SpecialCustomerPhoneNumber = "8175551133";
            ProductionIssueFunctions.SpecialEnterCustomer();

            Global.SpecialCheckingOut   = false;
            Global.PayWithMethod        = "Cash";
            Global.SpecialPayThisAmount = "10.00";
            ProductionIssueFunctions.SpecialPreCheckOut();

            Global.SpecialCheckingOut   = true;
            Global.PayWithMethod        = "Credit";
            Global.SpecialPayThisAmount = "All";
            ProductionIssueFunctions.SpecialPreCheckOut();

            ProductionIssueFunctions.SpecialCheckForCodeF4Alert();

            repo.RetechLoginView.TxtPassword.PressKeys("{Escape}"); // initial sign on screen

            Global.LogText = " End Issue_1705_01";
            WriteToLogFile.Run();

            if (Directory.Exists(Global.MiniDumpDirectory))
            {
                Environment.Exit(0);
            }
        }
Esempio n. 4
0
        public void Run()
        {
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor            = 1.0;


            Ranorex.Unknown element = null;

            RanorexRepository           repo                      = new RanorexRepository();
            fnWriteToLogFile            WriteToLogFile            = new fnWriteToLogFile();
            fnWriteToErrorFile          WriteToErrorFile          = new fnWriteToErrorFile();
            fnWaitForItemSearchToFinish WaitForItemSearchToFinish = new fnWaitForItemSearchToFinish();
            fnDumpStatsQ4            DumpStatsQ4                  = new fnDumpStatsQ4();
            fnTimeMinusOverhead      TimeMinusOverhead            = new fnTimeMinusOverhead();
            fnUpdatePALStatusMonitor UpdatePALStatusMonitor       = new fnUpdatePALStatusMonitor();
            FnWriteOutStatsQ4Buffer  WriteOutStatsQ4Buffer        = new FnWriteOutStatsQ4Buffer();
            FnCheckout                 Checkout                   = new FnCheckout();
            FnStartTransaction         StartTransaction           = new FnStartTransaction();
            FnProductionIssueFunctions ProductionIssueFunctions   = new FnProductionIssueFunctions();
            FnEnterSKU                 EnterSKU                   = new FnEnterSKU();

            Global.RetechScenariosPerformed++;
            UpdatePALStatusMonitor.Run();

            // Create new stopwatch
            Stopwatch MystopwatchTT = new Stopwatch();

            MystopwatchTT.Reset();
            MystopwatchTT.Start();

            Stopwatch MystopwatchTotal = new Stopwatch();

            MystopwatchTotal.Reset();
            MystopwatchTotal.Start();
            Stopwatch MystopwatchQ4          = new Stopwatch();
            Stopwatch MystopwatchModuleTotal = new Stopwatch();
            Stopwatch MystopwatchF1          = new Stopwatch();
            Stopwatch MystopwatchTrade       = new Stopwatch();

            // Start
            MystopwatchModuleTotal.Reset();
            MystopwatchModuleTotal.Start();

            MystopwatchQ4.Reset();
            MystopwatchQ4.Start();

            Global.LogText = @"Start Transaction";
            WriteToLogFile.Run();
            StartTransaction.Run();

            if (Global.DomesticRegister)
            {
                Global.LogText = @"Enter Customer Information";
                WriteToLogFile.Run();

                // Enter customer
                MystopwatchQ4.Reset();
                MystopwatchQ4.Start();

                repo.Retech.FindCustomerTextBox.PressKeys("9727651234{Enter}");
                Thread.Sleep(100);
                while (!repo.RetechFindCustomerView.CustomerSearchCriteria.Enabled)
                {
                    Thread.Sleep(100);
                }

                TimeMinusOverhead.Run((float)MystopwatchModuleTotal.ElapsedMilliseconds);                   // Subtract overhead and store in Global.Q4StatLine
                Global.CurrentMetricDesciption = "Member Card Lookup";
                Global.Module = "Member Card Lookup";
                DumpStatsQ4.Run();
                Global.CurrentMetricDesciption = "Module Total Time";
                DumpStatsQ4.Run();
            }

            MystopwatchModuleTotal.Reset();
            MystopwatchModuleTotal.Start();

            MystopwatchQ4.Reset();
            MystopwatchQ4.Start();

            if (Global.DomesticRegister)
            {
                while (!Host.Local.TryFindSingle(repo.RetechFindCustomerView.ListBoxItemInfo.AbsolutePath.ToString(), out element))
                {
                    Thread.Sleep(100);
                }                                            // change 1/8/17
                repo.RetechFindCustomerView.ListBoxItem.Click();

                while (Host.Local.TryFindSingle(repo.RetechFindCustomerView.ListBoxItemInfo.AbsolutePath.ToString(), out element))
                {
                    Thread.Sleep(100);
                }
            }

            int NumberSKUs = 1;

            if (Global.NumberOfTradesMinusOne == 4)
            {
                NumberSKUs = 1;
            }
            else if (Global.NumberOfTradesMinusOne == 99)
            {
                NumberSKUs = 4;
            }

            for (int x = 1; x <= NumberSKUs; x++)
            {
                Global.LogText = @"Add Item";
                WriteToLogFile.Run();

                if (Global.DomesticRegister)
                {
                    // Press F1 add item
                    Keyboard.Press("{F1}");                     // Add Item F1
                    MystopwatchF1.Reset();
                    MystopwatchF1.Start();
                    while (!Host.Local.TryFindSingle(repo.AddItemTextInfo.AbsolutePath.ToString(), out element))
                    {
                        Thread.Sleep(100);
                        if (MystopwatchF1.ElapsedMilliseconds > 1000)
                        {
                            Keyboard.Press("{F1}");
                            Thread.Sleep(100);
                            MystopwatchF1.Reset();
                            MystopwatchF1.Start();
                        }
                    }
                }

                Global.LogText = @"Enter purchase SKU";
                WriteToLogFile.Run();

                // Enter SKUs
                if (Global.DomesticRegister)
                {
                    if (NumberSKUs == 1)
                    {
                        repo.AddItemText.TextValue = "115571";
                    }
                    else
                    {
                        repo.AddItemText.TextValue = "883672";
                    }
                    repo.RetechQuickEntryView.TxtWatermark.PressKeys("{Enter}");

                    Thread.Sleep(200);

                    while (!Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element))
                    {
                        if (Host.Local.TryFindSingle(repo.ShellView.AgeVerifiedCommandWPFInfo.AbsolutePath.ToString(), out element))
                        {
                            repo.ShellView.AgeVerifiedCommandWPF.Click();
                            Thread.Sleep(100);
                        }                               // 11/16/18
                    }
//					if(Host.Local.TryFindSingle(repo.ShellView.AgeVerifiedCommandWPFInfo.AbsolutePath.ToString(), out element))
//					{	repo.ShellView.AgeVerifiedCommandWPF.Click();
//						Thread.Sleep(100);
//					}

                    if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element))
                    {
                        repo.ContinueButtonCommand.Click();
                        Thread.Sleep(100);
                    }

                    while (!repo.AddLineItemCommand.Enabled)
                    {
                        if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element))
                        {
                            repo.ContinueButtonCommand.Click();
                        }
                        Thread.Sleep(100);
                    }
                }
                else                 // International
                {
                    EnterSKU.Run();  // Value  set in EnterSKU
                }
            }

//			TimeMinusOverhead.Run((float) MystopwatchQ4.ElapsedMilliseconds);  // Subtract overhead and store in Global.Q4StatLine
//			Global.CurrentMetricDesciption = "Enter SKUs";
//		    Global.Module = "Enter SKUs";
//		    DumpStatsQ4.Run();
//			Global.CurrentMetricDesciption = "Module Total Time";
//          DumpStatsQ4.Run();

            MystopwatchModuleTotal.Reset();
            MystopwatchModuleTotal.Start();

            MystopwatchQ4.Reset();
            MystopwatchQ4.Start();

            if (Global.DomesticRegister)
            {
                switch (Global.RetechVersion.Substring(0, 3))
                {
                case "5.6":
                    while (!repo.Retech.TradeKey_5_6_0_103.Enabled)
                    {
                        Thread.Sleep(100);
                    }
                    break;

                case "5.7":
                    while (!repo.Retech.TradesF3_5_7_1_2.Enabled)
                    {
                        Thread.Sleep(100);
                    }
                    break;

                default:
                    while (!repo.Retech.TradesF3_5_7_1_2.Enabled)
                    {
                        Thread.Sleep(100);
                    }
                    break;
                }
            }

            // Press the Trade Key
            if (Global.DomesticRegister)
            {
                Keyboard.Press("{F3}");

                while (!Host.Local.TryFindSingle(repo.Retech.TradesTotalInfo.AbsolutePath.ToString(), out element))
                {
                    Thread.Sleep(100);
                }
            }
            else                                                    // International
            {
                repo.InternationalInsideSKUField.PressKeys("{F6}"); // Trades
                while (!repo.TradeIn.InternationalTradeSKUFIeld.Enabled)
                {
                    Thread.Sleep(100);
                }
            }

            string[] TradeInSKUList = new string[100];
            TradeInSKUList[0]  = Global.S17Trade1;
            TradeInSKUList[1]  = Global.S17Trade2;
            TradeInSKUList[2]  = Global.S17Trade3;
            TradeInSKUList[3]  = Global.S17Trade4;
            TradeInSKUList[4]  = Global.S17Trade6;     // 02-20-18
            TradeInSKUList[5]  = Global.S17Trade6;
            TradeInSKUList[6]  = Global.S17Trade7;
            TradeInSKUList[7]  = Global.S17Trade8;
            TradeInSKUList[8]  = Global.S17Trade9;
            TradeInSKUList[9]  = Global.S17Trade10;
            TradeInSKUList[10] = Global.S17Trade11;
            TradeInSKUList[11] = Global.S17Trade12;
            TradeInSKUList[12] = Global.S17Trade13;
            TradeInSKUList[13] = Global.S17Trade14;
            TradeInSKUList[14] = Global.S17Trade15;
            TradeInSKUList[15] = Global.S17Trade16;
            TradeInSKUList[16] = Global.S17Trade17;
            TradeInSKUList[17] = Global.S17Trade18;
            TradeInSKUList[18] = Global.S17Trade19;
            TradeInSKUList[19] = Global.S17Trade20;
            TradeInSKUList[20] = Global.S17Trade21;
            TradeInSKUList[21] = Global.S17Trade22;
            TradeInSKUList[22] = Global.S17Trade23;
            TradeInSKUList[23] = Global.S17Trade24;
            TradeInSKUList[24] = Global.S17Trade25;
            TradeInSKUList[25] = Global.S17Trade1;
            TradeInSKUList[26] = Global.S17Trade2;
            TradeInSKUList[27] = Global.S17Trade3;
            TradeInSKUList[28] = Global.S17Trade4;
            TradeInSKUList[29] = Global.S17Trade5;
            TradeInSKUList[30] = Global.S17Trade6;
            TradeInSKUList[31] = Global.S17Trade7;
            TradeInSKUList[32] = Global.S17Trade8;
            TradeInSKUList[33] = Global.S17Trade9;
            TradeInSKUList[34] = Global.S17Trade10;
            TradeInSKUList[35] = Global.S17Trade11;
            TradeInSKUList[36] = Global.S17Trade12;
            TradeInSKUList[37] = Global.S17Trade13;
            TradeInSKUList[38] = Global.S17Trade14;
            TradeInSKUList[39] = Global.S17Trade15;
            TradeInSKUList[40] = Global.S17Trade16;
            TradeInSKUList[41] = Global.S17Trade17;
            TradeInSKUList[42] = Global.S17Trade18;
            TradeInSKUList[43] = Global.S17Trade19;
            TradeInSKUList[44] = Global.S17Trade20;
            TradeInSKUList[45] = Global.S17Trade21;
            TradeInSKUList[46] = Global.S17Trade22;
            TradeInSKUList[47] = Global.S17Trade23;
            TradeInSKUList[48] = Global.S17Trade24;
            TradeInSKUList[49] = Global.S17Trade25;
            TradeInSKUList[50] = Global.S17Trade1;
            TradeInSKUList[51] = Global.S17Trade2;
            TradeInSKUList[52] = Global.S17Trade3;
            TradeInSKUList[53] = Global.S17Trade4;
            TradeInSKUList[54] = Global.S17Trade5;
            TradeInSKUList[55] = Global.S17Trade6;
            TradeInSKUList[56] = Global.S17Trade7;
            TradeInSKUList[57] = Global.S17Trade8;
            TradeInSKUList[58] = Global.S17Trade9;
            TradeInSKUList[59] = Global.S17Trade10;
            TradeInSKUList[60] = Global.S17Trade11;
            TradeInSKUList[61] = Global.S17Trade12;
            TradeInSKUList[62] = Global.S17Trade13;
            TradeInSKUList[63] = Global.S17Trade14;
            TradeInSKUList[64] = Global.S17Trade15;
            TradeInSKUList[65] = Global.S17Trade16;
            TradeInSKUList[66] = Global.S17Trade17;
            TradeInSKUList[67] = Global.S17Trade18;
            TradeInSKUList[68] = Global.S17Trade19;
            TradeInSKUList[69] = Global.S17Trade20;
            TradeInSKUList[70] = Global.S17Trade21;
            TradeInSKUList[71] = Global.S17Trade22;
            TradeInSKUList[72] = Global.S17Trade23;
            TradeInSKUList[73] = Global.S17Trade24;
            TradeInSKUList[74] = Global.S17Trade25;
            TradeInSKUList[75] = Global.S17Trade1;
            TradeInSKUList[76] = Global.S17Trade2;
            TradeInSKUList[77] = Global.S17Trade3;
            TradeInSKUList[78] = Global.S17Trade4;
            TradeInSKUList[79] = Global.S17Trade5;
            TradeInSKUList[80] = Global.S17Trade6;
            TradeInSKUList[81] = Global.S17Trade7;
            TradeInSKUList[82] = Global.S17Trade8;
            TradeInSKUList[83] = Global.S17Trade9;
            TradeInSKUList[84] = Global.S17Trade10;
            TradeInSKUList[85] = Global.S17Trade11;
            TradeInSKUList[86] = Global.S17Trade12;
            TradeInSKUList[87] = Global.S17Trade13;
            TradeInSKUList[88] = Global.S17Trade14;
            TradeInSKUList[89] = Global.S17Trade15;
            TradeInSKUList[90] = Global.S17Trade16;
            TradeInSKUList[91] = Global.S17Trade17;
            TradeInSKUList[92] = Global.S17Trade18;
            TradeInSKUList[93] = Global.S17Trade19;
            TradeInSKUList[94] = Global.S17Trade20;
            TradeInSKUList[95] = Global.S17Trade21;
            TradeInSKUList[96] = Global.S17Trade22;
            TradeInSKUList[97] = Global.S17Trade23;
            TradeInSKUList[98] = Global.S17Trade24;
            TradeInSKUList[99] = Global.S17Trade25;

            Global.LogText = @"Enter Trade SKUs";
            WriteToLogFile.Run();

            for (int soff = 0; soff <= Global.NumberOfTradesMinusOne; soff++)
            {
                if (Global.DomesticRegister)
                {
                    // Press F1 add item
                    Keyboard.Press("{F1}");                     // Add Item F1
                    MystopwatchF1.Reset();
                    MystopwatchF1.Start();
                    while (!Host.Local.TryFindSingle(repo.AddItemTextInfo.AbsolutePath.ToString(), out element))
                    {
                        Thread.Sleep(100);
                        if (MystopwatchF1.ElapsedMilliseconds > 1000)
                        {
                            Keyboard.Press("{F1}");                             // Add Item F1
                            Thread.Sleep(100);
                            MystopwatchF1.Reset();
                            MystopwatchF1.Start();
                        }
                    }

                    // Enter SKUs
                    repo.AddItemText.TextValue = TradeInSKUList[soff];
                    repo.RetechQuickEntryView.TxtWatermark.PressKeys("{Enter}");
                }
                else                 // International
                {
                    // for International SKU search for staring with PO in description
                    //	select * from SKU
                    //	Where Price >= 1 and description like 'PO%'
                    //	order by Price
                    repo.TradeIn.InternationalTradeSKUFIeld.PressKeys("703620{Enter}");
                }
            }

            if (!Global.DomesticRegister)
            {
                while (!repo.TradeIn.InternationalTradeSKUFIeld.Enabled)
                {
                    Thread.Sleep(100);
                }
                repo.TradeIn.InternationalTradeSKUFIeld.PressKeys("{F12}");                     // complete tradces
            }

            TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds);               // Subtract overhead and store in Global.Q4StatLine
            Global.CurrentMetricDesciption = "Enter Trades";
            Global.Module = "Enter Trades";
            DumpStatsQ4.Run();
            Global.CurrentMetricDesciption = "Module Total Time";
            DumpStatsQ4.Run();



            if (Global.DomesticRegister)
            {
                MystopwatchModuleTotal.Reset();
                MystopwatchModuleTotal.Start();

                MystopwatchQ4.Reset();
                MystopwatchQ4.Start();

                switch (Global.RetechVersion.Substring(0, 3))
                {
                case "5.6":
                    Global.LogText = @"Clicking on Purchase Mode F2";
                    WriteToLogFile.Run();
                    repo.Retech.Self.Focus();
                    Keyboard.Press("{F2}");                              // Purchase Mode F2
                    Thread.Sleep(100);

                    Global.LogText = @"Clicking Cointinue in Purchase Mode F6";
                    WriteToLogFile.Run();
                    repo.Retech.Self.Focus();
                    Keyboard.Press("{F6}");                 // Continue in Purchase Mode F6
                    //            repo.Retech.ContinueToPurchaseMode.Click(); // Continue in Purchase Mode F6
                    Thread.Sleep(100);

                    Global.LogText = @"Waiting on CustomerInfoEditProfileIcon";
                    WriteToLogFile.Run();
                    while (!Host.Local.TryFindSingle(repo.LineItemCustomerEditorView.CustomerInfoEditProfileIcon_5_6_0_103Info.AbsolutePath.ToString(), out element))
                    {
                        Thread.Sleep(100);
                    }
                    break;

                case "5.7":
                    Global.LogText = @"Clicking on Trades F3 Continue F5 button";
                    WriteToLogFile.Run();
                    repo.Retech.ContinueButtonCommandTrade_5_7_1_2.Click();
                    Global.LogText = @"Waiting on CustomerInfoEditProfileIcon";
                    WriteToLogFile.Run();
                    while (!Host.Local.TryFindSingle(repo.EditProfileCommandInfo.AbsolutePath.ToString(), out element))
                    {
                        Thread.Sleep(100);
                    }
                    break;

                default:
                    Global.LogText = @"Clicking on Trades F3 Continue F5 button";
                    WriteToLogFile.Run();
                    repo.Retech.ContinueButtonCommandTrade_5_7_1_2.Click();
//						Global.LogText = @"Waiting on CustomerInfoEditProfileIcon";
//						WriteToLogFile.Run();
//						while(!Host.Local.TryFindSingle(repo.CustomerEditorView.EditProfileCommand_5_7_1_2Info.AbsolutePath.ToString(), out element))
//						{	Thread.Sleep(100);	}
                    break;
                }
                TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds);                   // Subtract overhead and store in Global.Q4StatLine
                Global.CurrentMetricDesciption = "Select Purchase Mode";
                Global.Module = "Select Purchase Mode";
                DumpStatsQ4.Run();
                Global.CurrentMetricDesciption = "Module Total Time";
                DumpStatsQ4.Run();

// Start block comment for program flow change
                MystopwatchModuleTotal.Reset();
                MystopwatchModuleTotal.Start();

                MystopwatchQ4.Reset();
                MystopwatchQ4.Start();

                // ##### Start edit customer
                Global.LogText = @"F8 edit customer info";
                WriteToLogFile.Run();

                MystopwatchQ4.Reset();
                MystopwatchQ4.Start();
                // Edit the customer information
//				Keyboard.Press("{F8}"); // edit F8
                while (!repo.EditProfileCommand.Enabled)
                {
                    Thread.Sleep(100);
                }
                repo.EditProfileCommand.Click();
                while (!repo.Gender.Enabled)
                {
                    Thread.Sleep(100);
                }
                if (repo.Gender.SelectedItemText == null)
                {
                    repo.Gender.SelectedItemText = "Female";
                }
                if (repo.EyeColor.SelectedItemText == null)
                {
                    repo.EyeColor.SelectedItemText = "Brown";
                }
                if (repo.HairColor.SelectedItemText == null)
                {
                    repo.HairColor.SelectedItemText = "Brown";
                }

                Thread.Sleep(200);
                if (repo.CustomerEditorView1.DateOfBirth.TextValue == "")
                {
                    repo.CustomerEditorView1.DateOfBirth.TextValue = "01/01/1940";
                }

                if (repo.AlternatePhoneValue.TextValue == "")
                {
                    repo.AlternatePhoneValue.TextValue = "5555555555";
                }
                if (repo.StreetTwoValue.TextValue == "")
                {
                    repo.StreetTwoValue.TextValue = "10 St";
                }
                if (repo.CustInfoEmail.TextValue == "")
                {
                    repo.CustInfoEmail.PressKeys("*****@*****.**");
                }


                // ##### End edit customer
                Global.LogText = @"Save Customer F6";
                WriteToLogFile.Run();
                Keyboard.Press("{F6}");             // Save
                Thread.Sleep(200);

                TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds);                   // Subtract overhead and store in Global.Q4StatLine
                Global.CurrentMetricDesciption = "Edit Customer Information";
                Global.Module = "Edit Customer Information";
                DumpStatsQ4.Run();
                Global.CurrentMetricDesciption = "Module Total Time";
                DumpStatsQ4.Run();


// End block comment


                MystopwatchModuleTotal.Reset();
                MystopwatchModuleTotal.Start();

                MystopwatchQ4.Reset();
                MystopwatchQ4.Start();


                Global.LogText = @"F6 Continue to Purchase & Contine to pin pad";
                WriteToLogFile.Run();
                while (!Host.Local.TryFindSingle(repo.DialogShellView.WaitingForSignatureInfo.AbsolutePath.ToString(), out element))
                {
                    Keyboard.Press("{F6}");                 // Continue in Purchase Mode F6 & Continue to Pin Pad F6
                    Thread.Sleep(500);
                }

                Global.LogText = @"Sign on Pin Pad";
                WriteToLogFile.Run();

                Thread.Sleep(50);
                repo.RetechPeripheralHostWindow.SignOnPinPad.Click();

                Thread.Sleep(50);
                repo.RetechPeripheralHostWindow.AcceptOnPinPad.Click();

                Thread.Sleep(50);
                repo.RetechPeripheralHostWindow.MinimizePinPad.Click();              // minimize cause always on top!!!!

                Thread.Sleep(50);
                repo.DialogShellView.SignatureAcceptedCommand.Click();

                Thread.Sleep(100);

                if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element))
                {
                    repo.ContinueButtonCommand.Click();
                    Thread.Sleep(100);
                }

//				Global.LogText = @"SpecialPriceOverride";
//				WriteToLogFile.Run();
//		        ProductionIssueFunctions.SpecialPriceOverride(12.00m);

                TimeMinusOverhead.Run((float)MystopwatchModuleTotal.ElapsedMilliseconds);                   // Subtract overhead and store in Global.Q4StatLine
                Global.NowCustomerLookup       = Global.AdjustedTime;
                Global.CurrentMetricDesciption = "Sign on Pin Pad";
                Global.Module = "Sign on Pin Pad";
                DumpStatsQ4.Run();
                Global.CurrentMetricDesciption = "Module Total Time";
                DumpStatsQ4.Run();
            }


            // @#@#@# C H E C K O U T #@#@#@
            Global.PayWithMethod = "Cash";
            Checkout.Run();

            TimeMinusOverhead.Run((float)MystopwatchTT.ElapsedMilliseconds);   // Subtract overhead and store in Global.Q4StatLine
            Global.CurrentMetricDesciption = @"Scenario 47";
            Global.Module = "Total Time";
            DumpStatsQ4.Run();

            // Write out metrics buffer
            WriteOutStatsQ4Buffer.Run();


            Thread.Sleep(2000);
        }
        public void Run()
        {       //*****************Start  Scenario 40 - Retech - Card Balance ******************
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor            = 1.0;

            //Ranorex.Unknown element = null;
            Global.AbortScenario = false;

            // Uses same SKU and Customer for Scenarios 3, 4, and 5

            RanorexRepository        repo = new RanorexRepository();
            fnTimeMinusOverhead      TimeMinusOverhead          = new fnTimeMinusOverhead();
            fnDumpStatsQ4            DumpStatsQ4                = new fnDumpStatsQ4();
            fnWriteToLogFile         WriteToLogFile             = new fnWriteToLogFile();
            fnWriteToErrorFile       WriteToErrorFile           = new fnWriteToErrorFile();
            FnWriteOutStatsQ4Buffer  WriteOutStatsQ4Buffer      = new FnWriteOutStatsQ4Buffer();
            fnUpdatePALStatusMonitor UpdatePALStatusMonitor     = new fnUpdatePALStatusMonitor();
            FnCheckout                 Checkout                 = new FnCheckout();
            FnStartTransaction         StartTransaction         = new FnStartTransaction();
            FnEnterSKU                 EnterSKU                 = new FnEnterSKU();
            FnProductionIssueFunctions ProductionIssueFunctions = new FnProductionIssueFunctions();

            Global.CurrentScenario = 43;

            if (!Global.IndirectCall)
            {
                if (!Global.DoScenarioFlag[Global.CurrentScenario])
                {
                    return;
                }
            }

            Global.ScenarioExecuted = true;

            Global.RetechScenariosPerformed++;
            UpdatePALStatusMonitor.Run();

            // Create new stopwatch
            Stopwatch MystopwatchTT = new Stopwatch();

            MystopwatchTT.Reset();
            MystopwatchTT.Start();

            Stopwatch MystopwatchF1 = new Stopwatch();

            Stopwatch MystopwatchTotal = new Stopwatch();

            MystopwatchTotal.Reset();
            MystopwatchTotal.Start();
            Stopwatch MystopwatchQ4          = new Stopwatch();
            Stopwatch MystopwatchModuleTotal = new Stopwatch();

            Global.LogText = @"---> fnDoScenario43 Iteration: " + Global.CurrentIteration;
            WriteToLogFile.Run();
            Report.Log(ReportLevel.Info, "Scenario 40 IN", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0));

            // Start


            // Check card balance
            MystopwatchQ4.Reset();
            MystopwatchQ4.Start();
            repo.ShellView.CardBalanceButton.Click();
            Thread.Sleep(100);
            repo.CardBalanceInquiryView.AccountNumber.TextValue = "3876608052056";
            repo.CardBalanceInquiryView.AccountNumber.PressKeys("{Enter}");
            while (!repo.CardBalanceInquiryView.PowerUpRewardsCardBalanceText.Visible)
            {
                Thread.Sleep(1000);
            }
            TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds);               // Subtract overhead and store in Global.Q4StatLine
            Global.CurrentMetricDesciption = "Check Card Balance";
            Global.Module = "Check Card Balance";
            DumpStatsQ4.Run();
            Global.CurrentMetricDesciption = "Module Total Time";
            DumpStatsQ4.Run();
            Thread.Sleep(2000);
            Keyboard.Press("{Escape}");


            TimeMinusOverhead.Run((float)MystopwatchTT.ElapsedMilliseconds);   // Subtract overhead and store in Global.Q4StatLine
            Global.CurrentMetricDesciption = @"Scenario 43";
            Global.Module = "Total Time";
            DumpStatsQ4.Run();

            if (!Global.AbortScenario)
            {
                // Write out metrics buffer
                WriteOutStatsQ4Buffer.Run();
            }
            else
            {
                Global.Q4StatBuffer = "";
            }

            Global.LogText = "<--- fnDoScenario43 Iteration: " + Global.CurrentIteration;
            WriteToLogFile.Run();
            Report.Log(ReportLevel.Info, "Scenario 43 OUT", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0));

            Thread.Sleep(2000);

            // ***********End Scenario 43*****************
        }
Esempio n. 6
0
        public void Run()
        {       //*****************Start  Scenario 40 - Retech - PRP ******************
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor            = 1.0;

            //Ranorex.Unknown element = null;
            Global.AbortScenario = false;

            // Uses same SKU and Customer for Scenarios 3, 4, and 5

            RanorexRepository        repo = new RanorexRepository();
            fnTimeMinusOverhead      TimeMinusOverhead          = new fnTimeMinusOverhead();
            fnDumpStatsQ4            DumpStatsQ4                = new fnDumpStatsQ4();
            fnWriteToLogFile         WriteToLogFile             = new fnWriteToLogFile();
            fnWriteToErrorFile       WriteToErrorFile           = new fnWriteToErrorFile();
            FnWriteOutStatsQ4Buffer  WriteOutStatsQ4Buffer      = new FnWriteOutStatsQ4Buffer();
            fnUpdatePALStatusMonitor UpdatePALStatusMonitor     = new fnUpdatePALStatusMonitor();
            FnCheckout                 Checkout                 = new FnCheckout();
            FnStartTransaction         StartTransaction         = new FnStartTransaction();
            FnEnterSKU                 EnterSKU                 = new FnEnterSKU();
            FnProductionIssueFunctions ProductionIssueFunctions = new FnProductionIssueFunctions();

            Global.CurrentScenario = 42;

            if (!Global.IndirectCall)
            {
                if (!Global.DoScenarioFlag[Global.CurrentScenario])
                {
                    return;
                }
            }

            Global.ScenarioExecuted = true;

            Global.RetechScenariosPerformed++;
            UpdatePALStatusMonitor.Run();

            // Create new stopwatch
            Stopwatch MystopwatchTT = new Stopwatch();

            MystopwatchTT.Reset();
            MystopwatchTT.Start();

            Stopwatch MystopwatchF1 = new Stopwatch();

            Stopwatch MystopwatchTotal = new Stopwatch();

            MystopwatchTotal.Reset();
            MystopwatchTotal.Start();
            Stopwatch MystopwatchQ4          = new Stopwatch();
            Stopwatch MystopwatchModuleTotal = new Stopwatch();

            Global.LogText = @"---> fnDoScenario42 Iteration: " + Global.CurrentIteration;
            WriteToLogFile.Run();
            Report.Log(ReportLevel.Info, "Scenario 40 IN", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0));

            // Start



            MystopwatchModuleTotal.Reset();
            MystopwatchModuleTotal.Start();

            StartTransaction.Run();

            MystopwatchModuleTotal.Reset();
            MystopwatchModuleTotal.Start();

            Global.LogText = @"Add Item";
            WriteToLogFile.Run();

            MystopwatchQ4.Reset();
            MystopwatchQ4.Start();


            // Add PRP
            EnterPRPSKU();

/*
 *                      // Price override
 *          MystopwatchQ4.Reset();
 *                      MystopwatchQ4.Start();
 *
 *                      string TextAmt = repo.Retech.NetTotal.TextValue.Substring(1,repo.Retech.NetTotal.TextValue.Length - 1);
 *                      string TextTotAmt = repo.Retech.TotalPurchases.TextValue.Substring(1,repo.Retech.TotalPurchases.TextValue.Length - 1);
 *                      decimal DecAmt = Convert.ToDecimal(TextAmt);
 *                      decimal DecTotAmt = Convert.ToDecimal(TextTotAmt);
 *                      decimal UseAmt =    DecTotAmt - DecAmt + 1.00m;
 *                      Global.SpecialPayThisAmount = Convert.ToString(UseAmt);
 *
 *                      ProductionIssueFunctions.SpecialPriceOverride(1.00m);  // lower the price so not so many code F4 alerts
 *
 *                      TimeMinusOverhead.Run((float) MystopwatchQ4.ElapsedMilliseconds);  // Subtract overhead and store in Global.Q4StatLine
 *              Global.CurrentMetricDesciption = "Price Overide";
 *              Global.Module = "Price Overide";
 *              DumpStatsQ4.Run();
 *                      Global.CurrentMetricDesciption = "Module Total Time";
 *                      DumpStatsQ4.Run();
 */

            // @#@#@# C H E C K O U T #@#@#@
            Global.PayWithMethod = "Cash";
            Checkout.Run();

            TimeMinusOverhead.Run((float)MystopwatchTT.ElapsedMilliseconds);   // Subtract overhead and store in Global.Q4StatLine
            Global.CurrentMetricDesciption = @"Scenario 42";
            Global.Module = "Total Time";
            DumpStatsQ4.Run();

            if (!Global.AbortScenario)
            {
                // Write out metrics buffer
                WriteOutStatsQ4Buffer.Run();
            }
            else
            {
                Global.Q4StatBuffer = "";
            }

            Global.LogText = "<--- fnDoScenario42 Iteration: " + Global.CurrentIteration;
            WriteToLogFile.Run();
            Report.Log(ReportLevel.Info, "Scenario 42 OUT", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0));

            Thread.Sleep(2000);

            // ***********End Scenario 42*****************
        }
        public void Run()
        {       //*****************Start  Scenario 37 - Retech - Reserve Pickup ******************
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor            = 1.0;

            Ranorex.Unknown element = null;
            Global.AbortScenario = false;

            // Uses same SKU and Customer for Scenarios 3, 4, and 5

            RanorexRepository        repo = new RanorexRepository();
            fnTimeMinusOverhead      TimeMinusOverhead          = new fnTimeMinusOverhead();
            fnDumpStatsQ4            DumpStatsQ4                = new fnDumpStatsQ4();
            fnWriteToLogFile         WriteToLogFile             = new fnWriteToLogFile();
            fnWriteToErrorFile       WriteToErrorFile           = new fnWriteToErrorFile();
            FnWriteOutStatsQ4Buffer  WriteOutStatsQ4Buffer      = new FnWriteOutStatsQ4Buffer();
            fnUpdatePALStatusMonitor UpdatePALStatusMonitor     = new fnUpdatePALStatusMonitor();
            FnCheckout                 Checkout                 = new FnCheckout();
            FnStartTransaction         StartTransaction         = new FnStartTransaction();
            FnEnterSKU                 EnterSKU                 = new FnEnterSKU();
            FnProductionIssueFunctions ProductionIssueFunctions = new FnProductionIssueFunctions();

            Global.CurrentScenario = 37;

            if (!Global.IndirectCall)
            {
                if (!Global.DoScenarioFlag[Global.CurrentScenario])
                {
                    return;
                }
            }

            Global.ScenarioExecuted = true;

            //string ReservePickupPhoneNumber = "9727651234";
            string ReservePickupPhoneNumber = "406254111" + Global.RegisterNumber;

            Global.RetechScenariosPerformed++;
            UpdatePALStatusMonitor.Run();

            // Create new stopwatch
            Stopwatch MystopwatchTT = new Stopwatch();

            MystopwatchTT.Reset();
            MystopwatchTT.Start();

            Stopwatch MystopwatchF1 = new Stopwatch();

            Stopwatch MystopwatchTotal = new Stopwatch();

            MystopwatchTotal.Reset();
            MystopwatchTotal.Start();
            Stopwatch MystopwatchQ4          = new Stopwatch();
            Stopwatch MystopwatchModuleTotal = new Stopwatch();

            Global.LogText = @"---> fnDoScenario37 Iteration: " + Global.CurrentIteration;
            WriteToLogFile.Run();
            Report.Log(ReportLevel.Info, "Scenario 37 IN", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0));

            // Start

            MystopwatchModuleTotal.Reset();
            MystopwatchModuleTotal.Start();

            //#### Reserve the item
            StartTransaction.Run();
            MystopwatchQ4.Reset();
            MystopwatchQ4.Start();

            TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds);               // Subtract overhead and store in Global.Q4StatLine
            Global.CurrentMetricDesciption = "Start Transaction";
            Global.Module = "Reserve:";
            DumpStatsQ4.Run();

            MystopwatchQ4.Reset();
            MystopwatchQ4.Start();

            Global.LogText = @"Reserve Item";
            WriteToLogFile.Run();

            repo.Retech.FindAProductCtrlPlusS.Click("19;5"); // click in search box
            Thread.Sleep(100);
            Keyboard.Press("{F2}");                          // Upcoming
            Thread.Sleep(100);



// ########################################################
            // Line item: repo.RetechQuickSearchView.SearchResultsView.ListBoxItem;
            // Price: repo.RetechQuickSearchView.SearchResultsView.NewPrice;
            // PreOrder: repo.RetechQuickSearchView.SearchResultsView.PreOrder;
            // SKU: repo.RetechQuickSearchView.SearchResultsView.NewSku;
            // Number of items in list: repo.RetechQuickSearchView.DisplayedCount;
            //      string SearchCount = repo.RetechQuickSearchView.DisplayedCount.TextValue;
            //		NumberRecordsFound = Convert.ToInt32(SearchCount.Substring(0,SearchCount.IndexOf(" ")));

            //repo.RetechQuickSearchView.FirstPreOrderItem.Click();  // Click on first pre-order item

            bool PreOrderFound = false;

            Global.LogText = @"Searching for PreOrder item in list";
            WriteToLogFile.Run();

            while (!PreOrderFound)
            {
                // Search for and select the first PRE-ORDER item > $10.00
                List             list  = "/form[@automationid='QuickSearchView']/?/?/list[@automationid='SearchResultsView']";
                IList <ListItem> items = list.Items;
                foreach (ListItem EachItem in list.Items)
                {
                    string TextAmt = EachItem.Children[1].Children[0].GetAttributeValue <string>("Caption");    // Price
                    TextAmt = TextAmt.Substring(1, TextAmt.Length - 1);                                         // remove $
                    decimal DecAmt = Convert.ToDecimal(TextAmt);                                                // convert to decimal

                    string TheCaption = EachItem.Children[1].Children[1].GetAttributeValue <string>("Caption"); // Item type looking for PRE-ORDER

                    if (DecAmt > 10.00m && TheCaption == "PRE-ORDER")
                    {
                        EachItem.Click();
                        PreOrderFound = true;
                        break;
                    }
                }

                if (!PreOrderFound)
                {                  // page down on list of items
                    repo.ShellView.SearchResultsView.Click("627;44");
                    Delay.Milliseconds(200);
                    Keyboard.Press("{Next}");
                }
            }

            Thread.Sleep(100);
            Keyboard.Press("{Escape}");              // Escape from search box
            Thread.Sleep(100);

            // Process age verification if exists
            if (Host.Local.TryFindSingle(repo.Retech.AgeVerifiedCommand1Info.AbsolutePath.ToString(), out element))
            {
                repo.Retech.AgeVerifiedCommand1.Click();
                Thread.Sleep(100);
            }



            // Get the Initial Deposit amout from the screen
            Global.SpecialPayThisAmount = repo.Retech.DepositText.TextValue.Substring(1);

            TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds);               // Subtract overhead and store in Global.Q4StatLine
            Global.CurrentMetricDesciption = "Reserve Item";
            Global.Module = "Reserve:";
            DumpStatsQ4.Run();

            // Select Customer
            MystopwatchQ4.Reset();
            MystopwatchQ4.Start();

            repo.Retech.SelectCustomer.Click();
            Thread.Sleep(100);
            repo.Retech.ButtonContent.Click("105;10");             // Search for Customer
            Thread.Sleep(100);
            // repo.RetechFindCustomerView.CustomerLookupTxt.PressKeys("9727651234{Enter}"); 12-13-18
            repo.RetechFindCustomerView.CustomerLookupTxt.TextValue = ReservePickupPhoneNumber;
            repo.RetechFindCustomerView.Self.PressKeys("{Enter}");

            while (!Host.Local.TryFindSingle(repo.RetechFindCustomerView.ListBoxItemInfo.AbsolutePath.ToString(), out element))
            {
                Thread.Sleep(100);
            }
            repo.RetechFindCustomerView.ListBoxItem.Click();             // accept customer
            Thread.Sleep(500);


            while (Host.Local.TryFindSingle(repo.RetechFindCustomerView.ListBoxItemInfo.AbsolutePath.ToString(), out element))
            {
                Thread.Sleep(100);
            }

            // Process continue 1
            if (Host.Local.TryFindSingle(repo.Retech.ContinueButtonCommand1Info.AbsolutePath.ToString(), out element))
            {
                repo.Retech.ContinueButtonCommand1.Click();
                Thread.Sleep(200);
            }

            // Process continue 2
            if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element))
            {
                repo.ContinueButtonCommand.Click();
                Thread.Sleep(200);
            }

            // Process SMS text message - not interested
            if (Host.Local.TryFindSingle(repo.Retech.NotInterestedCommandInfo.AbsolutePath.ToString(), out element))
            {
                repo.Retech.NotInterestedCommand.Click();
                Thread.Sleep(200);
            }



            TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds);               // Subtract overhead and store in Global.Q4StatLine
            Global.CurrentMetricDesciption = "Select Customer";
            Global.Module = "Reserve:";
            DumpStatsQ4.Run();

            // Check for Product Replacement Plan
            if (Host.Local.TryFindSingle(repo.Retech.ProductReplacementContinueInfo.AbsolutePath.ToString(), out element))
            {
                repo.Retech.ProductReplacementContinue.Click();
                Thread.Sleep(200);
            }



            if (Host.Local.TryFindSingle(repo.Retech.ContinueButtonCommand1Info.AbsolutePath.ToString(), out element))
            {
                repo.Retech.ContinueButtonCommand1.Click();
                Thread.Sleep(100);
            }

            if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element))
            {
                repo.ContinueButtonCommand.Click();
                Thread.Sleep(100);
            }


            // Checkout and pay required deposit
            MystopwatchQ4.Reset();
            MystopwatchQ4.Start();

            Global.SpecialCheckingOut = false;
            Global.PayWithMethod      = "Cash";
            ProductionIssueFunctions.SpecialPreCheckOut();

            ProductionIssueFunctions.SpecialCheckForCodeF4Alert();

            repo.RetechLoginView.TxtPassword.PressKeys("{Escape}");             // initial sign on screen

            TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds);    // Subtract overhead and store in Global.Q4StatLine
            Global.CurrentMetricDesciption = "Pay deposit and checkout";
            Global.Module = "Reserve:";
            DumpStatsQ4.Run();

            TimeMinusOverhead.Run((float)MystopwatchModuleTotal.ElapsedMilliseconds);               // Subtract overhead and store in Global.Q4StatLine
            Global.NowCustomerLookup       = Global.AdjustedTime;
            Global.CurrentMetricDesciption = "Module Total Time";
            Global.Module = "Reserve:";
            DumpStatsQ4.Run();

            MystopwatchModuleTotal.Reset();
            MystopwatchModuleTotal.Start();



            // #####  Now do the pickup
            MystopwatchQ4.Reset();
            MystopwatchQ4.Start();

            StartTransaction.Run();

            TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds);               // Subtract overhead and store in Global.Q4StatLine
            Global.CurrentMetricDesciption = "Start Transaction 2";
            Global.Module = "Pick Up:";
            DumpStatsQ4.Run();

            MystopwatchQ4.Reset();
            MystopwatchQ4.Start();

            // repo.Retech.FindCustomerTextBox.PressKeys("9727651234{Enter}"); // get the customer  12-13-18
            repo.Retech.FindCustomerTextBox.TextValue = ReservePickupPhoneNumber;
            repo.Retech.FindCustomerTextBox.PressKeys("{Enter}");

            while (!Host.Local.TryFindSingle(repo.RetechFindCustomerView.ListBoxItemInfo.AbsolutePath.ToString(), out element))
            {
                Thread.Sleep(100);
            }
            repo.RetechFindCustomerView.ListBoxItem.Click();             // accept customer
            while (Host.Local.TryFindSingle(repo.RetechFindCustomerView.ListBoxItemInfo.AbsolutePath.ToString(), out element))
            {
                Thread.Sleep(100);
            }

            // View customer details to get reserve item
            repo.Retech.ShowCustomerDetails.Click();
            while (!Host.Local.TryFindSingle(repo.CustomerDetailsView.OpenReservationListItemControlInfo.AbsolutePath.ToString(), out element))
            {
                Thread.Sleep(100);
            }
            // Get the reserved item
            repo.CustomerDetailsView.OpenReservationListItemControl.Click();              // Click on first reserved item
            repo.CustomerDetailsView.PickupReservation.Click();
            Thread.Sleep(100);
            repo.OptionSelectorView.StreetDatedProductConfirm.Click();             // Yes sell this street dated itme
            Thread.Sleep(100);
            Keyboard.Press("{Escape}");
            if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element))
            {
                repo.ContinueButtonCommand.Click();
                Thread.Sleep(200);
            }

            TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds);               // Subtract overhead and store in Global.Q4StatLine
            Global.CurrentMetricDesciption = "Get customer and pick up item";
            Global.Module = "Pick Up:";
            DumpStatsQ4.Run();

/*
 *                      // Price override
 *          MystopwatchQ4.Reset();
 *                      MystopwatchQ4.Start();
 *
 *                      ProductionIssueFunctions.SpecialPriceOverride(1.00m);  // lower the price so not so many code F4 alerts
 *
 *                      TimeMinusOverhead.Run((float) MystopwatchQ4.ElapsedMilliseconds);  // Subtract overhead and store in Global.Q4StatLine
 *              Global.CurrentMetricDesciption = "Price Overide";
 *              Global.Module = "Pick Up:";
 *              DumpStatsQ4.Run();
 */
            // Process age verification if exists
            if (Host.Local.TryFindSingle(repo.Retech.AgeVerifiedCommand1Info.AbsolutePath.ToString(), out element))
            {
                repo.Retech.AgeVerifiedCommand1.Click();
                Thread.Sleep(100);
            }
            // Process continue 2
            if (Host.Local.TryFindSingle(repo.ContinueButtonCommandInfo.AbsolutePath.ToString(), out element))
            {
                repo.ContinueButtonCommand.Click();
                Thread.Sleep(200);
            }

            // Now pickup and pay total for item
            MystopwatchQ4.Reset();
            MystopwatchQ4.Start();

            Global.SpecialCheckingOut   = false;
            Global.PayWithMethod        = "Cash";
            Global.SpecialPayThisAmount = "All";
            repo.Retech.DataContextShowCheckoutViewCommand.Click();
            ProductionIssueFunctions.SpecialPreCheckOut();

            ProductionIssueFunctions.SpecialCheckForCodeF4Alert();

            repo.RetechLoginView.TxtPassword.PressKeys("{Escape}");          // initial sign on screen

            TimeMinusOverhead.Run((float)MystopwatchQ4.ElapsedMilliseconds); // Subtract overhead and store in Global.Q4StatLine
            Global.CurrentMetricDesciption = "Pay for picked up item";
            Global.Module = "Pick Up:";
            DumpStatsQ4.Run();

            TimeMinusOverhead.Run((float)MystopwatchModuleTotal.ElapsedMilliseconds);               // Subtract overhead and store in Global.Q4StatLine
            Global.NowCustomerLookup       = Global.AdjustedTime;
            Global.CurrentMetricDesciption = "Module Total Time";
            Global.Module = "Pick Up:";
            DumpStatsQ4.Run();

            TimeMinusOverhead.Run((float)MystopwatchTT.ElapsedMilliseconds);   // Subtract overhead and store in Global.Q4StatLine
            Global.CurrentMetricDesciption = @"Scenario 37";
            Global.Module = "Total Time";
            DumpStatsQ4.Run();

            // Write out metrics buffer
            WriteOutStatsQ4Buffer.Run();

            Global.LogText = "<--- fnDoScenario37 Iteration: " + Global.CurrentIteration;
            WriteToLogFile.Run();
            Report.Log(ReportLevel.Info, "Scenario 37 OUT", "Iteration: " + Global.CurrentIteration, new RecordItemIndex(0));

            Thread.Sleep(2000);

            // ***********End Scenario 37*****************
        }