예제 #1
0
        private void objListVwWinningNum_SelectionChanged(object sender, EventArgs e)
        {
            if (this.objListVwWinningNum.SelectedObjects.Count <= 0)
            {
                return;
            }
            LotteryDrawResult lotteryDrawResult = (LotteryDrawResult)objListVwWinningNum.SelectedObjects[0];
            TextMatchFilter   filter            = new TextMatchFilter(this.objListVwWinningNum);

            filter.Columns = GenerateOLVColumnForHighlighting();

            List <String> regex = new List <string>();

            foreach (int n in lotteryDrawResult.GetAllNumberSequenceSorted())
            {
                regex.Add("^" + n.ToString() + "$");
            }
            filter.RegexStrings = regex;

            HighlightTextRenderer highlightTextRenderer = new HighlightTextRenderer(filter);

            highlightTextRenderer.CornerRoundness      = 1;
            highlightTextRenderer.FramePen             = new Pen(Color.Empty);
            highlightTextRenderer.FillBrush            = new SolidBrush(Color.LightBlue);
            highlightTextRenderer.CellPadding          = new Rectangle(0, 0, 0, 0);
            highlightTextRenderer.Bounds               = new Rectangle(2, 2, 2, 2);
            this.objListVwWinningNum.ModelFilter       = filter;
            this.objListVwWinningNum.DefaultRenderer   = highlightTextRenderer;
            this.objListVwWinningNum.SelectedForeColor = Color.Black;
            this.objListVwWinningNum.Refresh();
        }
        public void InsertDrawDate(LotteryDrawResult lotteryDrawResult)
        {
            using (OleDbConnection conn = DatabaseConnectionFactory.GetDataSource())
                using (OleDbCommand command = new OleDbCommand())
                {
                    command.CommandType = CommandType.Text;
                    command.CommandText = " INSERT INTO draw_results (draw_date,jackpot_amt,winners,game_cd,num1,num2,num3,num4,num5,num6) " +
                                          " VALUES (@draw_date,@jackpot_amt,@winners,@game_cd,@num1,@num2,@num3,@num4,@num5,@num6)";
                    command.Parameters.AddWithValue("@draw_date", lotteryDrawResult.GetDrawDate());
                    command.Parameters.AddWithValue("@jackpot_amt", lotteryDrawResult.GetJackpotAmt());
                    command.Parameters.AddWithValue("@winners", lotteryDrawResult.GetWinnersCount());
                    command.Parameters.AddWithValue("@game_cd", lotteryDrawResult.GetGameCode());
                    command.Parameters.AddWithValue("@num1", lotteryDrawResult.GetNum1());
                    command.Parameters.AddWithValue("@num2", lotteryDrawResult.GetNum2());
                    command.Parameters.AddWithValue("@num3", lotteryDrawResult.GetNum3());
                    command.Parameters.AddWithValue("@num4", lotteryDrawResult.GetNum4());
                    command.Parameters.AddWithValue("@num5", lotteryDrawResult.GetNum5());
                    command.Parameters.AddWithValue("@num6", lotteryDrawResult.GetNum6());
                    command.Connection = conn;
                    conn.Open();
                    OleDbTransaction transaction = conn.BeginTransaction();
                    command.Transaction = transaction;
                    int result = command.ExecuteNonQuery();

                    if (result < 0)
                    {
                        transaction.Rollback();
                        throw new Exception(ResourcesUtils.GetMessage("lot_dao_impl_msg9"));
                    }
                    transaction.Commit();
                }
        }
예제 #3
0
        private void SelectDrawResultAndOpenMatchMakingForm()
        {
            LotteryDrawResult drawResult = (LotteryDrawResult)objListVwWinningNum.SelectedObject;

            if (drawResult == null)
            {
                return;
            }
            OpenBetsAndDrawResultMatchMakingForm(drawResult.GetDrawDate(), 0);
        }
예제 #4
0
        private void InitialzesContents()
        {
            objListViewBet.SetObjects(lotteryDataServices.GetLottoBetsByDrawDate(betDateTime));
            this.olvColDrawDate.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
            this.olvColNum1.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
            this.olvColNum2.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
            this.olvColNum3.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
            this.olvColNum4.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
            this.olvColNum5.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
            this.olvColNum6.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
            this.drawResult = lotteryDataServices.GetLotteryDrawResultByDrawDate(this.betDateTime);

            //Print the draw result
            if (this.drawResult == null)
            {
                GenerateResultPanels(GetBlankSequence(), tblLyPnlDrawResult, groupBoxDrawResult.ForeColor);
            }
            else
            {
                GenerateResultPanels(this.drawResult.GetAllNumberSequenceSorted(), tblLyPnlDrawResult, groupBoxDrawResult.ForeColor);
            }

            //print your first bet
            if (objListViewBet.GetItemCount() > 0)
            {
                if (this.betIdDefault > 0)
                {
                    foreach (LotteryBet bet in objListViewBet.Objects)
                    {
                        if (bet.GetId() == this.betIdDefault)
                        {
                            GenerateResultPanels(bet.GetAllNumberSequenceSorted(), tblLyPnlBet, groupBoxYourBet.ForeColor);
                            objListViewBet.SelectedIndex = objListViewBet.IndexOf(bet);
                            break;
                        }
                    }
                }
                else
                {
                    LotteryBet bet = (LotteryBet)objListViewBet.GetModelObject(0);
                    GenerateResultPanels(bet.GetAllNumberSequenceSorted(), tblLyPnlBet, groupBoxYourBet.ForeColor);
                    objListViewBet.SelectedIndex = 0;
                }
            }
            else
            {
                GenerateResultPanels(GetBlankSequence(), tblLyPnlBet, groupBoxYourBet.ForeColor);
            }
            MatchMaking();
        }
