Exemple #1
0
        public double GetTotalWinningsAmountThisMonth(GameMode gameMode)
        {
            LotteryWinningBetSetup lotteryWinningBet = new LotteryWinningBetSetup();

            using (OleDbConnection conn = DatabaseConnectionFactory.GetDataSource())
                using (OleDbCommand command = new OleDbCommand())
                {
                    command.CommandType = CommandType.Text;
                    command.CommandText = "SELECT SUM(winning_amt) AS [WINNING_AMOUNT] " +
                                          "  FROM lottery_winning_bet a " +
                                          " INNER JOIN lottery_bet b on a.bet_id = b.id " +
                                          " WHERE a.active = true " +
                                          "   AND b.game_cd = @game_cd " +
                                          "   AND MONTH(target_draw_date) = MONTH(NOW()) " +
                                          "   AND YEAR(target_draw_date) = YEAR(NOW()) " +
                                          "   AND a.claim_status = true";
                    command.Parameters.AddWithValue("@game_cd", (int)gameMode);
                    command.Connection = conn;
                    conn.Open();
                    using (OleDbDataReader reader = command.ExecuteReader())
                    {
                        if (reader.HasRows)
                        {
                            while (reader.Read())
                            {
                                if (!String.IsNullOrEmpty(reader["WINNING_AMOUNT"].ToString()))
                                {
                                    return(double.Parse(reader["WINNING_AMOUNT"].ToString()));
                                }
                            }
                        }
                    }
                }
            return(0.00);
        }
        private void SaveLotteryBetsChanges()
        {
            //get all rows with modification
            List <LotteryWinningBetSetup> modifiedWinBetsArr = new List <LotteryWinningBetSetup>();

            foreach (OLVListItem item in objectListViewWinningBets.Items)
            {
                if (IsListViewItemModified(item))
                {
                    LotteryWinningBetSetup winbet = (LotteryWinningBetSetup)item.RowObject;
                    winbet.ClaimStatus = item.Checked;
                    modifiedWinBetsArr.Add(winbet);
                }
            }
            if (modifiedWinBetsArr.Count <= 0)
            {
                return;
            }

            try
            {
                DialogResult dr = MessageBox.Show(ResourcesUtils.GetMessage("mod_clm_stat_msg_8"),
                                                  ResourcesUtils.GetMessage("mod_clm_stat_msg_9"), MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                if (dr == DialogResult.OK)
                {
                    toolStripProgBar.Value   = 0;
                    toolStripProgBar.Visible = true;
                    Application.DoEvents();
                    int ctr = 0;
                    int totalCheckedObjects = modifiedWinBetsArr.Count;
                    foreach (LotteryWinningBet lotWinBet in modifiedWinBetsArr)
                    {
                        toolStripStatusLbl.Text = String.Format(ResourcesUtils.GetMessage("mod_clm_stat_msg_10"), String.Join("-", lotWinBet.GetAllNumberSequence()));
                        toolStripProgBar.Value  = ConverterUtils.GetPercentageFloored(++ctr, totalCheckedObjects);
                        this.lotteryDataServices.UpdateClaimStatus(lotWinBet);
                        hasClaimsStatusChange = true;
                        Application.DoEvents();
                    }
                    FillUpBetList();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, ResourcesUtils.GetMessage("mod_clm_stat_msg_11"));
                FillUpBetList();
            }
            finally
            {
                toolStripStatusLbl.Text  = "";
                toolStripProgBar.Value   = 0;
                toolStripProgBar.Visible = false;
            }
        }
        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);
        }
Exemple #4
0
        public LotteryWinningBet GetLotteryWinningBet(long lotteryBetID)
        {
            LotteryWinningBetSetup lotteryWinningBet = new LotteryWinningBetSetup();

            using (OleDbConnection conn = DatabaseConnectionFactory.GetDataSource())
                using (OleDbCommand command = new OleDbCommand())
                {
                    command.CommandType = CommandType.Text;
                    command.CommandText = "SELECT * FROM lottery_winning_bet WHERE bet_id = @lotteryBetID AND active = true";
                    command.Parameters.AddWithValue("@lotteryBetID", lotteryBetID);
                    command.Connection = conn;
                    conn.Open();
                    using (OleDbDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            lotteryWinningBet.ID            = long.Parse(reader["ID"].ToString());
                            lotteryWinningBet.LotteryBetId  = long.Parse(reader["bet_id"].ToString());
                            lotteryWinningBet.WinningAmount = double.Parse(reader["winning_amt"].ToString());
                            lotteryWinningBet.Num1          = int.Parse(reader["num1"].ToString());
                            lotteryWinningBet.Num2          = int.Parse(reader["num2"].ToString());
                            lotteryWinningBet.Num3          = int.Parse(reader["num3"].ToString());
                            lotteryWinningBet.Num4          = int.Parse(reader["num4"].ToString());
                            lotteryWinningBet.Num5          = int.Parse(reader["num5"].ToString());
                            lotteryWinningBet.Num6          = int.Parse(reader["num6"].ToString());
                            lotteryWinningBet.AddWinningNumber(int.Parse(reader["num1"].ToString()));
                            lotteryWinningBet.AddWinningNumber(int.Parse(reader["num2"].ToString()));
                            lotteryWinningBet.AddWinningNumber(int.Parse(reader["num3"].ToString()));
                            lotteryWinningBet.AddWinningNumber(int.Parse(reader["num4"].ToString()));
                            lotteryWinningBet.AddWinningNumber(int.Parse(reader["num5"].ToString()));
                            lotteryWinningBet.AddWinningNumber(int.Parse(reader["num6"].ToString()));
                            lotteryWinningBet.ClaimStatus = bool.Parse(reader["claim_status"].ToString());
                        }
                    }
                }
            return(lotteryWinningBet);
        }
