Beispiel #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);
        }
Beispiel #2
0
        public HttpResponseMessage MakeChallenge([FromBody] ChallengeParameterModel para)
        {
            FightLogic fightLogic = new FightLogic();

            jsonResult = fightLogic.MakeChallenge(para);

            returnResult.Content = new StringContent(jsonResult, Encoding.UTF8, "application/json");
            return(returnResult);
        }