示例#1
0
        public ActionResult ContestBonus()
        {
            using (var conn = new SqlConnection(DataAccess.ConnectString))
            {
                conn.Open();
                var trans = conn.BeginTransaction();

                try
                {
                    var user = UserDto.GetSession();

                    if (user != null && ConfigGlobal_AcnClub.SignInActive)
                    {
                        if (user.AcnID.HasValue && user.AcnID == AcnID &&
                            !_repo.Any<LogSignIn>(x => x.UserGuid == user.ID && x.Description == ConfigGlobal_AcnClub.SignInKeywordBonus))
                        {
                            var gambler = _repo.Query<Gambler>(x => x.UserID == AcnID).FirstOrDefault();

                            if (gambler == null)
                            {
                                throw new Exception("无对应博彩玩家");
                            }

                            var bonus = SignInDailyDto.BonusAmount;

                            // do Contest Bonus
                            var logSignIn = new LogSignIn
                            {
                                UserGuid = user.ID,
                                UserName = user.UserName,
                                SignInTime = DateTime.Now,
                                Bonus = bonus,
                                SignInDays = -1,
                                Description = ConfigGlobal_AcnClub.SignInKeywordBonus
                            };

                            _repo.Insert(logSignIn, trans);

                            // QSB
                            if (bonus > 0)
                            {
                                gambler.Cash += bonus * ConfigGlobal_AcnCasino.ExchangeRate;

                                _repo.Update(gambler, trans);
                            }

                            trans.Commit();
                        }
                    }
                    else
                    {
                        throw new Exception("当前无法领取活动补助金");
                    }
                }
                catch
                {
                    trans.Rollback();
                }
            }

            TempData["DataUrl"] = "data-url=/Club/MyLogSignIn";
            return RedirectToAction("MyLogSignIn");
        }
示例#2
0
        // 每日签到
        // GET: /Club/SignInDaily

        public ActionResult SignInDaily()
        {
            var model = new SignInDailyDto();
            var user  = UserDto.GetSession();

            using (var conn = new SqlConnection(DataAccess.ConnectString))
            {
                conn.Open();
                var trans = conn.BeginTransaction();

                try
                {
                    if (user != null && ConfigGlobal_AcnClub.SignInActive)
                    {
                        var signInDays = LogSignIn.GetContinuousSignInDays(user.ID);

                        if (signInDays > 0 && user.AcnID.HasValue && user.AcnID == AcnID)
                        {
                            var gambler = _repo.Query <Gambler>(x => x.UserID == AcnID).FirstOrDefault();

                            if (gambler == null)
                            {
                                throw new Exception("无对应博彩玩家");
                            }

                            model.CurrentCash = gambler.Cash;

                            // do SignIn Bonus
                            var logSignIn = new LogSignIn();

                            var bonus = logSignIn.DoBonus(user.ID, ConfigGlobal_AcnClub.SignInKeyword, trans);

                            // QSB
                            if (bonus > 0)
                            {
                                gambler.Cash += bonus * ConfigGlobal_AcnCasino.ExchangeRate;

                                _repo.Update(gambler, trans);
                            }

                            trans.Commit();

                            model.Bonus  = bonus * ConfigGlobal_AcnCasino.ExchangeRate;
                            model.MyCash = gambler.Cash;
                        }

                        model.ContinuousSignInDays = signInDays;
                    }
                    else
                    {
                        throw new Exception("当前无法签到");
                    }
                }
                catch (Exception ex)
                {
                    trans.Rollback();

                    model.ContinuousSignInDays = -1;
                    model.Tip = ex.Message;
                }
            }

            // 确定是否有活动补助金
            model.IsContestBonus =
                !_repo.Any <LogSignIn>(x => x.UserGuid == user.ID && x.Description == ConfigGlobal_AcnClub.SignInKeywordBonus);

            return(View(model));
        }
示例#3
0
        // 每日签到
        // GET: /Club/SignInDaily
        public ActionResult SignInDaily()
        {
            var model = new SignInDailyDto();
            var user = UserDto.GetSession();

            using (var conn = new SqlConnection(DataAccess.ConnectString))
            {
                conn.Open();
                var trans = conn.BeginTransaction();

                try
                {

                    if (user != null && ConfigGlobal_AcnClub.SignInActive)
                    {
                        var signInDays = LogSignIn.GetContinuousSignInDays(user.ID);

                        if (signInDays > 0 && user.AcnID.HasValue && user.AcnID == AcnID)
                        {
                            var gambler = _repo.Query<Gambler>(x => x.UserID == AcnID).FirstOrDefault();

                            if (gambler == null)
                            {
                                throw new Exception("无对应博彩玩家");
                            }

                            model.CurrentCash = gambler.Cash;

                            // do SignIn Bonus
                            var logSignIn = new LogSignIn();

                            var bonus = logSignIn.DoBonus(user.ID, ConfigGlobal_AcnClub.SignInKeyword, trans);

                            // QSB
                            if (bonus > 0)
                            {
                                gambler.Cash += bonus * ConfigGlobal_AcnCasino.ExchangeRate;

                                _repo.Update(gambler, trans);
                            }

                            trans.Commit();

                            model.Bonus = bonus * ConfigGlobal_AcnCasino.ExchangeRate;
                            model.MyCash = gambler.Cash;
                        }

                        model.ContinuousSignInDays = signInDays;
                    }
                    else
                    {
                        throw new Exception("当前无法签到");
                    }
                }
                catch (Exception ex)
                {
                    trans.Rollback();

                    model.ContinuousSignInDays = -1;
                    model.Tip = ex.Message;
                }
            }

            // 确定是否有活动补助金
            model.IsContestBonus =
                !_repo.Any<LogSignIn>(x => x.UserGuid == user.ID && x.Description == ConfigGlobal_AcnClub.SignInKeywordBonus);

            return View(model);
        }
示例#4
0
        public ActionResult ContestBonus()
        {
            using (var conn = new SqlConnection(DataAccess.ConnectString))
            {
                conn.Open();
                var trans = conn.BeginTransaction();

                try
                {
                    var user = UserDto.GetSession();

                    if (user != null && ConfigGlobal_AcnClub.SignInActive)
                    {
                        if (user.AcnID.HasValue && user.AcnID == AcnID &&
                            !_repo.Any <LogSignIn>(x => x.UserGuid == user.ID && x.Description == ConfigGlobal_AcnClub.SignInKeywordBonus))
                        {
                            var gambler = _repo.Query <Gambler>(x => x.UserID == AcnID).FirstOrDefault();

                            if (gambler == null)
                            {
                                throw new Exception("无对应博彩玩家");
                            }

                            var bonus = SignInDailyDto.BonusAmount;

                            // do Contest Bonus
                            var logSignIn = new LogSignIn
                            {
                                UserGuid    = user.ID,
                                UserName    = user.UserName,
                                SignInTime  = DateTime.Now,
                                Bonus       = bonus,
                                SignInDays  = -1,
                                Description = ConfigGlobal_AcnClub.SignInKeywordBonus
                            };

                            _repo.Insert(logSignIn, trans);

                            // QSB
                            if (bonus > 0)
                            {
                                gambler.Cash += bonus * ConfigGlobal_AcnCasino.ExchangeRate;

                                _repo.Update(gambler, trans);
                            }

                            trans.Commit();
                        }
                    }
                    else
                    {
                        throw new Exception("当前无法领取活动补助金");
                    }
                }
                catch
                {
                    trans.Rollback();
                }
            }

            TempData["DataUrl"] = "data-url=/Club/MyLogSignIn";
            return(RedirectToAction("MyLogSignIn"));
        }