public void Initialize(Microsoft.VisualStudio.TestTools.LoadTesting.LoadTest loadTest)
        {
            try
            {
                m_loadTest = loadTest;
                m_loadTest.TestStarting     += new EventHandler <TestStartingEventArgs>(TestStarting);
                m_loadTest.TestSelected     += new EventHandler <TestSelectedEventArgs>(TestSelected);
                m_loadTest.TestFinished     += new EventHandler <TestFinishedEventArgs>(TestFinished);
                m_loadTest.LoadTestFinished += M_loadTest_LoadTestFinished;


                //Deserialize the Scenario Data List Xml into the C# class
                objScenarioDataList = CommonFunctions.GetScenarioDataListFromXML();

                if (vsoTransactionContext.IsSaveTransactionInAzure)
                {
                    //Fill the dictionary for maintaining the logins
                    foreach (ScenarioDataListScenario scenario in objScenarioDataList.Scenarios)
                    {
                        objGenericScenario = new GenericScenario();
                        objGenericScenario.scenarioName = scenario.Name;
                        objGenericScenario.scenarioUserMaxIterationCount = Convert.ToInt32(scenario.IterationCountPerLogin);
                        objGenericScenario.throughputValue = Convert.ToDecimal(scenario.Throughput);

                        GenericScenarioNameList.Add(scenario.Name, objGenericScenario);
                    }
                    vsoTransactionContext._agentID = m_loadTest.Context.AgentId;
                    if (vsoTransactionContext._isInserted)
                    {
                        DBConnector dbconnect   = new DBConnector();
                        LoadTestRun loadTestRun = new LoadTestRun();
                        loadTestRun.ControllerName = m_loadTest.Context.ControllerName;
                        loadTestRun.CooldownTime   = m_loadTest.RunSettings.WarmupTime;
                        loadTestRun.Description    = m_loadTest.RunSettings.Description;
                        loadTestRun.IsLocalRun     = m_loadTest.Context.AgentCount <= 0 ? true : false;
                        loadTestRun.loadtestrunID  = 0;
                        loadTestRun.RunDuration    = m_loadTest.RunSettings.RunDuration;
                        loadTestRun.RunSettingUsed = "";
                        loadTestRun.StartTime      = DateTime.Now;
                        loadTestRun.WarmupTime     = m_loadTest.RunSettings.WarmupTime;
                        loadTestRun.LoadTestName   = m_loadTest.RunSettings.Name;

                        DBConnector dbconnctor = new DBConnector();
                        //vsoTransactionContext._isLoadtestTestFinished = false;

                        TimeSpan TS    = new TimeSpan(0, 1, 0);
                        string   query = "select top 1 LoadTestRunID from Twinfield.tbl_WKLoadTestRun with(tablockx) WHERE Description='" + m_loadTest.RunSettings.Description + "' AND StartTime BETWEEN  '" + DateTime.Now.Subtract(new TimeSpan(0, 5, 0)) + "' AND '" + DateTime.Now.Add(new TimeSpan(0, 5, 0)) + "' ";

                        for (int i = 0; i < m_loadTest.Scenarios.Count; i++)
                        {
                            LoadtestTestCase testcase = new LoadtestTestCase();
                            testcase.LoadTestRunId = vsoTransactionContext._loadtestRunID;
                            testcase.TestCaseId    = i;
                            testcase.ScenarioId    = i;
                            testcase.TestType      = "Loadtest";
                            testcase.TestCaseName  = m_loadTest.Scenarios[i].TestNames.First().ToString();
                            vsoTransactionContext._loadtestTestCase.Add(m_loadTest.Scenarios[i].TestNames.First().ToString(), testcase);
                        }
                        var testcaselist = (from l in vsoTransactionContext._loadtestTestCase
                                            select l.Value).ToList();

                        dbconnctor.InsertLoadtestrunNtestCse(loadTestRun, testcaselist, query);

                        vsoTransactionContext._isInserted = false;
                        _autoSavedataTimer.Start();
                        //_autoSavedataTimer.Join();
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Error In UserBasedPlugin in Initialize() during reading ScenarioDataList.xml, Exception : " + ex.Message);
            }
        }
 public void Initialize(Microsoft.VisualStudio.TestTools.LoadTesting.LoadTest loadTest)
 {
     DynamicUserCountPlugin.loadTest = loadTest;
     task = Task.Factory.StartNew(HostService);
     DynamicUserCountPlugin.loadTest.Heartbeat += new EventHandler<HeartbeatEventArgs>(LoadTestHeartBeat);
 }