Exemple #5
0
        public List <LotteryWinningBet> GetLotteryWinningBet(GameMode gameMode, DateTime sinceWhen)
        {
            List <LotteryWinningBet> lotteryWinningBetArr = new List <LotteryWinningBet>();

            using (OleDbConnection conn = DatabaseConnectionFactory.GetDataSource())
                using (OleDbCommand command = new OleDbCommand())
                {
                    command.CommandType = CommandType.Text;
                    command.CommandText = "SELECT a.*, " +
                                          "       b.ID as [b_ID], " +
                                          "       b.bet_id as [b_bet_id], " +
                                          "	      b.winning_amt as [b_winning_amt], " +
                                          "	      b.active as [b_active], " +
                                          "	      b.num1 as [b_num1], " +
                                          "	      b.num2 as [b_num2], " +
                                          "	      b.num3 as [b_num3], " +
                                          "	      b.num4 as [b_num4], " +
                                          "	      b.num5 as [b_num5], " +
                                          "	      b.num6 as [b_num6], " +
                                          "	      b.claim_status as [b_claim_status], " +
                                          "	      c.ID as [c_ID], " +
                                          "	      c.outlet_cd as [c_outlet_cd], " +
                                          "	      c.description as [c_description] " +
                                          "  FROM ((lottery_bet a " +
                                          "  LEFT OUTER JOIN lottery_winning_bet b " +
                                          "    ON a.ID = b.bet_Id) " +
                                          "  LEFT OUTER JOIN lottery_outlet c " +
                                          "    ON a.outlet_cd = c.outlet_cd) " +
                                          " WHERE a.game_cd = @game_cd " +
                                          "   AND a.target_draw_date >= CDATE(@sinceWhen) " +
                                          "   AND a.active = true " +
                                          "   AND b.active = true " +
                                          //"   AND c.active = true " +
                                          "   AND b.winning_amt > 0";
                    command.Parameters.AddWithValue("@game_cd", (int)gameMode);
                    command.Parameters.AddWithValue("@sinceWhen", sinceWhen.Date.ToString());
                    command.Connection = conn;
                    conn.Open();
                    using (OleDbDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            LotteryWinningBetSetup lotteryWinningBet = new LotteryWinningBetSetup();
                            lotteryWinningBet.ID             = long.Parse(reader["b_ID"].ToString());
                            lotteryWinningBet.TargetDrawDate = DateTime.Parse(reader["target_draw_date"].ToString());
                            lotteryWinningBet.LotteryBetId   = long.Parse(reader["b_bet_id"].ToString());
                            lotteryWinningBet.WinningAmount  = double.Parse(reader["b_winning_amt"].ToString());
                            lotteryWinningBet.Num1           = int.Parse(reader["num1"].ToString());
                            lotteryWinningBet.Num2           = int.Parse(reader["num2"].ToString());
                            lotteryWinningBet.Num3           = int.Parse(reader["num3"].ToString());
                            lotteryWinningBet.Num4           = int.Parse(reader["num4"].ToString());
                            lotteryWinningBet.Num5           = int.Parse(reader["num5"].ToString());
                            lotteryWinningBet.Num6           = int.Parse(reader["num6"].ToString());
                            lotteryWinningBet.ClaimStatus    = bool.Parse(reader["b_claim_status"].ToString());
                            lotteryWinningBet.OutletCd       = int.Parse(reader["c_outlet_cd"].ToString());
                            lotteryWinningBet.OutletDesc     = reader["c_description"].ToString();
                            lotteryWinningBet.AddWinningNumber(int.Parse(reader["b_num1"].ToString()));
                            lotteryWinningBet.AddWinningNumber(int.Parse(reader["b_num2"].ToString()));
                            lotteryWinningBet.AddWinningNumber(int.Parse(reader["b_num3"].ToString()));
                            lotteryWinningBet.AddWinningNumber(int.Parse(reader["b_num4"].ToString()));
                            lotteryWinningBet.AddWinningNumber(int.Parse(reader["b_num5"].ToString()));
                            lotteryWinningBet.AddWinningNumber(int.Parse(reader["b_num6"].ToString()));
                            lotteryWinningBetArr.Add(lotteryWinningBet);
                        }
                    }
                }
            return(lotteryWinningBetArr);
        }