private void EditAnnuncio() { ListViewItem row = lsvResults.SelectedItems[0]; string jobId = row.SubItems[colJobID].Text; DatiAnnuncio annuncio = new DatiAnnuncio(); bool found = DatiAnnuncio.TrovaId(_pathData, jobId, ref annuncio); if (!found) { GeneraEntry(jobId); row.Checked = true; } frmDatiAnnuncio formDatiExtra = new frmDatiAnnuncio(jobId); formDatiExtra.ShowDialog(); if (!Program.extraData.Annulla) { // scrittura dati FileIni ini = new FileIni(); ini.IniFile(_pathData); ini.Write("contattato", Program.extraData.Contattato, jobId); if (Program.extraData.Contattato == "SI") { ini.Write("data_contatto", DateTime.Now.ToShortDateString(), jobId); } ini.Write("messaggio", Program.extraData.Messaggio, jobId); ini.Write("note", Program.extraData.Annotazioni, jobId); ini.Write("nascosto", Program.extraData.Nascosto, jobId); ini.Write("evidenzia", Program.extraData.Evidenzia, jobId); if (Program.extraData.Nascosto == "SI") { lsvResults.Items.Remove(row); } else { if (Program.extraData.Contattato == "SI") { row.BackColor = Color.LightSalmon; } else if (Program.extraData.Evidenzia == "SI") { row.BackColor = Color.Yellow; } else { row.BackColor = Color.GhostWhite; } } } }
private void menuApri_Click(object sender, EventArgs e) { if (lsvResults.SelectedItems.Count > 0) { ListViewItem item = lsvResults.SelectedItems[0]; item.Checked = true; string link = @"https://www.lapiazza.it" + item.SubItems[colJobID].Text; string jobId = item.SubItems[colJobID].Text; // aggiungere id alla lista degli annunci letti DatiAnnuncio annuncio = new DatiAnnuncio(); bool found = DatiAnnuncio.TrovaId(_pathData, jobId, ref annuncio); if (!found) { GeneraEntry(jobId); } System.Diagnostics.Process.Start(link); } }
public frmDatiAnnuncio(string jobId) { InitializeComponent(); // carica dati string pathData = Path.Combine(Application.StartupPath, "datalist.ini"); DatiAnnuncio annuncio = new DatiAnnuncio(); bool found = DatiAnnuncio.TrovaId(pathData, jobId, ref annuncio); if (found) { FileIni ini = new FileIni(); ini.IniFile(pathData); optSI.Checked = (ini.Read("contattato", jobId) == "SI"); chkNascondi.Checked = (ini.Read("nascosto", jobId) == "SI"); chkEvidenzia.Checked = (ini.Read("evidenzia", jobId) == "SI"); txtDataContatto.Text = ini.Read("data_contatto", jobId); txtMsg.Text = parseRead(ini.Read("messaggio", jobId)); txtNote.Text = parseRead(ini.Read("note", jobId)); } }
public static bool TrovaId(string pathIni, string jobId, ref DatiAnnuncio annuncio) { bool res = false; FileIni mydata = new FileIni(); mydata.IniFile(pathIni); res = mydata.KeyExists("nascosto", jobId); if (res) { annuncio.Nascosto = mydata.Read("nascosto", jobId); annuncio.Evidenzia = mydata.Read("evidenzia", jobId); annuncio.Contattato = mydata.Read("contattato", jobId); } else { annuncio.Nascosto = "NO"; annuncio.Evidenzia = "NO"; annuncio.Contattato = "NO"; } mydata = null; return(res); }
private void cmdScan_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; bool first = true; string url, baseUrl; DatiAnnuncio annuncio = new DatiAnnuncio(); bool found; string xpath1 = "//div[@class='colonna-annunci col']/div[contains(@class,'row no-gutters annuncio')]"; // "//div[@class='item_content_in']"; // From Web var web = new HtmlWeb(); int curRow = 0; lsvResults.Items.Clear(); baseUrl = txtUrl.Text; // kttps://www.lapiazza.it/ricerca?text®=05&cat=1108 for (int i = 1; i <= topPages.Value; i++) { if (first) { url = baseUrl; } else { url = baseUrl + "&page=" + i; } first = false; var doc = web.Load(url); int debugCount = 0; try { HtmlNodeCollection annunci = doc.DocumentNode.SelectNodes(xpath1); foreach (HtmlNode n in annunci) { debugCount++; HtmlNode title = n.SelectSingleNode("./div/div[@class='row no-gutters mb-auto']/a"); string descr = title.InnerText; // n2.ChildNodes[1].InnerText.Replace("\t", ""); string jobId = title.Attributes["href"].Value; string link = "www.lapiazza.it" + jobId; // extra info: Luogo string luogo = n.SelectSingleNode("./div/p[@class='icon-right order-0']").InnerText.Replace("\n", "").Trim(); // extra info: Data e Inserzionista HtmlNode info = n.SelectSingleNode("./div/p[@class='color-brown-grey order-2 order-md-1']"); string dataOra = info.SelectSingleNode("./span[@class='mr-2 d-none d-md-inline']").InnerText.Replace("\n", "").Trim(); HtmlNode infoOwner = info.SelectSingleNode("./span[@class='fs12md']"); string owner = ""; if (infoOwner != null) { owner = infoOwner.InnerText.Replace("Inserzionista: ", ""); } found = DatiAnnuncio.TrovaId(_pathData, jobId, ref annuncio); if (chkMostraTutti.Checked || (annuncio.Nascosto == "NO")) { curRow++; string[] values = { descr, luogo, dataOra, owner, link, jobId }; ListViewItem row = lsvResults.Items.Add(new ListViewItem(values)); if (annuncio.Contattato == "SI") { row.BackColor = Color.LightSalmon; } else if (annuncio.Nascosto == "SI") { row.BackColor = Color.LightBlue; } else if (annuncio.Evidenzia == "SI") { row.BackColor = Color.Yellow; } else if (curRow % 2 == 0) { row.BackColor = Color.LightGray; } else { row.BackColor = Color.GhostWhite; } } } } catch (Exception err) { MessageBox.Show(debugCount + " " + err.Message); MessageBox.Show("la pagina: " + i + " non contiene annunci"); } } // aggiornamento colonna dei già selezionati foreach (ListViewItem row in lsvResults.Items) { found = DatiAnnuncio.TrovaId(_pathData, row.SubItems[colJobID].Text, ref annuncio); row.Checked = found; } lblTotAnn.Text = "Tot. Annunci: " + curRow.ToString(); this.Cursor = Cursors.Default; }