void SaveResultsInExcelWorksheet(List <ClassRosterSearchResult> results, ISaveFilePathMaker saveFilePathMaker) { Application App = new Application(); try { Console.WriteLine("Populating Spreadsheet..."); var name = results[0].Year + "-" + results[0].Semester + "-" + results[0].Term + "-" + results[0].SubjectArea; Workbook workbook = App.Workbooks.Add(); Worksheet worksheet = workbook.Worksheets.Add() as Worksheet; worksheet.Name = name; worksheet.Cells[1, 1] = "Year"; worksheet.Cells[1, 2] = "Semester"; worksheet.Cells[1, 3] = "Course Code"; worksheet.Cells[1, 4] = "ID"; worksheet.Cells[1, 5] = "Campus"; worksheet.Cells[1, 6] = "SubjectArea"; worksheet.Cells[1, 7] = "Course Description"; worksheet.Cells[1, 8] = "Section"; worksheet.Cells[1, 9] = "Student Program and Plan"; var rowNum = 2; foreach (var result in results) { foreach (var enrollment in result.StudentsEnrolled) { worksheet.Cells[rowNum, 1] = result.Year; worksheet.Cells[rowNum, 2] = Convert.ToInt32(result.Semester); worksheet.Cells[rowNum, 3] = result.CourseCode; worksheet.Cells[rowNum, 4] = enrollment.StudentID; worksheet.Cells[rowNum, 5] = result.Campus; worksheet.Cells[rowNum, 6] = result.SubjectArea; worksheet.Cells[rowNum, 7] = result.CourseDescription; worksheet.Cells[rowNum, 8] = result.Section; worksheet.Cells[rowNum, 9] = enrollment.ProgramAndPlan; rowNum++; } } var saveFileName = saveFilePathMaker.Make(name); Console.WriteLine("Saving as: '{0}'", saveFileName); workbook.SaveAs(saveFileName); App.Quit(); Console.WriteLine("COMPLETE :)"); } catch (Exception ex) { App.Quit(); throw; } }
public void GetDataFromNuStarWebsite(IConsoleReader consoleReader, ISaveFilePathMaker saveFilePathMaker) { var userInputs = GetInputFromUser(consoleReader); var dbOrExcel = consoleReader.AddToDb(); using (var driver = new ChromeDriver(@"E:\CoursePathwayMaker\CoursePathwayMaker\bin\Debug")) { Console.WriteLine("Scraper navigating to NuStar website..."); //var subjectArea = consoleReader.GetSubjectArea(); //var term = consoleReader.GetTerm(); //var year = consoleReader.GetStartYear().ToString(); //var semester = consoleReader.GetSemester(); var navigator = new NuStarWebsiteNavigator(driver); navigator.NavigateToUonWebsite(); navigator.LoginIfNecessary(); navigator.NavigateToUonWebsiteAgain(); List <ClassRosterSearchResult> results = new List <ClassRosterSearchResult>(); foreach (var sem in userInputs) { navigator.FillSearchFilters(sem.SubjectArea, sem.Term); results.AddRange(GetSearchResults(driver, navigator, sem.Year.ToString(), sem.Semester.ToString())); navigator.ClearSearchFields(); } if (dbOrExcel == true) { SaveResultsInDb(results); } else { SaveResultsInExcelWorksheet(results, saveFilePathMaker); } } }