예제 #1
0
        public string MakeChallenge(ChallengeParameterModel para)
        {
            string                 result         = "";
            MessageModel           message        = new MessageModel();
            List <FightStateModel> fightStateList = new List <FightStateModel>();
            HashSet <object>       returnResult   = new HashSet <object>();
            JavaScriptSerializer   jss            = new JavaScriptSerializer();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                //发起约战前提条件判断
                message = Fight.IsChallenge(para.UserID, para.STeamID, para.Money);
                if (message.MessageCode == 0)
                {
                    //向约战记录表插入一条数据
                    db_DateFight dateFight = new db_DateFight();
                    dateFight.CurrentState = "发起挑战";
                    dateFight.STeamID      = para.STeamID;
                    dateFight.ETeamID      = para.ETEamID;
                    dateFight.Money        = para.Money;
                    dateFight.FightTime    = para.FightTime;
                    context.db_DateFight.Add(dateFight);

                    //资产表插入一条数据
                    db_AssetRecord assetRecord = new db_AssetRecord();
                    assetRecord.UserID       = para.UserID;
                    assetRecord.VirtualMoney = -para.Money;
                    assetRecord.TrueMoney    = 0;
                    assetRecord.GainWay      = ASSET.GAINWAY_CHALLENGE;
                    assetRecord.GainTime     = DateTime.Now;
                    assetRecord.State        = ASSET.MONEYSTATE_YES;
                    //时间+操作+收入支出金额
                    assetRecord.Remark = assetRecord.GainTime + " " +
                                         assetRecord.GainWay + " "
                                         + ASSET.PAY_OUT +
                                         assetRecord.VirtualMoney.ToString();
                    context.db_AssetRecord.Add(assetRecord);

                    //向信息表插入一条数据
                    context.SaveChanges();

                    //向约战状态表插入一条数据
                    var fight = context.db_DateFight.Where(c => c.STeamID == para.STeamID)
                                .Where(c => c.ETeamID == para.ETEamID)
                                .OrderByDescending(c => c.FightTime).FirstOrDefault();

                    db_FightState fightState = new db_FightState();
                    fightState.DateID    = fight.DateID;
                    fightState.State     = "发起挑战";
                    fightState.StateTime = DateTime.Now;

                    context.db_FightState.Add(fightState);
                    context.SaveChanges();
                }
            }

            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
