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); }
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); }
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); }