private List <LotteryDrawResult> GetScrapeResults(LotteryDetails lotteryDetails, IHtmlDocument document) { List <LotteryDrawResult> lotteryDrawResultArr = new List <LotteryDrawResult>(); IEnumerable <IElement> tableElement = null; tableElement = document.All.Where(x => x.ClassName == "Grid search-lotto-result-table" && x.Id == "cphContainer_cpContent_GridView1"); if (tableElement.Any()) { IElement tbody = tableElement.First(); foreach (INode node in tbody.ChildNodes) { foreach (INode tr in node.ChildNodes.Skip(1)) { INodeList tds = tr.ChildNodes; LotteryDrawResultSetup setup = new LotteryDrawResultSetup(); if (tr.ChildNodes.Length >= 5) { setup.PutNumberSequence(tr.ChildNodes[2].TextContent); setup.DrawDate = DateTime.ParseExact(tr.ChildNodes[3].TextContent, "M/d/yyyy", CultureInfo.InvariantCulture); setup.JackpotAmt = double.Parse(tr.ChildNodes[4].TextContent); setup.Winners = int.Parse(tr.ChildNodes[5].TextContent); setup.GameCode = lotteryDetails.GameCode; lotteryDrawResultArr.Add(setup); } } } } return(lotteryDrawResultArr); }
public LotteryDrawResult GetLotteryDrawResultByDrawDate(GameMode gameMode, DateTime drawDate) { LotteryDrawResultSetup lotteryDrawResult = null; using (OleDbConnection conn = DatabaseConnectionFactory.GetDataSource()) using (OleDbCommand command = new OleDbCommand()) { command.CommandType = CommandType.Text; command.CommandText = GetStandardSelectQuery() + " AND draw_date = CDATE(@drawDate)"; command.Parameters.AddWithValue("@game_cd", OleDbType.Integer).Value = (int)gameMode; command.Parameters.AddWithValue("@drawDate", OleDbType.DBDate).Value = drawDate.ToString(); command.Connection = conn; conn.Open(); using (OleDbDataReader reader = command.ExecuteReader()) { if (!reader.HasRows) { return(lotteryDrawResult); } while (reader.Read()) { return(GetLotteryDrawResultSetup(reader, gameMode)); } } } return(lotteryDrawResult); }
public List <int[]> GenerateSequence() { StartPickGeneration(); int maximumPickCount = GetFieldParamValueForCount(0); int matchPerc = GetFieldParamValueForCount(1); int maxLoopBreaker = int.MaxValue - 100; int maxLoopCtr = 0; List <int[]> results = new List <int[]>(); DrawResultWinCountInputModel sampleData; LotteryDrawResultSetup lotteryDrawResult = new LotteryDrawResultSetup(); lotteryDrawResult.GameCode = lotteryDataServices.LotteryDetails.GameCode; Random ran = new Random(); while (results.Count < maximumPickCount) { int[] randomSeq = LuckyPickGenerator(ran); lotteryDrawResult.ResetSequenceToZero(); lotteryDrawResult.FillNumberBySeq(randomSeq); sampleData = lotteryDrawResult.GetDrawResultWinCountInputModel(true); DrawResultWinCountOutputModel output = DrawResultWinCountPredictor.Predict(sampleData); int score = (int)(output.Score * 100); PickGenerationProgressEvent.IncrementGenerationAttemptCount(); if (score >= matchPerc) { Array.Sort(randomSeq); results.Add(randomSeq); PickGenerationProgressEvent.IncrementGeneratedPickCount(); } if (!IsContinuePickGenerationProgress()) { break; } if (maxLoopCtr++ > maxLoopBreaker) { break; } } RaisePickGenerationProgress(); StopPickGeneration(); return(results); }
private LotteryDrawResultSetup GetLotteryDrawResultSetup(OleDbDataReader reader, GameMode gameMode) { LotteryDrawResultSetup dr = new LotteryDrawResultSetup(); dr.DrawDate = DateTime.Parse(reader["draw_date"].ToString()); dr.GameCode = (int)gameMode; dr.Id = long.Parse(reader["ID"].ToString()); dr.Num1 = int.Parse(reader["num1"].ToString()); dr.Num2 = int.Parse(reader["num2"].ToString()); dr.Num3 = int.Parse(reader["num3"].ToString()); dr.Num4 = int.Parse(reader["num4"].ToString()); dr.Num5 = int.Parse(reader["num5"].ToString()); dr.Num6 = int.Parse(reader["num6"].ToString()); dr.SortNumbers(); dr.JackpotAmt = double.Parse(reader["jackpot_amt"].ToString()); dr.Winners = int.Parse(reader["winners"].ToString()); dr.Id = long.Parse(reader["ID"].ToString()); return(dr); }