Ejemplo 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);
        }
Ejemplo n.º 2
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);
        }
Ejemplo n.º 3
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);
        }