daily pastebin goal
41%
SHARE
TWEET

Untitled

a guest Jan 29th, 2018 42 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         private static int insertTaxifyLinesToExcel(IWebDriver driver, IWebDriver driver2, Excel.Worksheet oSheet, bool privateRun, TaxifyDriverData taxifyDriver, bool findPaymentType)
  2.         {
  3.             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"));
  4.             int totalRows = taxifyRows.Count;
  5.             int jobsOutsideShift = 0;
  6.             int jobsToNextWeek = 0;
  7.             List<GeneralDriverData> generalDriverData = DatabaseHandler.loadGeneralDriverData();
  8.  
  9.  
  10.             string tDate, tState, tAddress, tSum = null;
  11.             string tPaymentType = "";
  12.             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;
  13.             int pages = (Int32.Parse(realCount) + 99) / 100;
  14.             int lastRow = oSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Row;
  15.  
  16.             IJavaScriptExecutor javascriptExec = (IJavaScriptExecutor)driver;
  17.            
  18.  
  19.  
  20.             if (privateRun)
  21.             {
  22.                 oSheet.Cells[lastRow+1, 1].Value2 = "Sõidujagamine";
  23.                 oSheet.Cells[lastRow+1, 2].Value2 = realCount;
  24.             }
  25.             else
  26.             {
  27.                 oSheet.Cells[lastRow, 2].Value2 = realCount;
  28.             }
  29.             if (realCount == "0")
  30.             {
  31.                 if (privateRun)
  32.                 {
  33.                     taxifyDriver.jobsForNextWeek += jobsToNextWeek;
  34.                     if (taxifyDriver.jobsForNextWeek > 0)
  35.                     {
  36.                         string message = String.Format("Järgmisesse nädalasse jäi kokku {0} tööd", taxifyDriver.jobsForNextWeek);
  37.                         oSheet.Cells[lastRow + 1, 1].Value2 = message;
  38.                         oSheet.Range[oSheet.Cells[lastRow + 1, 1], oSheet.Cells[lastRow + 1, 4]].Merge();
  39.                     }
  40.                 }
  41.                 return jobsOutsideShift;
  42.             }
  43.             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;
  44.             if (totalRows <= 1) return jobsOutsideShift;
  45.             for (int i = 0; i < pages; i++)
  46.             {
  47.                 javascriptExec.ExecuteScript(String.Format("gridSelectPage('ordersGrid',{0});", i));
  48.                 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"));
  49.                 foreach (IWebElement element in taxifyRows)
  50.                 {
  51.                     DateTime transactionDate = new DateTime();
  52.                     GeneralDriverData matchingDriver = generalDriverData.Find(x => x.driverName.Contains(taxifyDriver.driverName.Replace("\r\n", "").Replace("\r", "").Replace("\n", "")));
  53.                     if(matchingDriver == null)
  54.                     {
  55.                         Console.WriteLine("Failed to find a driver with the name {0}", taxifyDriver.driverName);
  56.                         Console.ReadLine();
  57.                     }
  58.  
  59.                     if (element.GetAttribute("class").Contains("fg_pages")) continue;
  60.                     tDate = element.FindElement(By.XPath(".//td[4]")).Text;
  61.                     transactionDate = DateTime.Parse(tDate);
  62.                     tState = element.FindElement(By.XPath(".//td[7]/span")).Text;
  63.                     tAddress = element.FindElement(By.XPath(".//td[8]/a")).GetAttribute("title");
  64.                     tSum = element.FindElement(By.XPath(".//td[9]")).Text;
  65.                     tPaymentType = "";
  66.  
  67.                     if (findPaymentType)
  68.                     {
  69.                         //string orderUrl = element.FindElement(By.XPath(".//td[10]/a")).GetAttribute("href");
  70.                         if (privateRun && tSum.Contains("Capture sent"))
  71.                         {
  72.                             tPaymentType = "App";
  73.                            // tPaymentType = GetJobPaymentType(driver2, orderUrl);
  74.                             //Console.WriteLine(tPaymentType);
  75.                         }
  76.                     }
  77.                     if(matchingDriver != null)
  78.                     {
  79.                         //Check if job fits between drivers first and last shift
  80.                         if (DateTime.Compare(transactionDate, matchingDriver.firstShiftStart) < 0 || DateTime.Compare(transactionDate, matchingDriver.lastShiftEnd) > 0)
  81.                         {
  82.                             jobsOutsideShift += 1;
  83.                             if (DateTime.Compare(transactionDate, matchingDriver.lastShiftEnd) > 0)
  84.                             {
  85.                                 jobsToNextWeek += 1;
  86.                             }
  87.                             continue;
  88.                         }
  89.                     }
  90.  
  91.                     //If job has been completed and private job, adds sum to driver
  92.                     int location = tSum.IndexOf("€");
  93.                     if (location != -1)
  94.                     {
  95.                         //if (privateRun)
  96.                         //{
  97.                         //    taxifyDriver.workSums.Add(tSum.Substring(0, location + 1));
  98.                         //}
  99.                         tSum = tSum.Substring(0, location + 2).Replace("\r","");
  100.                     }
  101.  
  102.  
  103.  
  104.                     DatabaseHandler.insertTaxifyJob(new TaxifyJob(DateTime.Parse(tDate), tState, tAddress, tSum, taxifyDriver.driverName, true, tPaymentType));
  105.  
  106.                     //Trims long strings
  107.                     int length = tState.Length;
  108.                     if (length > 15) { tState = tState.Substring(0, 12) + "..."; }
  109.                     length = tAddress.Length;
  110.                     if (length > 15) { tAddress = tAddress.Substring(0, 12) + "..."; }
  111.  
  112.                     lastRow = oSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Row + 1;
  113.  
  114.                     oSheet.Cells[lastRow, 1].Value2 = tDate;
  115.                     oSheet.Cells[lastRow, 2].Value2 = tState;
  116.                     oSheet.Cells[lastRow, 3].Value2 = tAddress;
  117.                     oSheet.Cells[lastRow, 4].Value2 = tSum;
  118.                 }
  119.             }
  120.             lastRow = oSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Row + 1;
  121.  
  122.             if(taxifyDriver.driverPrivateID == "-1" || privateRun == true)
  123.             {
  124.                 taxifyDriver.jobsForNextWeek += jobsToNextWeek;
  125.                 if (taxifyDriver.jobsForNextWeek > 0)
  126.                 {
  127.                     string message = String.Format("Järgmisesse nädalasse jäi kokku {0} tööd", taxifyDriver.jobsForNextWeek);
  128.                     oSheet.Cells[lastRow + 1, 1].Value2 = message;
  129.                     oSheet.Range[oSheet.Cells[lastRow + 1, 1], oSheet.Cells[lastRow + 1, 4]].Merge();
  130.                 }
  131.             }
  132.  
  133.  
  134.             return jobsToNextWeek;
  135.         }
RAW Paste Data
Pastebin PRO WINTER Special!
Get 40% OFF Pastebin PRO accounts!
Top