public static DynamicSite <T0, T1, R> CreateSimpleCallSite <T0, T1, R>(ref DynamicSite <T0, T1, R> site) { if (site == null) { Interlocked.CompareExchange <DynamicSite <T0, T1, R> >(ref site, CreateSimpleCallSite <T0, T1, R>(), null); } return(site); }
private void btnScrapp_Click(object sender, EventArgs e) { if (productInfoList.Count == 0) { MessageBox.Show("Selected Sheet is empty"); return; } SqlServerOperation operation = SqlServerOperation.Instance; operation.SetDataSets(dataSets.SelectedItem.ToString(), tblName.SelectedItem.ToString()); bool updateFlag = updCheck.Checked; Browser browser = new Browser(Browser.Type.CHROME, false); Puller dataPuller = new Puller(); foreach (var info in productInfoList) { try { if (!templates.ContainsKey(info.Template)) { if (!ReadTemplate(info.Template)) { Log.Exception("Scrapping failed for " + info.Url); continue; } } DataModel dataModel = templates[info.Template]; if (staticRb.Checked) { StaticSite target = new StaticSite(browser, dataModel.name, info.Url, dataModel, 1, info.LastPageNo, info.Name, dataModel.nextPageSelectorElement, int.Parse(siteLoad.Text), int.Parse(pageLoad.Text), dataModel.siteActions, dataModel.pageActions); dynamic sitena = dataPuller.PullData(target, updateFlag); } else { DynamicSite target = new DynamicSite(browser, dataModel.name, info.Url, dataModel, info.Url, urlSplitterTb.Text, int.Parse(incTb.Text), info.Name, int.Parse(siteLoad.Text), int.Parse(pageLoad.Text), dataModel.siteActions, dataModel.pageActions, 1, info.LastPageNo); dynamic sitena = dataPuller.PullData(target, updateFlag); } } catch (Exception ex) { Log.Exception("Scrapping failed for " + info.Url); } } MessageBox.Show("Scrapping has been completed !!"); }