private List <List <string> > ScrapTableData(ScrapPage page, ChromeDriver driver) { var tableData = new List <List <string> >(); _logger.Info($"Scraping page [{page.URL}]"); driver.Navigate().GoToUrl(page.URL); _logger.Info("page loaded"); // Wait for table to load new WebDriverWait(driver, TimeSpan.FromSeconds(3)) .Until(ExpectedConditions.ElementExists( string.IsNullOrWhiteSpace(page.TableId) ? By.ClassName(page.TableClass) : By.Id(page.TableId) )); _logger.Info("finding rows"); var tableRows = driver.FindElements(By.XPath(page.TableRowsXPath)); _logger.Info("Table rows count = " + tableRows.Count); foreach (var row in tableRows) { var rowData = ReadRowData(row, page.ColumnMappings); tableData.Add(rowData); } return(tableData); }
private void dataGridViewPagingSumCtrl_CurrentPageIndexChanged(int index) { try { if (this.pagePara == null) { return; } if (GlobalUtil.EngineUnconnectioned(this)) { return; } pagePara.PageIndex = index; ScrapPage listPage = GlobalCache.ServerProxy.GetScrapPage(this.pagePara); this.BindingScrapOrderSource(listPage); } catch (Exception ee) { GlobalUtil.ShowError(ee); } finally { GlobalUtil.UnLockPage(this); } }
private void BaseButton_Search_Click(object sender, EventArgs e) { try { if (GlobalUtil.EngineUnconnectioned(this)) { return; } string orderID = string.IsNullOrEmpty(this.skinTextBox_OrderID.SkinTxt.Text) ? null : this.skinTextBox_OrderID.SkinTxt.Text; this.pagePara = new ScrapPagePara() { ScrapOrderID = orderID, StartDate = new CJBasic.Date(this.dateTimePicker_Start.Value), EndDate = new CJBasic.Date(this.dateTimePicker_End.Value), PageIndex = 0, PageSize = this.dataGridViewPagingSumCtrl.PageSize, ShopID = ValidateUtil.CheckEmptyValue(this.skinComboBoxShopID.SelectedValue), CostumeID = ValidateUtil.CheckEmptyValue(skinTextBox_costumeID.SkinTxt.Text) }; ScrapPage listPage = GlobalCache.ServerProxy.GetScrapPage(this.pagePara); dataGridViewPagingSumCtrl.OrderPara = pagePara; this.dataGridViewPagingSumCtrl.Initialize(listPage); this.BindingScrapOrderSource(listPage); } catch (Exception ee) { GlobalUtil.ShowError(ee); } finally { GlobalUtil.UnLockPage(this); } }
private List <List <string> > FilterNewRecords(List <List <string> > tableData, ScrapPage page, ColumnMapping dateCol) { var dateColIndex = page.ColumnMappings.IndexOf(dateCol); var latestDateInFileStr = _csvReader.GetLastDate(page.FilePath, dateColIndex); _logger.Info("latestDateInFileStr = " + latestDateInFileStr); if (string.IsNullOrWhiteSpace(latestDateInFileStr)) { return(tableData); //all records are new } var latestDateInFile = DateTime.ParseExact(latestDateInFileStr, dateCol.OutputDateFormat, CultureInfo.InvariantCulture); var filtered = tableData.Where(x => DateTime.ParseExact(x[dateColIndex], dateCol.OutputDateFormat, CultureInfo.InvariantCulture) > latestDateInFile); return(filtered.ToList()); }
/// <summary> /// 绑定plenishOrderSource源到dataGridView中 /// </summary> /// <param name="listPage"></param> private void BindingScrapOrderSource(ScrapPage listPage) { this.dataGridViewPagingSumCtrl.BindingDataSource(listPage?.ScrapOrderList, null, listPage?.TotalEntityCount, listPage?.ScrapOrderSum); this.skinSplitContainer1.Panel2Collapsed = true; }