Exemplo n.º 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);
        }
Exemplo n.º 2
0
        public string SendRecruit(RecruitParameterModel 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_Recruit表插入或更新一条数据
                var recruit = context.db_Recruit.Where(c => c.TeamID == para.TeamID).FirstOrDefault();
                if (recruit == null)
                {
                    db_Recruit record = new db_Recruit();
                    record.TeamID      = para.TeamID;
                    record.Content     = para.Content;
                    record.RecruitTime = DateTime.Now;
                    context.db_Recruit.Add(record);
                }
                else
                {
                    recruit.Content     = para.Content;
                    recruit.RecruitTime = DateTime.Now;
                }
                context.SaveChanges();
            }
            message.Message     = MESSAGE.OK;
            message.MessageCode = MESSAGE.OK_CODE;
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 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);
        }
Exemplo n.º 4
0
        public string ResetPassWord(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)
                {
                    //手机号不存在
                    message.MessageCode = MESSAGE.NOUSER_CODE;
                    message.Message     = MESSAGE.NOUSER;
                }
                else
                {
                    //修改密码
                    MD5 md5Hash = MD5.Create();
                    dbUser.UserPassWord = Common.GetMd5Hash(md5Hash, user.PassWord);
                    context.SaveChanges();
                    //修改成功
                    message.MessageCode = MESSAGE.OK_CODE;
                    message.Message     = MESSAGE.OK;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 5
0
        public string UpdateGameID(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())
            {
                //datefight表更改当前状态
                db_DateFight fightRecord = new db_DateFight();
                fightRecord = context.db_DateFight.Where(c => c.DateID == fight.DateID).FirstOrDefault();
                if (fight.SFightAddress == null)
                {
                    fightRecord.FightAddress1 = fight.EFightAddress;
                    fightRecord.EFightPic     = Common.Base64ToFightImage(fight.EFightPic, fight.DateID.ToString());
                }
                else
                {
                    fightRecord.FightAddress = fight.SFightAddress;
                    fightRecord.SFightPic    = Common.Base64ToFightImage(fight.SFightPic, fight.DateID.ToString());
                }
                context.SaveChanges();

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

            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 6
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);
        }
Exemplo n.º 7
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);
        }
Exemplo n.º 8
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);
        }
Exemplo n.º 9
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);
        }
Exemplo n.º 10
0
        public string InviteUser(InviteUserParameterModel para)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                //判断用户是否已经加入战队
                var isJoinOther = context.db_TeamUser.Where(c => c.UserID == para.UserID)
                                  .FirstOrDefault();
                if (isJoinOther != null)
                {
                    message.MessageCode = MESSAGE.USERJOINOTHERTEAM_CODE;
                    message.Message     = MESSAGE.USERJOINOTHERTEAM;
                }
                else
                {
                    //判断是否发出过邀请
                    int inviteCount = context.db_Message.Where(c => c.SendID == para.TeamID)
                                      .Where(c => c.ReceiveID == para.UserID)
                                      .Where(c => c.State == 2)
                                      .ToList().Count;
                    if (inviteCount > 0)
                    {
                        message.MessageCode = MESSAGE.INVITEUSER_CODE;
                        message.Message     = MESSAGE.INVITEUSER;
                    }
                    else
                    {
                        //db_Message表插入一条数据
                        db_Message mes = new db_Message();
                        mes.SendID      = para.TeamID;
                        mes.ReceiveID   = para.UserID;
                        mes.State       = 2;
                        mes.MessageType = "招募队员";
                        mes.SendTime    = DateTime.Now;
                        context.db_Message.Add(mes);
                        context.SaveChanges();
                        message.Message     = MESSAGE.OK;
                        message.MessageCode = MESSAGE.OK_CODE;
                    }
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 11
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);
        }