예제 #2
0
        public string IsSignIn(UserParameterModel para)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                db_AssetRecord asset = context.db_AssetRecord.
                                       Where(c => c.UserID == para.UserID)
                                       .Where(c => c.GainWay == ASSET.GAINWAY_SIGN)
                                       .Where(c => c.GainTime.Value.Year == DateTime.Now.Year &&
                                              c.GainTime.Value.Month == DateTime.Now.Month &&
                                              c.GainTime.Value.Day == DateTime.Now.Day).FirstOrDefault();
                if (asset == null)
                {
                    message.Message     = MESSAGE.NOTSIGN;
                    message.MessageCode = MESSAGE.NOTSIGN_CODE;
                }
                else
                {
                    //今日已签到
                    message.Message     = MESSAGE.SIGN;
                    message.MessageCode = MESSAGE.SIGN_CODE;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
예제 #3
0
        public string Recharge(UserRechargeParameterModel para)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                db_AssetRecord assetRecord = new db_AssetRecord();

                assetRecord.UserID       = para.UserID;
                assetRecord.VirtualMoney = para.VirtualMoney;
                assetRecord.TrueMoney    = para.VirtualMoney / 10;
                assetRecord.GainWay      = ASSET.GAINWAY_RECHARGE;
                assetRecord.GainTime     = DateTime.Now;
                assetRecord.State        = ASSET.MONEYSTATE_YES;
                //时间+操作+收入支出金额
                assetRecord.Remark = assetRecord.GainTime + " " +
                                     assetRecord.GainWay + " "
                                     + ASSET.PAY_IN +
                                     assetRecord.VirtualMoney.ToString();

                //将充值记录加入资产记录表
                context.db_AssetRecord.Add(assetRecord);
                context.SaveChanges();
                message.Message     = MESSAGE.OK;
                message.MessageCode = MESSAGE.OK_CODE;
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
예제 #4
0
        public string Bet(GuessRecordModel guess)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            //获取竞猜列表
            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                //判断氦气是否充足
                bool isEnoughMoney = Asset.IsEnoughMoney(guess.UserID, guess.Money);
                //氦气不足
                if (isEnoughMoney == false)
                {
                    message.Message     = MESSAGE.NOMONEY;
                    message.MessageCode = MESSAGE.NOMONEY_CODE;
                }
                else
                {
                    //向db_GuessRecord表插入数据
                    db_GuessRecord guessInsert = new db_GuessRecord();
                    guessInsert.BetMoney  = guess.Money;
                    guessInsert.GuessID   = guess.GuessID;
                    guessInsert.GuessTime = DateTime.Now;
                    guessInsert.GuessType = 0;
                    guessInsert.Odds      = guess.Odds;
                    guessInsert.OptionID  = guess.TeamID;
                    guessInsert.UserID    = guess.UserID;
                    context.db_GuessRecord.Add(guessInsert);
                    //向Asset表插入数据
                    db_AssetRecord assetRecord = new db_AssetRecord();

                    assetRecord.UserID       = guess.UserID;
                    assetRecord.VirtualMoney = -guess.Money;
                    assetRecord.TrueMoney    = 0;
                    assetRecord.GainWay      = ASSET.GAINWAY_QUIZ;
                    assetRecord.GainTime     = DateTime.Now;
                    assetRecord.State        = ASSET.MONEYSTATE_YES;
                    //时间+操作+收入支出金额
                    assetRecord.Remark = assetRecord.GainTime + " " +
                                         assetRecord.GainWay + " "
                                         + ASSET.PAY_OUT +
                                         assetRecord.VirtualMoney.ToString();

                    //将充值记录加入资产记录表
                    context.db_AssetRecord.Add(assetRecord);

                    context.SaveChanges();

                    message.Message     = MESSAGE.OK;
                    message.MessageCode = MESSAGE.OK_CODE;
                }
                returnResult.Add(message);
            }
            result = jss.Serialize(returnResult);
            return(result);
        }
예제 #5
0
        public string Accept(FightParameter2Model fight)
        {
            string                 result         = "";
            MessageModel           message        = new MessageModel();
            List <FightStateModel> fightStateList = new List <FightStateModel>();
            HashSet <object>       returnResult   = new HashSet <object>();
            JavaScriptSerializer   jss            = new JavaScriptSerializer();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                //判断氦气是否充足
                bool isEnoughMoney = Asset.IsEnoughMoney(fight.UserID, fight.Money);
                //氦气不足
                if (isEnoughMoney == false)
                {
                    message.Message     = MESSAGE.NOMONEY;
                    message.MessageCode = MESSAGE.NOMONEY_CODE;
                }
                else
                {
                    //dategight表更改当前状态
                    var fightRecord = context.db_DateFight.Where(c => c.DateID == fight.DateID).FirstOrDefault();
                    fightRecord.CurrentState = "已应战";
                    //fightstate表新增状态
                    db_FightState fightState = new db_FightState();
                    fightState.DateID    = fight.DateID;
                    fightState.State     = "已应战";
                    fightState.StateTime = DateTime.Now;
                    context.db_FightState.Add(fightState);

                    //扣除约战氦气,资产表插入一条数据
                    db_AssetRecord assetRecord = new db_AssetRecord();
                    assetRecord.UserID       = fight.UserID;
                    assetRecord.VirtualMoney = -fight.Money;
                    assetRecord.TrueMoney    = 0;
                    assetRecord.GainWay      = ASSET.GAINWAY_ACCEPT;
                    assetRecord.GainTime     = DateTime.Now;
                    assetRecord.State        = ASSET.MONEYSTATE_YES;
                    //时间+操作+收入支出金额
                    assetRecord.Remark = assetRecord.GainTime + " " +
                                         assetRecord.GainWay + " "
                                         + ASSET.PAY_OUT +
                                         assetRecord.VirtualMoney.ToString();
                    context.db_AssetRecord.Add(assetRecord);

                    context.SaveChanges();

                    message.Message     = MESSAGE.OK;
                    message.MessageCode = MESSAGE.OK_CODE;
                }
            }

            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
예제 #6
0
        public string Reject(FightParameter2Model fight)
        {
            string                 result         = "";
            MessageModel           message        = new MessageModel();
            List <FightStateModel> fightStateList = new List <FightStateModel>();
            HashSet <object>       returnResult   = new HashSet <object>();
            JavaScriptSerializer   jss            = new JavaScriptSerializer();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                //1.dategight表更改当前状态
                var fightRecord = context.db_DateFight.Where(c => c.DateID == fight.DateID).FirstOrDefault();
                fightRecord.CurrentState = "已认怂";
                //2.fightstate表新增状态
                db_FightState fightState = new db_FightState();
                fightState.DateID    = fight.DateID;
                fightState.State     = "已认怂";
                fightState.StateTime = DateTime.Now;
                context.db_FightState.Add(fightState);

                //3.扣取一认怂金,资产表插入一条数据
                db_AssetRecord assetRecord = new db_AssetRecord();
                assetRecord.UserID       = fight.UserID;
                assetRecord.VirtualMoney = -1;
                assetRecord.TrueMoney    = 0;
                assetRecord.GainWay      = ASSET.GAINWAY_REJECT;
                assetRecord.GainTime     = DateTime.Now;
                assetRecord.State        = ASSET.MONEYSTATE_YES;
                assetRecord.Remark       = assetRecord.GainTime + " " +
                                           assetRecord.GainWay + " "
                                           + ASSET.PAY_OUT +
                                           assetRecord.VirtualMoney.ToString();
                context.db_AssetRecord.Add(assetRecord);

                //4.本方Team表认怂数+1,挑战方Team表胜利数+1,归还扣押挑战金
                Fight.UpdateTeamByDateID(fight, context);

                //5.认怂表新增数据
                db_Follow follow = new db_Follow();
                follow.DateID      = fight.DateID;
                follow.FollowMoney = 1;
                follow.FollowTime  = DateTime.Now;
                context.db_Follow.Add(follow);
                context.SaveChanges();

                message.Message     = MESSAGE.OK;
                message.MessageCode = MESSAGE.OK_CODE;
            }

            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
예제 #7
0
        public string Register(SimpleUserModel user)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                // 判断手机号是否存在
                db_User dbUser = context.db_User.Where(c => c.PhoneNumber == user.PhoneNumber.Trim()).FirstOrDefault();
                if (dbUser == null)
                {
                    db_AssetRecord assetRecord = new db_AssetRecord();
                    db_User        userRecord  = new db_User();

                    //判断验证码是否正确

                    //判断验证码是否过期

                    //添加信息到User表
                    userRecord.PhoneNumber = user.PhoneNumber;
                    MD5 md5Hash = MD5.Create();
                    userRecord.UserPassWord   = Common.GetMd5Hash(md5Hash, user.PassWord);
                    userRecord.RegisterDate   = DateTime.Now;
                    userRecord.UserWebPicture = @"http://images.haigame7.com/avatar/20160127125552WxExqw0paJXAo1AtXc4RzGYo2LE=.png";

                    context.db_User.Add(userRecord);
                    context.SaveChanges();

                    //添加信息到资产表
                    db_User regUser = context.db_User.Where(c => c.PhoneNumber == user.PhoneNumber.Trim()).FirstOrDefault();
                    Asset.AddMoneyRegister(regUser.UserID);

                    //添加成功
                    message.MessageCode = MESSAGE.OK_CODE;
                    message.Message     = MESSAGE.OK;
                }
                else
                {
                    //手机号已存在
                    message.MessageCode = MESSAGE.USEREXIST_CODE;
                    message.Message     = MESSAGE.USEREXIST;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
예제 #8
0
        public string SignIn(UserParameterModel para)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                db_AssetRecord asset = context.db_AssetRecord.
                                       Where(c => c.UserID == para.UserID)
                                       .Where(c => c.GainWay == ASSET.GAINWAY_SIGN)
                                       .Where(c => c.GainTime.Value.Year == DateTime.Now.Year &&
                                              c.GainTime.Value.Month == DateTime.Now.Month &&
                                              c.GainTime.Value.Day == DateTime.Now.Day).FirstOrDefault();
                if (asset == null)
                {
                    db_AssetRecord assetRecord = new db_AssetRecord();

                    assetRecord.UserID       = para.UserID;
                    assetRecord.VirtualMoney = ASSET.MONEY_SIGN;
                    assetRecord.TrueMoney    = 0;
                    assetRecord.GainWay      = ASSET.GAINWAY_SIGN;
                    assetRecord.GainTime     = DateTime.Now;
                    assetRecord.State        = ASSET.MONEYSTATE_YES;
                    //时间+操作+收入支出金额
                    assetRecord.Remark = assetRecord.GainTime + " " +
                                         assetRecord.GainWay + " "
                                         + ASSET.PAY_IN +
                                         assetRecord.VirtualMoney.ToString();

                    //将充值记录加入资产记录表
                    context.db_AssetRecord.Add(assetRecord);
                    context.SaveChanges();
                    message.Message     = MESSAGE.OK;
                    message.MessageCode = MESSAGE.OK_CODE;
                }
                else
                {
                    //今日已签到
                    message.Message     = MESSAGE.SIGN;
                    message.MessageCode = MESSAGE.SIGN_CODE;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
예제 #9
0
        public static void UpdateTeamByDateID(FightParameter2Model fight, HiGame_V1Entities context)
        {
            db_DateFight dateFight = context.db_DateFight.Where(c => c.DateID == fight.DateID).FirstOrDefault();
            db_Team      sTeam     = context.db_Team.Where(c => c.TeamID == dateFight.STeamID).FirstOrDefault();
            db_Team      eTeam     = context.db_Team.Where(c => c.TeamID == dateFight.ETeamID).FirstOrDefault();

            //挑战方胜场加1
            if (sTeam.WinCount == null)
            {
                sTeam.WinCount = 1;
            }
            else
            {
                sTeam.WinCount = sTeam.WinCount + 1;
            }
            //认怂方认怂数加1
            if (eTeam.FollowCount == null)
            {
                eTeam.FollowCount = 1;
            }
            else
            {
                eTeam.FollowCount = eTeam.FollowCount + 1;
            }
            //归还挑战方押金
            db_AssetRecord assetRecord = new db_AssetRecord();

            assetRecord.UserID       = sTeam.CreateUserID;
            assetRecord.VirtualMoney = fight.Money;
            assetRecord.TrueMoney    = 0;
            assetRecord.GainWay      = ASSET.GAINWAY_BACK;
            assetRecord.GainTime     = DateTime.Now;
            assetRecord.State        = ASSET.MONEYSTATE_YES;
            assetRecord.Remark       = assetRecord.GainTime + " " +
                                       assetRecord.GainWay + " "
                                       + ASSET.PAY_IN +
                                       assetRecord.VirtualMoney.ToString();
            context.db_AssetRecord.Add(assetRecord);
        }
예제 #10
0
        public string DeleteAssetRecord(AssetModel para)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                db_AssetRecord asset = context.db_AssetRecord.Where(c => c.OutTradeno == para.OutTradeno)
                                       .Where(c => c.TransactionID == "")
                                       .Where(c => c.VirtualMoney == 0).FirstOrDefault();
                if (asset != null)
                {
                    context.db_AssetRecord.Remove(asset);
                    context.SaveChanges();
                    message.Message     = MESSAGE.OK;
                    message.MessageCode = MESSAGE.OK_CODE;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
예제 #11
0
        /// <summary>
        /// 注册时用户默认获得虚拟币
        /// </summary>
        /// <param name="userID">用户ID</param>
        /// <returns>true|false</returns>
        public static bool AddMoneyRegister(int userID)
        {
            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                db_AssetRecord assetRecord = new db_AssetRecord();

                assetRecord.UserID       = userID;
                assetRecord.VirtualMoney = ASSET.MONEY_REG;
                assetRecord.TrueMoney    = 0;
                assetRecord.GainWay      = ASSET.GAINWAY_REG;
                assetRecord.GainTime     = DateTime.Now;
                assetRecord.State        = ASSET.MONEYSTATE_YES;
                //时间+操作+收入支出金额
                assetRecord.Remark = assetRecord.GainTime + " " +
                                     assetRecord.GainWay + " "
                                     + ASSET.PAY_IN +
                                     assetRecord.VirtualMoney.ToString();

                //将充值记录加入资产记录表
                context.db_AssetRecord.Add(assetRecord);
                context.SaveChanges();
                return(true);
            }
        }