예제 #5
0
        private void objListVwWinningNum_FormatRow(object sender, FormatRowEventArgs e)
        {
            if (e.Model == null)
            {
                return;
            }
            LotteryDrawResult result = (LotteryDrawResult)e.Model;

            if (result.GetWinnersCount() > 0)
            {
                e.Item.BackColor = Color.GreenYellow;
                e.Item.ForeColor = Color.Black;
            }
        }
        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);
        }
        private int CountMatchingBetToDrawnResult(object rowObject)
        {
            if (this.objListVwBet.SelectedObjects.Count <= 0)
            {
                return(0);
            }
            LotteryBet        lotteryBet = (LotteryBet)objListVwBet.SelectedObjects[0];
            int               matchCnt   = 0;
            LotteryDrawResult drawResult = (LotteryDrawResult)rowObject;

            foreach (int n in lotteryBet.GetAllNumberSequenceSorted())
            {
                if (drawResult.IsWithinDrawResult(n))
                {
                    matchCnt++;
                }
            }
            return(matchCnt);
        }
        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);
            }
        }
        protected override String GetDataSetEntry(Object lotteryModel)
        {
            LotteryDrawResult model = (LotteryDrawResult)lotteryModel;

            return(model.GetDrawResultWinCountModelDataIntake());
        }
        protected override DateTime GetDrawDateEquivalent(Object lotteryObject)
        {
            LotteryDrawResult result = (LotteryDrawResult)lotteryObject;

            return(result.GetDrawDate());
        }
예제 #11
0
        protected override String GetDataSetEntry(Object lotteryModel)
        {
            LotteryDrawResult model = (LotteryDrawResult)lotteryModel;

            return(model.GetSCDARegressionModelDataIntake());
        }
        private void InitializesObjectListViewDataBinding()
        {
            this.olvColBetMatch.ImageGetter = delegate(object rowObject) {
                if (rowObject == null)
                {
                    return(0);
                }
                LotteryBet p = (LotteryBet)rowObject;
                if (p.GetMatchNumCount() <= 0)
                {
                    return(0);
                }
                return(ImageUtils.GetStarWonImage(p.GetMatchNumCount()));
            };
            this.olvColBetMatch.AspectGetter = delegate(object rowObject) {
                if (rowObject == null)
                {
                    return(0);
                }
                LotteryBet p = (LotteryBet)rowObject;
                return(p.GetMatchNumCount());
            };
            this.olvColBetMatch.AspectToStringConverter = delegate(object rowObject) {
                return(String.Empty);
            };

            this.olvColBetOutlet.AspectGetter = delegate(object rowObject)
            {
                LotteryBet    lotteryBet = (LotteryBet)rowObject;
                LotteryOutlet outlet     = lotteryBet.GetLotteryOutlet();
                return(outlet);
            };

            this.olvColBetOutlet.AspectToStringConverter = delegate(object rowObject)
            {
                if (rowObject == null)
                {
                    return(String.Empty);
                }
                LotteryOutlet outlet = (LotteryOutlet)rowObject;
                return(outlet.GetDescription());
            };

            this.olvColBetSeqGen.AspectGetter = delegate(object rowObject)
            {
                LotteryBet lotteryBet           = (LotteryBet)rowObject;
                LotterySequenceGenerator outlet = lotteryBet.GetLotterySequenceGenerator();
                return(outlet);
            };

            this.olvColBetSeqGen.AspectToStringConverter = delegate(object rowObject)
            {
                if (rowObject == null)
                {
                    return(String.Empty);
                }
                LotterySequenceGenerator seqgen = (LotterySequenceGenerator)rowObject;
                return(seqgen.GetDescription());
            };

            this.olvColDrawWinner.ImageGetter = delegate(object rowObject) {
                if (rowObject == null)
                {
                    return(0);
                }
                LotteryDrawResult p = (LotteryDrawResult)rowObject;
                if (p.GetWinnersCount() <= 0)
                {
                    return(0);
                }
                return(ImageUtils.GetStarJackpotImage(5));
            };
            this.olvColDrawWinner.AspectGetter = delegate(object rowObject) {
                if (rowObject == null)
                {
                    return(0);
                }
                LotteryDrawResult p = (LotteryDrawResult)rowObject;
                return(p.GetWinnersCount());
            };
            this.olvColDrawWinner.AspectToStringConverter = delegate(object rowObject) {
                return(String.Empty);
            };

            this.olvColDrawMatch.ImageGetter = delegate(object rowObject) {
                if (rowObject == null)
                {
                    return(0);
                }
                int matchCnt = CountMatchingBetToDrawnResult(rowObject);
                if (matchCnt <= 0)
                {
                    return(0);
                }
                return(ImageUtils.GetStarWonImage(matchCnt));
            };
            this.olvColDrawMatch.AspectGetter = delegate(object rowObject) {
                if (rowObject == null)
                {
                    return(0);
                }
                return(CountMatchingBetToDrawnResult(rowObject));
            };
            this.olvColDrawMatch.AspectToStringConverter = delegate(object rowObject) {
                return(String.Empty);
            };
        }
        protected override String GetDataSetEntry(Object lotteryModel)
        {
            LotteryDrawResult model = (LotteryDrawResult)lotteryModel;

            return(model.GetFastTreeTrainerModelDataIntake());
        }
