public async Task <List <VikingLottoNumbers> > GetNumbers(int pageNum) { List <VikingLottoNumbers> vikingLottoNumbersCollection = new List <VikingLottoNumbers>(); HtmlWeb web = new HtmlWeb(); HtmlDocument doc; try { if (pageNum == 1) { doc = await web.LoadFromWebAsync("https://www.latloto.lv/lv/arhivs/viking-lotto"); } else { doc = await web.LoadFromWebAsync("https://www.latloto.lv/lv/arhivs/viking-lotto" + "/" + pageNum.ToString()); } var num1 = doc.DocumentNode.SelectNodes("/html/body/main/div/section//div/div/div//div//table//tr//td//div/span[1]"); var num2 = doc.DocumentNode.SelectNodes("/html/body/main/div/section//div/div/div//div//table//tr//td//div/span[2]"); var num3 = doc.DocumentNode.SelectNodes("/html/body/main/div/section//div/div/div//div//table//tr//td//div/span[3]"); var num4 = doc.DocumentNode.SelectNodes("/html/body/main/div/section//div/div/div//div//table//tr//td//div/span[4]"); var num5 = doc.DocumentNode.SelectNodes("/html/body/main/div/section//div/div/div//div//table//tr//td//div/span[5]"); var num6 = doc.DocumentNode.SelectNodes("/html/body/main/div/section//div/div/div//div//table//tr//td//div/span[6]"); var additionalNum = doc.DocumentNode.SelectNodes("/html/body/main/div/section//div/div/div//div//table//tr//td//div/span[8]"); int drawRowCounter = 0; while (num1.Count > drawRowCounter) { VikingLottoNumbers vikingLottoNumbers = new VikingLottoNumbers(); vikingLottoNumbers.AddDrawNumbers(Convert.ToInt16(num1[drawRowCounter].InnerText), Convert.ToInt16(num2[drawRowCounter].InnerText), Convert.ToInt16(num3[drawRowCounter].InnerText), Convert.ToInt16(num4[drawRowCounter].InnerText), Convert.ToInt16(num5[drawRowCounter].InnerText), Convert.ToInt16(num6[drawRowCounter].InnerText), Convert.ToInt16(additionalNum[drawRowCounter].InnerText), false, false, false, false, false, false, false); vikingLottoNumbersCollection.Add(vikingLottoNumbers); drawRowCounter++; } } catch (Exception) { ConnectionFail = true; CachConnectionFail?.Invoke(this, ConnectionFail); } return(vikingLottoNumbersCollection); }
public static ObservableCollection <VikingLottoNumbers> GetSimilarities(int lotoNum1, int lotoNum2, int lotoNum3, int lotoNum4, int lotoNum5, int lotoNum6, int lotoAdditionalNum, ObservableCollection <VikingLottoNumbers> vikingLottoNumbers, int similarityCount) { ObservableCollection <VikingLottoNumbers> results = new ObservableCollection <VikingLottoNumbers>(); RessetAllBools(vikingLottoNumbers); VikingLottoNumbers lotteryTicketNumbers = new VikingLottoNumbers(); lotteryTicketNumbers.AddDrawNumbers(lotoNum1, lotoNum2, lotoNum3, lotoNum4, lotoNum5, lotoNum6, lotoAdditionalNum, false, false, false, false, false, false, false); int counter = 0; int counterForBool = 0; foreach (var item in vikingLottoNumbers) { counter = 0; counterForBool = 0; VikingLottoNumbers lottoSimilarNumbers = new VikingLottoNumbers(); foreach (var CollectionItem in item.NumCollection) { if (lotteryTicketNumbers.AdditionalNum == item.AdditionalNum && counter == 0) { counterForBool++; item.BoolCollection[6] = true; item.ColorAdditionalNum = ColorCode.IsSimilarAdditionalNum; } else if (lotteryTicketNumbers.AdditionalNum != item.AdditionalNum && counter == 0) { item.ColorAdditionalNum = ColorCode.NotSimilarAdditionalNum; } foreach (var ticketItem in lotteryTicketNumbers.NumCollection) { if (CollectionItem == ticketItem) { counterForBool++; item.BoolCollection[counter] = true; } } counter++; } if (counterForBool < similarityCount) { for (int i = 0; i < item.BoolCollection.Count; i++) { item.BoolCollection[i] = false; } } else { item.GetColorForNum(); results.Add(item); } } return(results); }