public List <JobHistorySummary> getHistory(string serverName, Guid jobID) { List <JobHistoryModel> stepHistory = new List <JobHistoryModel>(); List <JobHistorySummary> jobHistory = new List <JobHistorySummary>(); ConnectSqlServer connection = new ConnectSqlServer(); Server dbServer = connection.Connect(serverName); JobHistoryFilter jhf = new JobHistoryFilter(); Job jb = dbServer.JobServer.GetJobByID(jobID); jhf.JobID = jb.JobID; DataTable dt = jb.EnumHistory(jhf); dt.DefaultView.Sort = "InstanceID ASC"; dt = dt.DefaultView.ToTable(); foreach (DataRow row in dt.Rows) { if (int.Parse(row["StepID"].ToString()) != 0) { stepHistory.Add(new JobHistoryModel { ServerName = serverName, JobID = jobID, JobName = row["JobName"].ToString(), StepID = int.Parse(row["StepID"].ToString()), ExecutionTime = DateTime.Parse(row["RunDate"].ToString()), Duration = TimeSpan.FromSeconds(double.Parse(row["RunDuration"].ToString())), Message = row["Message"].ToString(), StepName = row["StepName"].ToString() }); } else { jobHistory.Add(new JobHistorySummary { ServerName = serverName, JobID = jobID, JobName = row["JobName"].ToString(), StepID = int.Parse(row["StepID"].ToString()), ExecutionTime = DateTime.Parse(row["RunDate"].ToString()), Duration = TimeSpan.FromSeconds(double.Parse(row["RunDuration"].ToString())), Message = row["Message"].ToString(), StepName = row["StepName"].ToString(), JobHistories = stepHistory.OrderByDescending(i => i.StepID).ToList() }); stepHistory.Clear(); } } return(jobHistory); }
private Tuple <SqlConnectionInfo, DataTable, ServerConnection> CreateSqlConnection(ConnectionInfo connInfo, String jobId) { var sqlConnection = ConnectionService.OpenSqlConnection(connInfo); var serverConnection = new ServerConnection(sqlConnection); var server = new Server(serverConnection); var filter = new JobHistoryFilter(); filter.JobID = new Guid(jobId); var dt = server.JobServer.EnumJobHistory(filter); var sqlConnInfo = new SqlConnectionInfo(serverConnection, SqlServer.Management.Common.ConnectionType.SqlConnection); return(new Tuple <SqlConnectionInfo, DataTable, ServerConnection>(sqlConnInfo, dt, serverConnection)); }
static void Main(string[] args) { using (var driver = new ChromeDriver()) { /* Initialization */ string projectTitle = ""; // Project Name string firstStepName = "InternalReview"; Console.WriteLine("Hi, please chose TMS project name: \n" + "1) Porsche BAL 2.0 \n" + "2) Porsche Cosima"); int projectChose = Int32.Parse(Console.ReadLine()); switch (projectChose) { case 1: projectTitle = "Porsche BAL 2.0"; break; case 2: projectTitle = "Porsche Cosima"; break; default: System.Environment.Exit(1); break; } Console.WriteLine("Now, please chose TMS setting name: \n" + "1) Internal Review; " + "2) Editing"); int settingChose = Int32.Parse(Console.ReadLine()); switch (settingChose) { case 1: firstStepName = "InternalReview"; break; case 2: firstStepName = "Editing"; break; default: System.Environment.Exit(1); break; } var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(60)); driver.Manage().Window.Maximize(); driver.Navigate().GoToUrl("https://tms.lionbridge.com/"); ProjectsPage testPage = new ProjectsPage(driver, projectTitle); testPage.ClickChosenProject(); ParticularProjectPage testProjectPage = new ParticularProjectPage(driver); testProjectPage.ProfileClick(driver); testProjectPage.ChangeItemsPerPageMin(driver); testProjectPage.StatusClick(driver); StatusPage testStatusPage = new StatusPage(driver); testStatusPage.AssigneesClick(driver); AssigneesPage porscheAssigneesPage = new AssigneesPage(driver); if (porscheAssigneesPage.ChosenActivityClick(driver, firstStepName) != 1) { Console.WriteLine("There is no {0} steps!", firstStepName); return; } porscheAssigneesPage = new AssigneesPage(driver); PageBar testPageBar = new PageBar(driver); testPageBar.ItemsPerPageSetMaximalValue(driver); AssigneesAndJobs asob = new AssigneesAndJobs(driver); List <StatusAssigneeInfo> listOfStatusAssgineeInfo = new List <StatusAssigneeInfo>(); StatusAssigneeInfo auxiliary; foreach (var ass in asob.assigneesJobsList) { Console.WriteLine(ass.GetJobsName); } foreach (Assignee ass in asob.assigneesList) { for (int i = 0; i < ass.GetAssingeeJobsNumberInt; i++) { auxiliary = new StatusAssigneeInfo(ass, asob.assigneesJobsList.ElementAt(i)); listOfStatusAssgineeInfo.Add(auxiliary); } for (int i = 0; i < ass.GetAssingeeJobsNumberInt; i++) { asob.assigneesJobsList.RemoveAt(0); } Console.WriteLine(ass.GetAssigneeName + " " + ass.GetAssingeeJobsNumberInt); } foreach (var ass in listOfStatusAssgineeInfo) { Console.WriteLine(ass.jobName + " " + ass.reviewerName + " " + ass.sourceLanguage); } asob = new AssigneesAndJobs(driver); asob.TagMultipleJobs(driver, 0, asob.GetAssigneeJobsListSize - 1); ViewsMenu assigneesViewsMenu = new ViewsMenu(driver); assigneesViewsMenu.JobsView.ButtonClick(); JobsSectionJobs jsj = new JobsSectionJobs(driver); jsj.jobsPageBar.ItemsPerPageSetMaximalValue(driver); jsj = new JobsSectionJobs(driver); IReadOnlyCollection <IWebElement> auxiliaryCollection; ResultJob auxiliaryJobs = new ResultJob(); IWebElement jobsResultsContainer; IJavaScriptExecutor jse; string path = Path.Combine(Directory.GetCurrentDirectory(), "TestFile.csv"); using (StreamWriter sw = new StreamWriter(path)) { string[] values1 = { "Job Name", "Reviewer Name", "Translator Name", "Source Language", "Target Language", "Effort", "Wordcount" }; string line1 = String.Join(";", values1); sw.WriteLine(line1); foreach (var info in listOfStatusAssgineeInfo) { jse = (IJavaScriptExecutor)driver; jse.ExecuteScript("arguments[0].scrollIntoView();", jsj.GetJobElement(driver, info.jobName)); jsj.ShowHistoryOfJob(driver, info.jobName); JobHistoryFilter filter = new JobHistoryFilter(driver); filter.FiltersPanelInitialization(driver); filter.ChosenActivityClick(driver, "Translation"); filter = new JobHistoryFilter(driver); filter.FiltersPanelInitialization(driver); filter.SourceLanguageFilterClick(driver); filter.ChosenSourceLanguageClick(driver, info.sourceLanguage); filter = new JobHistoryFilter(driver); filter.FiltersPanelInitialization(driver); filter.TargetLanguageFilterClick(driver); filter.ChosenTargetLanguageClick(driver, info.targetLanguage); wait.Until(ExpectedConditions.ElementIsVisible(By.ClassName("r_L"))); auxiliaryCollection = driver.FindElements(By.Id("pup_avw")); jobsResultsContainer = auxiliaryCollection.ElementAt(0); auxiliaryCollection = jobsResultsContainer.FindElements(By.ClassName("r_L")); auxiliaryJobs = new ResultJob(auxiliaryCollection.ElementAt(0)); listOfStatusAssgineeInfo.ElementAt(listOfStatusAssgineeInfo.IndexOf(info)).TranslatorName = auxiliaryJobs.GetTranlatorName; PopUpBody popuPBody = new PopUpBody(driver); popuPBody.CloseButtonClick(driver); string[] values = { info.jobName, info.reviewerName, info.translatorName, info.sourceLanguage, info.targetLanguage, info.effort, info.wordcount }; string line = String.Join(";", values); sw.WriteLine(line); } sw.Flush(); } // iterates over the users //foreach (var info in listOfStatusAssgineeInfo) // { // creates an array of the user's values // string[] values = { info.jobName, info.reviewerName, info.translatorName, info.sourceLanguage, info.targetLanguage }; // creates a new line // string line = String.Join(";", values); // writes the line // sw.WriteLine(line); // } // flushes the buffer // sw.Flush(); // } } }
public void WholeProgram_NewParsingCorrectly_Test_3() { using (var driver = new ChromeDriver()) { /* Initialization */ var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(60)); driver.Manage().Window.Maximize(); driver.Navigate().GoToUrl("https://tms.lionbridge.com/"); string projectName = ""; // Project Name ProjectsPage testPage = new ProjectsPage(driver, projectName); testPage.ClickChosenProject(); ParticularProjectPage testProjectPage = new ParticularProjectPage(driver); testProjectPage.ProfileClick(driver); testProjectPage.ChangeItemsPerPageMin(driver); testProjectPage.StatusClick(driver); StatusPage testStatusPage = new StatusPage(driver); testStatusPage.AssigneesClick(driver); AssigneesPage porscheAssigneesPage = new AssigneesPage(driver); porscheAssigneesPage.ChosenActivityClick(driver, "InternalReview"); porscheAssigneesPage = new AssigneesPage(driver); PageBar testPageBar = new PageBar(driver); testPageBar.ItemsPerPageSetMaximalValue(driver); AssigneesAndJobs asob = new AssigneesAndJobs(driver); List <StatusAssigneeInfo> listOfStatusAssgineeInfo = new List <StatusAssigneeInfo>(); StatusAssigneeInfo auxiliary; foreach (Assignee ass in asob.assigneesList) { for (int i = 0; i < ass.GetAssingeeJobsNumberInt; i++) { auxiliary = new StatusAssigneeInfo(ass, asob.assigneesJobsList.ElementAt(i)); listOfStatusAssgineeInfo.Add(auxiliary); } asob.assigneesJobsList.RemoveRange(0, ass.GetAssingeeJobsNumberInt - 1); } asob = new AssigneesAndJobs(driver); asob.TagMultipleJobs(driver, 0, asob.GetAssigneeJobsListSize - 1); ViewsMenu assigneesViewsMenu = new ViewsMenu(driver); assigneesViewsMenu.JobsView.ButtonClick(); JobsSectionJobs jsj = new JobsSectionJobs(driver); IReadOnlyCollection <IWebElement> auxiliaryCollection; ResultJob auxiliaryJobs = new ResultJob(); IWebElement jobsResultsContainer; foreach (var info in listOfStatusAssgineeInfo) { jsj.ShowHistoryOfJob(driver, info.jobName); JobHistoryFilter filter = new JobHistoryFilter(driver); filter.FiltersPanelInitialization(driver); filter.ChosenActivityClick(driver, "Translation"); filter = new JobHistoryFilter(driver); filter.FiltersPanelInitialization(driver); filter.SourceLanguageFilterClick(driver); filter.ChosenSourceLanguageClick(driver, info.sourceLanguage); filter = new JobHistoryFilter(driver); filter.FiltersPanelInitialization(driver); filter.TargetLanguageFilterClick(driver); filter.ChosenTargetLanguageClick(driver, info.targetLanguage); wait.Until(ExpectedConditions.ElementIsVisible(By.ClassName("r_L"))); auxiliaryCollection = driver.FindElements(By.Id("pup_avw")); jobsResultsContainer = auxiliaryCollection.ElementAt(0); auxiliaryCollection = jobsResultsContainer.FindElements(By.ClassName("r_L")); auxiliaryJobs = new ResultJob(auxiliaryCollection.ElementAt(0)); listOfStatusAssgineeInfo.ElementAt(listOfStatusAssgineeInfo.IndexOf(info)).TranslatorName = auxiliaryJobs.GetTranlatorName; PopUpBody popuPBody = new PopUpBody(driver); popuPBody.CloseButtonClick(driver); } string path = Path.Combine(Directory.GetCurrentDirectory(), "TestFile.csv"); using (StreamWriter sw = new StreamWriter(path)) { // iterates over the users foreach (var info in listOfStatusAssgineeInfo) { // creates an array of the user's values string[] values = { info.jobName, info.reviewerName, info.translatorName, info.sourceLanguage, info.targetLanguage }; // creates a new line string line = String.Join(";", values); // writes the line sw.WriteLine(line); } // flushes the buffer sw.Flush(); } } }
public void WholeProgram_NewParsingCorrectly_Test_1() { using (var driver = new ChromeDriver()) { /* Initialization */ var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(60)); driver.Manage().Window.Maximize(); driver.Navigate().GoToUrl("https://tms.lionbridge.com/"); string projectName = ""; // Project Name ProjectsPage testPage = new ProjectsPage(driver, projectName); testPage.ClickChosenProject(); ParticularProjectPage testProjectPage = new ParticularProjectPage(driver); testProjectPage.ProfileClick(driver); testProjectPage.ChangeItemsPerPageMin(driver); testProjectPage.StatusClick(driver); StatusPage testStatusPage = new StatusPage(driver); testStatusPage.AssigneesClick(driver); AssigneesPage porscheAssigneesPage = new AssigneesPage(driver); porscheAssigneesPage.ChosenActivityClick(driver, "InternalReview"); porscheAssigneesPage = new AssigneesPage(driver); PageBar testPageBar = new PageBar(driver); testPageBar.ItemsPerPageSetMaximalValue(driver); AssigneesAndJobs asob = new AssigneesAndJobs(driver); List <StatusAssigneeInfo> listOfStatusAssgineeInfo = new List <StatusAssigneeInfo>(); StatusAssigneeInfo auxiliary; foreach (Assignee ass in asob.assigneesList) { for (int i = 0; i < ass.GetAssingeeJobsNumberInt; i++) { auxiliary = new StatusAssigneeInfo(ass, asob.assigneesJobsList.ElementAt(i)); listOfStatusAssgineeInfo.Add(auxiliary); } asob.assigneesJobsList.RemoveRange(0, ass.GetAssingeeJobsNumberInt - 1); } asob = new AssigneesAndJobs(driver); asob.TagMultipleJobs(driver, 0, asob.GetAssigneeJobsListSize - 1); ViewsMenu assigneesViewsMenu = new ViewsMenu(driver); assigneesViewsMenu.JobsView.ButtonClick(); JobsSectionJobs jsj = new JobsSectionJobs(driver); jsj.ShowHistoryOfJob(driver, listOfStatusAssgineeInfo.ElementAt(0).jobName.Trim()); JobHistoryFilter filter = new JobHistoryFilter(driver); filter.FiltersPanelInitialization(driver); filter.ChosenActivityClick(driver, "Translation"); filter = new JobHistoryFilter(driver); filter.FiltersPanelInitialization(driver); filter.SourceLanguageFilterClick(driver); filter.ChosenSourceLanguageClick(driver, listOfStatusAssgineeInfo.ElementAt(0).sourceLanguage); filter = new JobHistoryFilter(driver); filter.FiltersPanelInitialization(driver); filter.TargetLanguageFilterClick(driver); filter.ChosenTargetLanguageClick(driver, listOfStatusAssgineeInfo.ElementAt(0).targetLanguage); IReadOnlyCollection <IWebElement> auxiliaryCollection; ResultJob auxiliaryJobs = new ResultJob(); wait.Until(ExpectedConditions.ElementIsVisible(By.ClassName("r_L"))); auxiliaryCollection = driver.FindElements(By.Id("pup_avw")); IWebElement jobsResultsContainer = auxiliaryCollection.ElementAt(0); auxiliaryCollection = jobsResultsContainer.FindElements(By.ClassName("r_L")); auxiliaryJobs = new ResultJob(auxiliaryCollection.ElementAt(0)); listOfStatusAssgineeInfo.ElementAt(0).TranslatorName = auxiliaryJobs.GetTranlatorName; string path = Path.Combine(Directory.GetCurrentDirectory(), "TestFile"); using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(path, SpreadsheetDocumentType.Workbook)) { // Add a WorkbookPart to the document. WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart(); workbookpart.Workbook = new Workbook(); // Add a WorksheetPart to the WorkbookPart. WorksheetPart worksheetPart = workbookpart.AddNewPart <WorksheetPart>(); worksheetPart.Worksheet = new Worksheet(new SheetData()); // Add Sheets to the Workbook. Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook. AppendChild <Sheets>(new Sheets()); // Append a new worksheet and associate it with the workbook. Sheet sheet = new Sheet() { Id = spreadsheetDocument.WorkbookPart. GetIdOfPart(worksheetPart), SheetId = 1, Name = "mySheet" }; sheets.Append(sheet); SheetData sheetData = worksheetPart.Worksheet.GetFirstChild <SheetData>(); UInt32 rowIndex = 0; foreach (var info in listOfStatusAssgineeInfo) { var row = new Row() { RowIndex = rowIndex }; var firstNameCell = new Cell() { CellReference = "A" + (rowIndex + 1) }; firstNameCell.CellValue = new CellValue(info.jobName); firstNameCell.DataType = CellValues.String; row.AppendChild(firstNameCell); Cell secondNameCell = new Cell() { CellReference = "B" + (rowIndex + 1) }; secondNameCell.CellValue = new CellValue(info.sourceLanguage); secondNameCell.DataType = new EnumValue <CellValues>(CellValues.String); row.AppendChild(secondNameCell); Cell thirdNameCell = new Cell() { CellReference = "C" + (rowIndex + 1) }; thirdNameCell.CellValue = new CellValue(info.targetLanguage); thirdNameCell.DataType = new EnumValue <CellValues>(CellValues.String); row.AppendChild(thirdNameCell); Cell fourthNameCell = new Cell() { CellReference = "D" + (rowIndex + 1) }; fourthNameCell.CellValue = new CellValue(info.reviewerName); fourthNameCell.DataType = new EnumValue <CellValues>(CellValues.String); row.AppendChild(fourthNameCell); Cell fifthNameCell = new Cell() { CellReference = "E" + (rowIndex + 1) }; fifthNameCell.CellValue = new CellValue(info.TranslatorName); fifthNameCell.DataType = new EnumValue <CellValues>(CellValues.String); row.AppendChild(fifthNameCell); sheetData.AppendChild(row); rowIndex++; } workbookpart.Workbook.Save(); } /*SearchResults sr = new SearchResults(driver); * Assert.AreEqual("", sr.jobsList.ElementAt(0).GetTranlatorName);*/ /*jsj.ShowHistoryOfJob(driver, 0); * * PopUpBody body = new PopUpBody(driver); * JobHistoryFilter filter = new JobHistoryFilter(driver); * * filter.FiltersPanelInitialization(driver); * filter.ChosenActivityClick(driver, "Translation");*/ //filter.ChosenSourceLanguageClick(driver, asob.) Thread.Sleep(5000); } }