Exemplo n.º 12
0
        public string ApplyTeam(ApplyTeamParameterModel para)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                //判断角色是否是队长,队长不可申请加入其它战队
                //判断是否参加其它战队,每个队员只可以参加一只战队
                if (Team.IsCreateOrJoinTeam(para.UserID, context) == false)
                {
                    //判断是否向该战队发出过申请
                    int applyCount = context.db_Message.Where(c => c.SendID == para.UserID)
                                     .Where(c => c.ReceiveID == para.TeamID)
                                     .Where(c => c.State == 1)
                                     .ToList().Count;
                    //申请加入
                    if (applyCount > 0)
                    {
                        message.MessageCode = MESSAGE.JIONEDTEAM_CODE;
                        message.Message     = MESSAGE.JIONEDTEAM;
                    }
                    else
                    {
                        db_Message applyMessage = new db_Message();
                        applyMessage.SendID      = para.UserID;
                        applyMessage.ReceiveID   = para.TeamID;
                        applyMessage.SendTime    = DateTime.Now;
                        applyMessage.State       = 1;
                        applyMessage.MessageType = "加入战队";
                        context.db_Message.Add(applyMessage);
                        context.SaveChanges();
                        message.Message     = MESSAGE.OK;
                        message.MessageCode = MESSAGE.OK_CODE;
                    }
                }
                else
                {
                    message.MessageCode = MESSAGE.JIONTEAM_CODE;
                    message.Message     = MESSAGE.JIONTEAM;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 13
0
        public string SetMessageRead(MyMessageModel para)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                var myMessage = context.db_Message.Where(c => c.MID == para.MessageID).FirstOrDefault();
                myMessage.State = 99;
                context.SaveChanges();
                message.Message     = "";
                message.MessageCode = MESSAGE.OK_CODE;
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 14
0
        public string SetDefaultTeam(SimpleTeamModel team)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                //判断战队名称是否存在
                var setTeam = context.db_Team.
                              Where(c => c.TeamName == team.TeamName.Trim()).
                              Where(c => c.State == 0).
                              FirstOrDefault();
                if (setTeam != null)
                {
                    setTeam.IsDeault = 0;

                    var otherTeam = context.db_Team.
                                    Where(c => c.CreateUserID == team.CreatUserID).
                                    Where(c => c.State == 0).
                                    Where(c => c.TeamName != team.TeamName.Trim()).
                                    ToList();

                    for (int i = 0; i < otherTeam.Count; i++)
                    {
                        otherTeam[i].IsDeault = 1;
                    }
                    message.Message     = MESSAGE.OK;
                    message.MessageCode = MESSAGE.OK_CODE;
                }
                else
                {
                    message.Message     = MESSAGE.NOTEAM;
                    message.MessageCode = MESSAGE.NOTEAM_CODE;
                }
                context.SaveChanges();
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 15
0
        public string QuitMatch(MatchParameter2Model match)
        {
            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 user = User.GetUserByPhoneNumber(match.PhoneNumber);
                //判断是否队长,队员不可报名
                var team = context.db_Team.Where(c => c.TeamID == match.TeamID).
                           Where(c => c.CreateUserID == user.UserID).
                           FirstOrDefault();
                if (team == null)
                {
                    message.MessageCode = MESSAGE.CANNOTQUITMATCH_CODE;
                    message.Message     = MESSAGE.CANNOTQUITMATCH;
                }
                else
                {
                    db_GameRecord gameRecord = context.db_GameRecord.
                                               Where(c => c.GameID == match.MatchID).
                                               Where(c => c.TeamID == match.TeamID).FirstOrDefault();

                    //删除队伍已报名信息
                    if (gameRecord != null)
                    {
                        context.db_GameRecord.Remove(gameRecord);
                        context.SaveChanges();
                    }
                    message.MessageCode = MESSAGE.OK_CODE;
                    message.Message     = MESSAGE.OK;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 16
0
        public string UpdateCertifyGameID(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 userInfo = User.GetUserByPhoneNumber(user.PhoneNumber);
                if (userInfo != null)
                {
                    db_GameIDofUser gameIDofUser = context.db_GameIDofUser.
                                                   Where(c => c.UserID == userInfo.UserID).
                                                   Where(c => c.GameType == "DOTA2").
                                                   FirstOrDefault();

                    gameIDofUser.GameID           = user.GameID;
                    gameIDofUser.CertifyState     = 2;//正在认证
                    gameIDofUser.CertifyName      = "氦七" + Common.MathRandom(6);
                    gameIDofUser.ApplyCertifyTime = DateTime.Now;
                    context.SaveChanges();
                    //返回认证昵称
                    message.Message     = gameIDofUser.CertifyName;
                    message.MessageCode = MESSAGE.OK_CODE;
                }
                else
                {
                    //无用户信息
                    message.Message     = MESSAGE.NOUSER;
                    message.MessageCode = MESSAGE.NOUSER_CODE;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 17
0
        public string Update(SimpleTeam2Model 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_Team team = context.db_Team.Where(c => c.TeamID == para.TeamID).FirstOrDefault();
                if (team != null)
                {
                    if (Team.IsTeamNameExist(para) == true)
                    {
                        message.Message     = MESSAGE.TEAMEXIST;
                        message.MessageCode = MESSAGE.TEAMEXIST_CODE;
                    }
                    else
                    {
                        team.TeamName = para.TeamName.Trim();
                        if (para.TeamLogo != null && para.TeamLogo != "")
                        {
                            team.TeamPicture = Common.Base64ToTeamImage(para.TeamLogo, team.CreateUserID.ToString());
                        }

                        team.TeamDescription = para.TeamDescription;
                        context.SaveChanges();
                        message.Message     = MESSAGE.OK;
                        message.MessageCode = MESSAGE.OK_CODE;
                    }
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 18
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);
            }
        }
Exemplo n.º 19
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);
        }
Exemplo n.º 20
0
        public string HandleMyApply(ApplyTeamParameter2Model para)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                var msg = context.db_Message.Where(c => c.MID == para.MessageID).FirstOrDefault();
                //拒绝加入的情况,信息状态设为加入失败
                if (para.ISOK == 1)
                {
                    msg.MessageType     = "加入失败";
                    message.MessageCode = MESSAGE.OK_CODE;
                    message.Message     = "已拒绝";
                }
                else
                {
                    //判断是否已经加入该战队
                    var isJoin = context.db_TeamUser.Where(c => c.TeamID == para.TeamID).
                                 Where(c => c.UserID == para.UserID).FirstOrDefault();
                    if (isJoin != null)
                    {
                        msg.MessageType     = "加入成功";
                        message.MessageCode = MESSAGE.OK_CODE;
                        message.Message     = "加入成功";
                    }
                    else
                    {
                        //判断是否已加入其它战队
                        var isJoinOther = context.db_TeamUser.
                                          Where(c => c.UserID == para.UserID).FirstOrDefault();
                        if (isJoinOther != null)
                        {
                            //已加入其它战队,此条信息状态设为已被抢
                            msg.MessageType     = "已被抢";
                            message.MessageCode = MESSAGE.USERJOINOTHERTEAM_CODE;
                            message.Message     = MESSAGE.USERJOINOTHERTEAM;
                        }
                        else
                        {
                            //如果未加入其它战队,状态设为招募成功
                            msg.MessageType = "加入成功";
                            db_TeamUser teamUser = new db_TeamUser();
                            teamUser.TeamID = para.TeamID;
                            teamUser.UserID = para.UserID;
                            context.db_TeamUser.Add(teamUser);
                            context.SaveChanges();

                            //重新计算战队战斗力
                            db_Team joinTeam = context.db_Team.Where(c => c.TeamID == para.TeamID).FirstOrDefault();
                            joinTeam.FightScore = Team.GetFightScoreByTeamID(joinTeam.TeamID);
                            context.SaveChanges();

                            message.MessageCode = MESSAGE.OK_CODE;
                            message.Message     = "已同意";

                            //如果同时你也邀请该队员了,将邀请队员的那条信息更改为招募成功
                            var msgSend = context.db_Message.
                                          Where(c => c.State == 2).
                                          Where(c => c.SendID == para.TeamID).
                                          Where(c => c.ReceiveID == para.UserID).
                                          FirstOrDefault();
                            if (msgSend != null)
                            {
                                msgSend.MessageType = "招募成功";
                            }
                        }
                    }
                }
                context.SaveChanges();
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 21
0
        public string RemoveUser(ApplyTeamParameter2Model 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_Team team = context.db_Team.Where(c => c.TeamID == para.TeamID).FirstOrDefault();
                if (team != null)
                {
                    //删除TeamUser表记录
                    db_TeamUser teamUser = context.db_TeamUser.
                                           Where(c => c.TeamID == para.TeamID).
                                           Where(c => c.UserID == para.UserID).
                                           FirstOrDefault();
                    context.db_TeamUser.Remove(teamUser);

                    //Message表添加记录
                    db_Message msg = new db_Message();
                    msg.SendID      = para.TeamID;
                    msg.ReceiveID   = para.UserID;
                    msg.SendName    = team.TeamName;
                    msg.Title       = "移出战队";
                    msg.MessageType = "移出战队";
                    msg.SendTime    = DateTime.Now;
                    msg.State       = 0;
                    msg.Content     = "你已被移出战队【" + team.TeamName + "】,感谢一起战斗的岁月";
                    context.db_Message.Add(msg);

                    //TeamRemoveUser表添加记录
                    db_TeamRemoveUser teamRemoveUser = new db_TeamRemoveUser();
                    teamRemoveUser.RemoveTime = DateTime.Now;
                    teamRemoveUser.TeamID     = para.TeamID;
                    teamRemoveUser.UserID     = para.UserID;
                    context.db_TeamRemoveUser.Add(teamRemoveUser);
                    context.SaveChanges();

                    //重新计算战队战斗力
                    db_Team joinTeam = context.db_Team.Where(c => c.TeamID == para.TeamID).FirstOrDefault();
                    joinTeam.FightScore = Team.GetFightScoreByTeamID(joinTeam.TeamID);

                    //message表删除申请记录
                    var applyMessage = context.db_Message.Where(c => c.SendID == para.UserID)
                                       .Where(c => c.ReceiveID == para.TeamID)
                                       .Where(c => c.State == 1)
                                       .FirstOrDefault();
                    if (applyMessage != null)
                    {
                        context.db_Message.Remove(applyMessage);
                    }
                    context.SaveChanges();

                    message.MessageCode = MESSAGE.OK_CODE;
                    message.Message     = MESSAGE.OK;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 22
0
        public string HandleMyInvited(ApplyTeamParameter2Model para)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                var msg = context.db_Message.Where(c => c.MID == para.MessageID).FirstOrDefault();
                //拒绝加入的情况,信息状态设为加入失败
                if (para.ISOK == 1)
                {
                    msg.MessageType     = "招募失败";
                    message.MessageCode = MESSAGE.OK_CODE;
                    message.Message     = "已拒绝";
                }
                else
                {
                    //判断是否已经加入该战队
                    var isJoin = context.db_TeamUser.Where(c => c.TeamID == para.TeamID).
                                 Where(c => c.UserID == para.UserID).FirstOrDefault();
                    if (isJoin != null)
                    {
                        msg.MessageType     = "招募成功";
                        message.MessageCode = MESSAGE.OK_CODE;
                        message.Message     = "招募成功";
                    }
                    else
                    {
                        //判断是否已加入其它战队
                        var isJoinOther = context.db_TeamUser.
                                          Where(c => c.UserID == para.UserID).FirstOrDefault();
                        if (isJoinOther != null)
                        {
                            //已加入其它战队,此条信息状态设为已被抢
                            msg.MessageType     = "招募失败";
                            message.MessageCode = MESSAGE.YOUJOINOTHERTEAM_CODE;
                            message.Message     = MESSAGE.YOUJOINOTHERTEAM;
                        }
                        else
                        {
                            var count = context.db_TeamUser.Where(c => c.TeamID == para.TeamID).ToList().Count;
                            //同意加入的情况,判断战队人数是否已满

                            if (count >= 7)
                            {
                                //如果人数已满,此条信息状态设为已失效
                                msg.MessageType     = "招募失败";
                                message.MessageCode = MESSAGE.USERFULL_CODE;
                                message.Message     = MESSAGE.USERFULL;
                            }
                            else
                            {
                                //如果人数未满,状态设为加入成功
                                msg.MessageType = "招募成功";
                                db_TeamUser teamUser = new db_TeamUser();
                                teamUser.TeamID = para.TeamID;
                                teamUser.UserID = para.UserID;
                                context.db_TeamUser.Add(teamUser);
                                context.SaveChanges();
                                //重新计算战队战斗力
                                db_Team joinTeam = context.db_Team.Where(c => c.TeamID == para.TeamID).FirstOrDefault();
                                joinTeam.FightScore = Team.GetFightScoreByTeamID(joinTeam.TeamID);
                                context.SaveChanges();

                                message.MessageCode = MESSAGE.OK_CODE;
                                message.Message     = "招募成功";

                                //设置其它邀请信息【已拒绝】
                                var msgList = context.db_Message.Where(c => c.ReceiveID == para.UserID)
                                              .Where(c => c.MID != para.MessageID)
                                              .Where(c => c.State == 2)
                                              .ToList();
                                if (msgList != null)
                                {
                                    for (int i = 0; i < msgList.Count; i++)
                                    {
                                        msgList[i].MessageType = "招募失败";
                                    }
                                }
                                //如果同时我也申请加入了该战队,将申请记录设为加入成功
                                var msgSend = context.db_Message.
                                              Where(c => c.State == 1).
                                              Where(c => c.SendID == para.UserID).
                                              Where(c => c.ReceiveID == para.TeamID).
                                              FirstOrDefault();
                                if (msgSend != null)
                                {
                                    msgSend.MessageType = "加入成功";
                                }
                            }
                        }
                    }
                }
                context.SaveChanges();
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 23
0
        public string JoinMatch(MatchParameter2Model match)
        {
            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 user = User.GetUserByPhoneNumber(match.PhoneNumber);
                if (user != null)
                {
                    //判断是否队长,队员不可报名
                    var team = context.db_Team.Where(c => c.TeamID == match.TeamID).
                               Where(c => c.CreateUserID == user.UserID).
                               FirstOrDefault();
                    if (team == null)
                    {
                        message.MessageCode = MESSAGE.CANNOTJOINMATCH_CODE;
                        message.Message     = MESSAGE.CANNOTJOINMATCH;
                    }
                    else
                    {
                        //判断队伍是否满5人
                        var teamCount = context.db_TeamUser.Where(c => c.TeamID == match.TeamID).ToList().Count;
                        if (teamCount < 4)
                        {
                            message.MessageCode = MESSAGE.TEAMUSERNOTENOUGH_CODE;
                            message.Message     = MESSAGE.TEAMUSERNOTENOUGH;
                        }
                        else
                        {
                            //判断报名队伍数是否已满
                            if (Team.IsBoBoFull(match) == true)
                            {
                                //判断队伍是否已报名
                                db_GameRecord gameRecord = new db_GameRecord();
                                gameRecord.BoBoID    = match.BoBoID;
                                gameRecord.GameID    = match.MatchID;
                                gameRecord.TeamID    = match.TeamID;
                                gameRecord.ApplyTIme = DateTime.Now;
                                gameRecord.UserID    = user.UserID;
                                gameRecord.IsCancel  = 0;
                                gameRecord.State     = 0;
                                context.db_GameRecord.Add(gameRecord);
                                context.SaveChanges();
                                message.MessageCode = MESSAGE.OK_CODE;
                                message.Message     = MESSAGE.OK;
                            }
                            else
                            {
                                //名额已满
                                message.MessageCode = MESSAGE.MATCHFULL_CODE;
                                message.Message     = MESSAGE.MATCHFULL;
                            }
                        }
                    }
                }
                else
                {
                    //用户未存在
                    message.MessageCode = MESSAGE.NOUSER_CODE;
                    message.Message     = MESSAGE.NOUSER;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 24
0
        public string UpdateUserInfo(UserModel 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 userInfo = context.db_User.Where(c => c.PhoneNumber == user.PhoneNumber).FirstOrDefault();

                if (userInfo != null)
                {
                    int    code = MESSAGE.OK_CODE;
                    string msg  = MESSAGE.OK;

                    #region 个人信息字段
                    if (user.Address != null)
                    {
                        userInfo.Address = user.Address;
                    }
                    if (user.Birthday != null)
                    {
                        userInfo.Birthday = DateTime.Parse(user.Birthday);
                    }
                    if (user.Hobby != null)
                    {
                        userInfo.Hobby = user.Hobby;
                    }
                    if (user.Sex != null)
                    {
                        userInfo.Sex = user.Sex;
                    }
                    if (user.UserWebNickName != null)
                    {
                        //验证昵称是否存在
                        if (User.GetUserByNickName(user.UserWebNickName.Trim()))
                        {
                            userInfo.UserWebNickName = user.UserWebNickName;
                        }
                        else
                        {
                            //昵称已存在
                            msg  = MESSAGE.NICKEXIST;
                            code = MESSAGE.NICKEXIST_CODE;
                        }
                    }
                    if (user.UserWebPicture != null)
                    {
                        userInfo.UserWebPicture = Common.Base64ToImage(user.UserWebPicture, userInfo.UserID.ToString());
                    }
                    #endregion
                    context.SaveChanges();
                    message.Message     = msg;
                    message.MessageCode = code;
                }
                else
                {
                    message.Message     = MESSAGE.NOUSER;
                    message.MessageCode = MESSAGE.NOUSER_CODE;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 25
0
        public string Create(SimpleTeamModel team)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                //判断战队名称是否存在
                var count = context.db_Team.
                            Where(c => c.TeamName == team.TeamName.Trim()).
                            Where(c => c.State == 0).
                            ToList().Count;
                if (count == 0)
                {
                    //判断是否有权限创建
                    var existCount = context.db_TeamUser.Where(c => c.UserID == team.CreatUserID).ToList().Count;
                    if (existCount == 0)
                    {
                        //判断队长拥有战队数量
                        var existTeam = context.db_Team.
                                        Where(c => c.CreateUserID == team.CreatUserID).
                                        Where(c => c.State == 0)
                                        .ToList().Count;
                        if (existTeam >= 2)
                        {
                            //最多只可创建2只战队
                            message.Message     = MESSAGE.TEAMCOUNT;
                            message.MessageCode = MESSAGE.TEAMCOUNT_CODE;
                            returnResult.Add(message);
                            result = jss.Serialize(returnResult);
                            return(result);
                        }
                        db_Team teamInsert = new db_Team();
                        teamInsert.CreateUserID = team.CreatUserID;
                        teamInsert.TeamName     = team.TeamName.Trim();
                        teamInsert.TeamPicture  = Common.Base64ToTeamImage(team.TeamLogo, team.CreatUserID.ToString());
                        teamInsert.TeamType     = team.TeamType;
                        teamInsert.State        = 0;
                        teamInsert.CreateTime   = DateTime.Now;
                        teamInsert.IsDeault     = 0;
                        //添加到db_Team表
                        context.db_Team.Add(teamInsert);
                        //更改其它战队状态为非默认
                        var teamList = context.db_Team.
                                       Where(c => c.CreateUserID == team.CreatUserID).
                                       Where(c => c.State == 0)
                                       .ToList();
                        for (int i = 0; i < teamList.Count; i++)
                        {
                            teamList[i].IsDeault = 1;
                        }
                        context.SaveChanges();

                        //氦气账户同步
                        var defaultTeam = context.db_Team.Where(c => c.CreateUserID == team.CreatUserID).
                                          Where(c => c.State == 0).
                                          Where(c => c.IsDeault == 0).
                                          FirstOrDefault();
                        defaultTeam.Asset = User.GetAssetByUserID(team.CreatUserID);
                        context.SaveChanges();
                    }
                    else
                    {
                        message.Message     = MESSAGE.TEAMUSER;
                        message.MessageCode = MESSAGE.TEAMUSER_CODE;
                    }
                }
                else
                {
                    message.Message     = MESSAGE.TEAMEXIST;
                    message.MessageCode = MESSAGE.TEAMEXIST_CODE;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 26
0
        public string Delete(SimpleTeamModel team)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                //判断是否有权解散战队
                var deleteTeam = context.db_Team.Where(c => c.CreateUserID == team.CreatUserID)
                                 .Where(c => c.TeamName == team.TeamName)
                                 .Where(c => c.State == 0).
                                 FirstOrDefault();
                if (deleteTeam == null)
                {
                    //无权解散战队
                    message.Message     = MESSAGE.DELETETEAM;
                    message.MessageCode = MESSAGE.DELETETEAM_CODE;
                }
                else
                {
                    //db_Team表状态修改为1(已解散)
                    deleteTeam.State = 1;
                    //如果还有其他战队,将注册时间最晚的战队设为默认战队
                    var otherTeam = context.db_Team.Where(c => c.CreateUserID == team.CreatUserID)
                                    .Where(c => c.TeamName != team.TeamName)
                                    .Where(c => c.State == 0)
                                    .OrderByDescending(c => c.CreateTime)
                                    .FirstOrDefault();
                    if (otherTeam != null)
                    {
                        otherTeam.IsDeault = 0;
                    }
                    //删除teamuser表数据
                    var teamUsers = context.db_TeamUser.Where(c => c.TeamID == deleteTeam.TeamID)
                                    .ToList();
                    if (teamUsers != null)
                    {
                        for (int i = 0; i < teamUsers.Count; i++)
                        {
                            //移出队员
                            context.db_TeamUser.Remove(teamUsers[i]);

                            //向队员发送解散信息
                            //Message表添加记录
                            db_Message msg = new db_Message();
                            msg.SendID      = teamUsers[i].TeamID;
                            msg.ReceiveID   = teamUsers[i].UserID;
                            msg.SendName    = team.TeamName;
                            msg.Title       = "解散战队";
                            msg.MessageType = "解散战队";
                            msg.SendTime    = DateTime.Now;
                            msg.State       = 0;
                            msg.Content     = "战队【" + team.TeamName + "】已解散,感谢一起战斗的岁月";
                            context.db_Message.Add(msg);
                        }
                    }
                    context.SaveChanges();
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }