SHARE
TWEET
Untitled
a guest
Jan 29th, 2018
42
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- private static int insertTaxifyLinesToExcel(IWebDriver driver, IWebDriver driver2, Excel.Worksheet oSheet, bool privateRun, TaxifyDriverData taxifyDriver, bool findPaymentType)
- {
- IList<IWebElement> taxifyRows = driver.FindElements(By.XPath("/html/body/div[1]/div/center/form/div/table/tbody/tr[2]/td[2]/div/div[2]/table/tbody/tr[2]/td/div/table/tbody/tr"));
- int totalRows = taxifyRows.Count;
- int jobsOutsideShift = 0;
- int jobsToNextWeek = 0;
- List<GeneralDriverData> generalDriverData = DatabaseHandler.loadGeneralDriverData();
- string tDate, tState, tAddress, tSum = null;
- string tPaymentType = "";
- string realCount = driver.FindElement(By.XPath("/html/body/div/div/center/form/div/table/tbody/tr[2]/td[2]/div/div[2]/table/tbody/tr[2]/td/div/table/tbody/tr[1]/td/div/b")).Text;
- int pages = (Int32.Parse(realCount) + 99) / 100;
- int lastRow = oSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Row;
- IJavaScriptExecutor javascriptExec = (IJavaScriptExecutor)driver;
- if (privateRun)
- {
- oSheet.Cells[lastRow+1, 1].Value2 = "Sõidujagamine";
- oSheet.Cells[lastRow+1, 2].Value2 = realCount;
- }
- else
- {
- oSheet.Cells[lastRow, 2].Value2 = realCount;
- }
- if (realCount == "0")
- {
- if (privateRun)
- {
- taxifyDriver.jobsForNextWeek += jobsToNextWeek;
- if (taxifyDriver.jobsForNextWeek > 0)
- {
- string message = String.Format("Järgmisesse nädalasse jäi kokku {0} tööd", taxifyDriver.jobsForNextWeek);
- oSheet.Cells[lastRow + 1, 1].Value2 = message;
- oSheet.Range[oSheet.Cells[lastRow + 1, 1], oSheet.Cells[lastRow + 1, 4]].Merge();
- }
- }
- return jobsOutsideShift;
- }
- if (driver.FindElement(By.XPath("/html/body/div/div/center/form/div/table/tbody/tr[2]/td[2]/div/div[2]/table/tbody/tr[2]/td/div/table/tbody/tr[1]/td/div/b")).Text == "0") return jobsOutsideShift;
- if (totalRows <= 1) return jobsOutsideShift;
- for (int i = 0; i < pages; i++)
- {
- javascriptExec.ExecuteScript(String.Format("gridSelectPage('ordersGrid',{0});", i));
- taxifyRows = driver.FindElements(By.XPath("/html/body/div[1]/div/center/form/div/table/tbody/tr[2]/td[2]/div/div[2]/table/tbody/tr[2]/td/div/table/tbody/tr"));
- foreach (IWebElement element in taxifyRows)
- {
- DateTime transactionDate = new DateTime();
- GeneralDriverData matchingDriver = generalDriverData.Find(x => x.driverName.Contains(taxifyDriver.driverName.Replace("\r\n", "").Replace("\r", "").Replace("\n", "")));
- if(matchingDriver == null)
- {
- Console.WriteLine("Failed to find a driver with the name {0}", taxifyDriver.driverName);
- Console.ReadLine();
- }
- if (element.GetAttribute("class").Contains("fg_pages")) continue;
- tDate = element.FindElement(By.XPath(".//td[4]")).Text;
- transactionDate = DateTime.Parse(tDate);
- tState = element.FindElement(By.XPath(".//td[7]/span")).Text;
- tAddress = element.FindElement(By.XPath(".//td[8]/a")).GetAttribute("title");
- tSum = element.FindElement(By.XPath(".//td[9]")).Text;
- tPaymentType = "";
- if (findPaymentType)
- {
- //string orderUrl = element.FindElement(By.XPath(".//td[10]/a")).GetAttribute("href");
- if (privateRun && tSum.Contains("Capture sent"))
- {
- tPaymentType = "App";
- // tPaymentType = GetJobPaymentType(driver2, orderUrl);
- //Console.WriteLine(tPaymentType);
- }
- }
- if(matchingDriver != null)
- {
- //Check if job fits between drivers first and last shift
- if (DateTime.Compare(transactionDate, matchingDriver.firstShiftStart) < 0 || DateTime.Compare(transactionDate, matchingDriver.lastShiftEnd) > 0)
- {
- jobsOutsideShift += 1;
- if (DateTime.Compare(transactionDate, matchingDriver.lastShiftEnd) > 0)
- {
- jobsToNextWeek += 1;
- }
- continue;
- }
- }
- //If job has been completed and private job, adds sum to driver
- int location = tSum.IndexOf("€");
- if (location != -1)
- {
- //if (privateRun)
- //{
- // taxifyDriver.workSums.Add(tSum.Substring(0, location + 1));
- //}
- tSum = tSum.Substring(0, location + 2).Replace("\r","");
- }
- DatabaseHandler.insertTaxifyJob(new TaxifyJob(DateTime.Parse(tDate), tState, tAddress, tSum, taxifyDriver.driverName, true, tPaymentType));
- //Trims long strings
- int length = tState.Length;
- if (length > 15) { tState = tState.Substring(0, 12) + "..."; }
- length = tAddress.Length;
- if (length > 15) { tAddress = tAddress.Substring(0, 12) + "..."; }
- lastRow = oSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Row + 1;
- oSheet.Cells[lastRow, 1].Value2 = tDate;
- oSheet.Cells[lastRow, 2].Value2 = tState;
- oSheet.Cells[lastRow, 3].Value2 = tAddress;
- oSheet.Cells[lastRow, 4].Value2 = tSum;
- }
- }
- lastRow = oSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Row + 1;
- if(taxifyDriver.driverPrivateID == "-1" || privateRun == true)
- {
- taxifyDriver.jobsForNextWeek += jobsToNextWeek;
- if (taxifyDriver.jobsForNextWeek > 0)
- {
- string message = String.Format("Järgmisesse nädalasse jäi kokku {0} tööd", taxifyDriver.jobsForNextWeek);
- oSheet.Cells[lastRow + 1, 1].Value2 = message;
- oSheet.Range[oSheet.Cells[lastRow + 1, 1], oSheet.Cells[lastRow + 1, 4]].Merge();
- }
- }
- return jobsToNextWeek;
- }
RAW Paste Data

