public ReportDataServices(LotteryDetails lotteryDetails) { this.lotteryDetails = lotteryDetails; this.lotteryDataDerivation = new LotteryDataDerivation(GameMode); this.lotteryTicketPanelDao = LotteryTicketPanelDaoImpl.GetInstance(); this.lotteryOutletDao = LotteryOutletDaoImpl.GetInstance(); this.lotteryBetDao = LotteryBetDaoImpl.GetInstance(); this.userSettingDao = UserSettingDaoImpl.GetInstance(); this.lotteryScheduleDao = LotteryScheduleDaoImpl.GetInstance(); this.lotteryWinningBetDao = LotteryWinningBetDaoImpl.GetInstance(); this.lotteryDataWorker = new LotteryDataWorker(); this.lotteryDrawResultDao = LotteryDrawResultDaoImpl.GetInstance(); }
public void ProcessWinningBet(LotteryBet lotteryBet) { GameMode gameMode = ClassReflectionUtil.FindGameMode(lotteryBet.GetGameCode()); LotteryWinningCombinationDao lotteryWinningCombinationDao = LotteryWinningCombinationDaoImpl.GetInstance(); LotteryWinningCombination lotteryWinningCombination = lotteryWinningCombinationDao.GetLotteryWinningCombination(gameMode); RaiseEvent(LotteryDataWorkerEventStages.EXTRACTING, ResourcesUtils.GetMessage("lot_data_worker_cls_msg_3")); LotteryWinningBetDao lotteryWinningBetDao = LotteryWinningBetDaoImpl.GetInstance(); RaiseEvent(LotteryDataWorkerEventStages.EXTRACTING, ResourcesUtils.GetMessage("lot_data_worker_cls_msg_4")); LotteryDrawResultDao lotteryDrawResultDao = LotteryDrawResultDaoImpl.GetInstance(); LotteryDrawResult betDrawResult = lotteryDrawResultDao.GetLotteryDrawResultByDrawDate( gameMode, lotteryBet.GetTargetDrawDate()); LotteryWinningBetSetup lotteryWinningBet = new LotteryWinningBetSetup(); lotteryWinningBet.LotteryBetId = lotteryBet.GetId(); if (betDrawResult == null) { return; } if (betDrawResult.IsDrawResulDetailsEmpty()) { return; } int matchingNumberCtr = 0; foreach (int bet in lotteryBet.GetBetNumbersAsArray()) { if (betDrawResult.IsWithinDrawResult(bet)) { matchingNumberCtr++; lotteryWinningBet.FillNumberBySeq(matchingNumberCtr, bet); } } if (lotteryWinningBet.IsNumberSequenceMatchesAll(betDrawResult.GetAllNumberSequence())) { lotteryWinningBet.WinningAmount = betDrawResult.GetJackpotAmt(); } else { lotteryWinningBet.WinningAmount = lotteryWinningCombination.GetWinningAmount(matchingNumberCtr); } RaiseEvent(LotteryDataWorkerEventStages.INSERT, ResourcesUtils.GetMessage("lot_data_worker_cls_msg_5")); lotteryWinningBetDao.InsertWinningBet(lotteryWinningBet); }
public LotteryDataServices(LotteryDetails lotteryDetails) { this.lotteryDetails = lotteryDetails; this.userSetting = new UserSettings(); this.lotteryDataDerivation = new LotteryDataDerivation(this.LotteryDetails.GameMode); this.lotteryTicketPanelDao = LotteryTicketPanelDaoImpl.GetInstance(); this.lotteryOutletDao = LotteryOutletDaoImpl.GetInstance(); this.lotteryBetDao = LotteryBetDaoImpl.GetInstance(); this.userSettingDao = UserSettingDaoImpl.GetInstance(); this.lotteryScheduleDao = LotteryScheduleDaoImpl.GetInstance(); this.lotteryWinningBetDao = LotteryWinningBetDaoImpl.GetInstance(); this.lotteryDataWorker = new LotteryDataWorker(); this.lotteryDrawResultDao = LotteryDrawResultDaoImpl.GetInstance(); this.lotterySeqGenDao = LotterySequenceGenDaoImpl.GetInstance(); this.lotteryWinningCombinationDao = LotteryWinningCombinationDaoImpl.GetInstance(); }
public void ProcessAdjustCorrectTargetDrawDate(GameMode gameMode) { //LotteryWinningCombinationDao lotteryWinningCombinationDao = LotteryWinningCombinationDaoImpl.GetInstance(); LotteryBetDao lotteryBetDao = LotteryBetDaoImpl.GetInstance(); LotteryDrawResultDao lotteryDrawResultDao = LotteryDrawResultDaoImpl.GetInstance(); List <LotteryBet> lotteryBetArr = lotteryBetDao.GetDashboardLatestBets(gameMode, DateTime.Now.AddDays(-9999), DateTime.Now); foreach (LotteryBet lotteryBet in lotteryBetArr) { DateTime dt = lotteryDrawResultDao.GetNextDrawDate(gameMode, lotteryBet.GetTargetDrawDate()); if (!((DateTime.Now.Year - dt.Year) >= 12)) { lotteryBetDao.UpdateTargetDrawDate(lotteryBet.GetId(), dt); } } }
public void StartScraping(List <LotteryDetails> lotteriesDetailsArr) { this.lotteriesDetailsArr = lotteriesDetailsArr; LotteryDrawResultDao lotteryDao = LotteryDrawResultDaoImpl.GetInstance(); try { foreach (LotteryDetails lotteryDetails in this.lotteriesDetailsArr) { this.currentLotteryDetailsProcess = lotteryDetails; RaiseEvent(LottoWebScrapingStages.INIT); this.sinceWhenToScrape = lotteryDao.GetLatestDrawDate(lotteryDetails.GameMode); ScrapeWebsite(lotteryDetails, GenerateParameters(lotteryDetails)); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
internal async void ScrapeWebsite(LotteryDetails lotteryDetails, Dictionary <string, string> parameters) { try { RaiseEvent(LottoWebScrapingStages.CONNECTING); IHtmlDocument documentForSession = await GetWebsiteDOMAsync(GenerateParameters(lotteryDetails)); RaiseEvent(LottoWebScrapingStages.SESSION_CREATION); Dictionary <string, string> sessionParam = GetSessionBasedParameters(lotteryDetails, documentForSession); RaiseEvent(LottoWebScrapingStages.SEARCHING_DATA); IHtmlDocument document = await GetWebsiteDOMAsync(sessionParam); RaiseEvent(LottoWebScrapingStages.SCRAPING); List <LotteryDrawResult> lotteryDrawResultArr = GetScrapeResults(lotteryDetails, document); int countCtr = 1; LotteryDrawResultDao lotteryDao = LotteryDrawResultDaoImpl.GetInstance(); foreach (LotteryDrawResult scrapeResult in lotteryDrawResultArr.ToList()) { LotteryDrawResult result = lotteryDao.GetLotteryDrawResultByDrawDate(lotteryDetails.GameMode, scrapeResult.GetDrawDate()); if (result == null && !scrapeResult.IsDrawResulSequenceEmpty()) { newRecordsCount++; lotteryDao.InsertDrawDate(scrapeResult); } RaiseEvent(LottoWebScrapingStages.INSERT, ConverterUtils.GetPercentageFloored(countCtr++, lotteryDrawResultArr.Count), scrapeResult.GetExtractedDrawnResultDetails()); } } catch (Exception ex) { Console.WriteLine(ex.Message); RaiseEvent(LottoWebScrapingStages.ERROR, 0, ex.Message); } finally { RaiseEvent(LottoWebScrapingStages.FINISH); } }