Beispiel #1
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);
        }
Beispiel #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));
        }