private void inserisciDettagli(int id) { HtmlNodeCollection nodesAll = docDetailes.DocumentNode.SelectNodes(@"(//table[@class='tbl3']|//h2)"); for (int nc = 0; nc < nodesAll.Count; nc++)// parto all'incontrario per un fattore d'indice { HtmlNode node = nodesAll[nc]; if (node.Attributes.Count == 1 && node.Attributes[0].Value == "tbl3") { doctemp.LoadHtml(node.InnerHtml); HtmlNodeCollection rows = doctemp.DocumentNode.SelectNodes(@"(//tr)"); for (int i = 1; i < rows.Count; i++)// saltro la prima riga { HtmlNode noderow = rows[i]; doctempRow.LoadHtml(noderow.InnerHtml); HtmlNodeCollection trows = doctempRow.DocumentNode.SelectNodes(@"(//td)"); QuotazioniVinciteRow row = Variabili._QuatazioniVinciteRow_newRow(); row.id = id; row.enumTipoVincita = ""; if (trows[0].InnerText == "") { continue; } string valore = Normalize(trows[1].InnerText); if (valore == "-") { valore = "0"; } string[] valuta = valore.Split(" ");//valore, valuta row.valore = valuta[0]; if (valuta.Length > 1) { row.valuta = valuta[1]; } row.vincitori = int.Parse(Normalize(trows[2].InnerText).Replace(".", "")); row.premio = trows[0].InnerText; row.enumTipoVincita = nodesAll[nc - 1].InnerText; Variabili._QuatazioniVincite_addRow(row); trows.Clear(); } rows.Clear(); } } nodesAll.Clear(); }
public void downloadAllLotto() { if (DateTime.Now.Year == Variabili.annoDiInizio.Year && DateTime.Now.Month == Variabili.annoDiInizio.Month && DateTime.Now.Day == Variabili.annoDiInizio.Day) { return; } for (int i = 0; i <= (DateTime.Now.Year - Variabili.annoDiInizio.Year); i++) { Task <string> task = Task.Run(async() => await downloadDataEstrazioniLotto()); string result = task.Result; doc.LoadHtml(result); int countPalla = 0; List <LottoPalleRow> palle = new List <LottoPalleRow>(); LottoRow row = Variabili._LottoDs_newRow(); HtmlNodeCollection nodesAll = doc.DocumentNode.SelectNodes(@"(//a[contains(@href,'/risultati/estrazione')]|//td[@class='ball-24px']|//td[@class='superstar-24px']|//td[@class='jolly-24px'])"); //dal 28 marzo 2006 if (nodesAll == null) { continue; } for (int nc = nodesAll.Count - 1; nc != 0; nc--)// parto all'incontrario per un fattore d'indice { HtmlNode node = nodesAll[nc]; if (node.Attributes.Count == 1 && node.Attributes[0].Value == "ball-24px")// dovrebbe esserci solamnente una classe ball-24px { int.TryParse(node.InnerText, out int value); palle.Add(Variabili._LottoPalleDs_newRow(-1, value, "palla" + (++countPalla)));// non ho ancora l' id metto -1 come id temporaneo } else if (node.Attributes.Count == 1 && node.Attributes[0].Value == "superstar-24px") { int.TryParse(node.InnerText, out int value); palle.Add(Variabili._LottoPalleDs_newRow(-1, value, "superstar")); } else if (node.Attributes.Count == 1 && node.Attributes[0].Value == "jolly-24px") { int.TryParse(node.InnerText, out int value); palle.Add(Variabili._LottoPalleDs_newRow(-1, value, "jolly")); } else if (node.Attributes.Count == 2 && node.Attributes[0].Name == "href") {//primo campo che si legge countPalla = 0; var data = node.Attributes[0].Value.Substring(Variabili.extractData.Length); DateTime.TryParseExact(data, "dd-MM-yyyy", enUS, DateTimeStyles.None, out DateTime Data); row.hrfQuotazioni = node.Attributes[0].Value; row.data = Data; row.anno = Data.Year; if (Data <= Variabili.annoDiInizio) { continue; } Task <string> taskDetailes = Task.Run(async() => await downloadDataEstrazioniLottoDetailes(row.hrfQuotazioni)); if (taskDetailes == null) { continue; } int countEstrazione = dettagliEstrazione(taskDetailes.Result); row.id = creaIndice(countEstrazione); row.nEstrazione = countEstrazione; Variabili._LottoDs_addRow(row); inserisciDettagli(row.id); foreach (LottoPalleRow rowPalla in palle) { rowPalla.id = row.id; Variabili._LottoPalleDs_addRow(rowPalla); } palle = new List <LottoPalleRow>(); row = Variabili._LottoDs_newRow(); } } anno = anno.AddYears(1); Variabili._DsLottoSave(); } }
public KendoStatisticsData GetLottoStatisticsQuote() { return(Variabili._LottoStatisticsQuote()); }
public KendoData GetLottoDetailesFromId(int id) { return(Variabili._LottoDetailesFromId(id)); }
public List <Struct_Joing_AllTable> GetLottoPallefromId(int id) { return(Variabili._LottoPallefromId(id)); }
public KendoData GetLottoKendoQuery(string KendoQuery) { return(Variabili._LottoFromKendo(KendoQuery)); }
public List <Struct_Joing_AllTable> GetLottoAndBall() { return(Variabili._listLottoAndPalle()); }