예제 #14
0
        private void InitializesFormContent()
        {
            try
            {
                Application.ApplicationExit += new EventHandler(this.OnApplicationExit);
                this.lotteryDataWorker.LotteryDataWorkerProcessingStatus += LotteryDataWorker_LotteryDataWorkerProcessingStatus;

                this.olvColBetResult.ImageGetter = delegate(object rowObject) {
                    if (rowObject == null)
                    {
                        return(0);
                    }
                    LotteryBet p = (LotteryBet)rowObject;
                    if (p.GetMatchNumCount() <= 0)
                    {
                        return(0);
                    }
                    return(ImageUtils.GetStarWonImage(p.GetMatchNumCount()));
                };
                this.olvColBetResult.AspectGetter = delegate(object rowObject) {
                    if (rowObject == null)
                    {
                        return(0);
                    }
                    LotteryBet p = (LotteryBet)rowObject;
                    return(p.GetMatchNumCount());
                };
                this.olvColBetResult.AspectToStringConverter = delegate(object rowObject) {
                    return(String.Empty);
                };
                this.olvColWinners.AspectGetter = delegate(object rowObject)
                {
                    if (rowObject == null)
                    {
                        return(0);
                    }
                    LotteryDrawResult p = (LotteryDrawResult)rowObject;
                    if (p.GetWinnersCount() <= 0)
                    {
                        return("0");
                    }
                    return(p.GetWinnersCount());
                };
                this.olvColWinStamp.ImageGetter = delegate(object rowObject) {
                    if (rowObject == null)
                    {
                        return(0);
                    }
                    LotteryDrawResult p = (LotteryDrawResult)rowObject;
                    if (p.GetWinnersCount() <= 0)
                    {
                        return(0);
                    }
                    return(ImageUtils.GetStarJackpotImage(5));
                };
                this.olvColWinStamp.AspectGetter = delegate(object rowObject) {
                    if (rowObject == null)
                    {
                        return(0);
                    }
                    LotteryDrawResult p = (LotteryDrawResult)rowObject;
                    return(p.GetWinnersCount());
                };
                this.olvColWinStamp.AspectToStringConverter = delegate(object rowObject) {
                    return(String.Empty);
                };

                //DASHBOARD TAB GROUP
                this.olvdbDesc.AspectGetter = delegate(object rowObject) {
                    if (rowObject == null)
                    {
                        return(0);
                    }
                    DashboardReportItem g = (DashboardReportItem)rowObject;
                    return(g.GetDescription());
                };
                this.olvdbValue.AspectGetter = delegate(object rowObject) {
                    if (rowObject == null)
                    {
                        return(0);
                    }
                    DashboardReportItem g = (DashboardReportItem)rowObject;
                    return(g.GetValue());
                };
                this.olvdbDesc.GroupKeyGetter = delegate(object rowObject) {
                    if (rowObject == null)
                    {
                        return(0);
                    }
                    DashboardReportItem g = (DashboardReportItem)rowObject;
                    return(g.GetGroupKeyName());
                };
                this.olvdbDesc.GroupFormatter = (/*OLVGroup*/ group, /*GroupingParameters*/ parms) =>
                {
                    if (group.Items.Count > 0)
                    {
                        DashboardReportItem item = (DashboardReportItem)group.Items[0].RowObject;
                        group.Task = item.GetGroupTaskLabel();
                    }
                };


                this.Enabled = false;
                ClearAllForms();
                Application.DoEvents();
                RefreshFieldDetails();
                SetBetsAndResultDefaultList();
                RefreshWinningNumbersGridContent();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                MessageBox.Show(ResourcesUtils.GetMessage("mainf_error1"));
            }
            finally
            {
                this.Enabled = true;
            }
            Application.DoEvents();
        }