public ActionResult DoLogin() { string res = JsonStringResult.VerifyFail(); try { if (GeetestValidate.Validate()) { CUsers user = UsersBll.Instance.Login(Request["LoginName"].TryParseString(), Request["Password"].TryParseString()); if (user != null) { string userJson = JsonConvert.SerializeObject(user, new JsonSerializerSettings { DateFormatString = "yyyy-MM-dd HH:mm:ss" }); CookieHelper.SetCookie("User", userJson, DateTime.Now.AddDays(30)); res = JsonStringResult.SuccessResult(); } else { res = JsonStringResult.Error(OperateResCodeEnum.用户名或密码错误); } } else { res = JsonStringResult.Error(OperateResCodeEnum.验证码错误); } } catch (Exception ex) { res = JsonStringResult.Error(OperateResCodeEnum.内部错误); } return(Content(res)); }
public override void OnException(ExceptionContext filterContext) { HS_ErrRec ex = new HS_ErrRec(); try { ContentResult contentResult = new ContentResult(); contentResult.Content = JsonStringResult.Error(OperateResCodeEnum.内部错误); filterContext.Result = contentResult; filterContext.ExceptionHandled = true; ex.Action = (filterContext.RouteData.Values["action"]).ToString(); ex.AddTime = DateTime.Now; ex.Controller = (filterContext.RouteData.Values["controller"]).ToString(); ex.ErrorMsg = filterContext.Exception.Message; ex.IP = StringUtil.GetIP(); ex.StackTrace = filterContext.Exception.StackTrace; ex.Arguments = ""; ex.DataSource = (int)DataSourceEnum.API; ErrRecBll.Instance.AsyncInsert(ex); DataExchangeBll.Instance.AsyncInsert((filterContext.RouteData.Values["action"]).ToString(), (filterContext.RouteData.Values["controller"]).ToString(), filterContext.Controller.TempData["fullData"].TryParseString(), contentResult.Content); } catch (Exception ep) { } //filterContext.HttpContext.Response.Clear(); //filterContext.HttpContext.Response.StatusCode = 200; //filterContext.HttpContext.Response.TrySkipIisCustomErrors = true; }
public override void OnException(ExceptionContext filterContext) { HS_ErrRec ex = new HS_ErrRec(); try { ContentResult contentResult = new ContentResult(); contentResult.Content = JsonStringResult.Error(OperateResCodeEnum.内部错误); filterContext.Result = contentResult; filterContext.ExceptionHandled = true; ex.Action = (filterContext.RouteData.Values["action"]).ToString(); ex.AddTime = DateTime.Now; ex.Controller = (filterContext.RouteData.Values["controller"]).ToString(); ex.ErrorMsg = filterContext.Exception.Message; ex.IP = StringUtil.GetIP(); ex.StackTrace = filterContext.Exception.StackTrace; ex.Arguments = ""; ex.DataSource = (int)DataSourceEnum.Web; ErrRecBll.Instance.AsyncInsert(ex); } catch (Exception ep) { } }
public ActionResult DoRegister() { string res = JsonStringResult.VerifyFail(); try { if (GeetestValidate.Validate()) { res = UsersBll.Instance.Register(Request["UserName"].TryParseString(), Request["Password"].TryParseString(), Request["Mobile"].TryParseString(), Request["InvitationCode"].TryParseString(), Request["NickName"].TryParseString()); var objRes = JsonConvert.DeserializeObject <APIResultBase>(res); if (objRes.code == (int)OperateResCodeEnum.成功) { string user = JsonConvert.SerializeObject(UsersBll.Instance.GetUserByUserName(Request["UserName"].TryParseString()), new JsonSerializerSettings { DateFormatString = "yyyy-MM-dd HH:mm:ss" }); CookieHelper.SetCookie("User", user, DateTime.Now.AddDays(30)); } } else { res = JsonStringResult.Error(OperateResCodeEnum.验证码错误); } } catch (Exception ex) { res = JsonStringResult.Error(OperateResCodeEnum.内部错误); } return(Content(res)); }
public string Online(string param) { JObject jobj = JObject.Parse(param); string userCode = jobj["UserCode"].TryParseString(); string userName = jobj["NickName"].TryParseString(); string password = jobj["Password"].TryParseString(); string tableCode = jobj["TableCode"].Value <string>(); var textRes = GameTableBll.Instance.ZhanZuoEr(tableCode, userCode, password); if (textRes.code != (int)OperateResCodeEnum.成功) { return(JsonConvert.SerializeObject(textRes)); } HS_GameTable table = GameTableBll.Instance.GetTable(tableCode); if (table != null) { // 查询用户。 //var user = GameRecordBll.GetUser(userCode, table.TableCode); //var record = ((APISingleModelResult<FF_GameRecord>)textRes).data; Groups.Add(Context.ConnectionId, table.TableCode); //UserContextProxy.SetUser(user); var record = GameRecordBll.Instance.GetUser(userCode, tableCode); SendOnlineNotice(record, table.TableCode, "用户:" + userName + "进入房间"); } else { return(JsonStringResult.VerifyFail()); } return(JsonConvert.SerializeObject(textRes)); }
/// <summary> /// 装备一件装备 /// </summary> /// <param name="gameCode"></param> /// <param name="userCode"></param> /// <param name="cardInGameCode"></param> /// <param name="target"></param> /// <returns></returns> public APIResultBase LoadEquip(string gameCode, string userCode, string cardInGameCode) { string res = JsonStringResult.VerifyFail(); Controler_Base ctl = Validate(gameCode, userCode); if (ctl == null) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (VictoryValidate(ctl.GameContext)) { return(JsonModelResult.PackageFail(OperateResCodeEnum.游戏已经结束)); } var player = ctl.GameContext.GetActivationUserContext(); if (player == null || player.UserCode != userCode) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (ctl.GameContext.AllCard.Any(c => c != null && c.CardInGameCode == cardInGameCode && c.CardType == CardType.装备) == false) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } BaseHero hero = ctl.GameContext.GetHeroByActivation(player.IsActivation); Card card = player.HandCards.First(c => c.CardInGameCode == cardInGameCode); if (player.Power < card.Cost) { return(JsonModelResult.PackageFail(OperateResCodeEnum.没有足够的法力值)); } ctl.LoadEquip(hero, card as BaseEquip); return(JsonModelResult.PackageSuccess(_gameCache.GetContext(ctl.GameContext.GameCode).Output())); }
/// <summary> /// 使用英雄技能 /// </summary> /// <param name="gameCode"></param> /// <param name="userCode"></param> /// <param name="target"></param> /// <returns></returns> public APIResultBase CastHeroPower(string gameCode, string userCode, int target = -1) { string res = JsonStringResult.VerifyFail(); Controler_Base ctl = Validate(gameCode, userCode); if (ctl == null) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (VictoryValidate(ctl.GameContext)) { return(JsonModelResult.PackageFail(OperateResCodeEnum.游戏已经结束)); } var player = ctl.GameContext.GetActivationUserContext(); if (player == null || player.UserCode != userCode || player.RemainingHeroPowerCastCount < 1) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } BaseHero hero = ctl.GameContext.GetHeroByActivation(); if (player.Power < (hero.CardAbility as IHeroAbility).Cost) { return(JsonModelResult.PackageFail(OperateResCodeEnum.没有足够的法力值)); } ctl.CastHeroPower(hero, target); return(JsonModelResult.PackageSuccess(_gameCache.GetContext(ctl.GameContext.GameCode).Output())); }
public string GetRoomUsers(string param) { JObject jobj = JObject.Parse(param); string gameCode = jobj["TableCode"].TryParseString(); var room = GameRecordBll.Instance.GetUsers(gameCode); return(JsonStringResult.SuccessResult(room)); }
public ActionResult ValidateUserName() { string res = JsonStringResult.VerifyFail(); var param = JObject.Parse(TempData["param"].TryParseString()); res = UsersBll.Instance.IsRepeat(param["UserName"].TryParseString()) ? JsonStringResult.Error(OperateResCodeEnum.用户名重复) : JsonStringResult.SuccessResult(); return(Content(res)); }
public ActionResult ValidateCode() { string res = JsonStringResult.Error(OperateResCodeEnum.验证码错误); if (GeetestValidate.Validate()) { res = JsonStringResult.SuccessResult(); } return(Content(res)); }
public async Task <string> ReadContent(JsonStringResult result) { var httpResponse = await result.ExecuteAsync(new CancellationToken()); var content = httpResponse.Content as StringContent; // Assert Assert.IsNotNull(content); return(await content.ReadAsStringAsync()); }
/// <summary> /// 随从发起攻击 /// </summary> /// <param name="gameCode"></param> /// <param name="userCode"></param> /// <param name="cardInGameCode"></param> /// <param name="target"></param> /// <returns></returns> public APIResultBase ServantAttack(string gameCode, string userCode, string cardInGameCode, int target) { string res = JsonStringResult.VerifyFail(); Controler_Base ctl = Validate(gameCode, userCode); if (ctl == null) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (VictoryValidate(ctl.GameContext)) { return(JsonModelResult.PackageFail(OperateResCodeEnum.游戏已经结束)); } var player = ctl.GameContext.GetActivationUserContext(); if (player == null || player.UserCode != userCode) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (ctl.GameContext.DeskCards.Any(c => c != null && c.CardInGameCode == cardInGameCode) == false) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (player.IsFirst && target < 8) { return(JsonModelResult.PackageFail(OperateResCodeEnum.参数错误)); } else if (player.IsFirst == false && target > 7) { return(JsonModelResult.PackageFail(OperateResCodeEnum.参数错误)); } BaseServant servant = ctl.GameContext.DeskCards.First(c => c != null && c.CardInGameCode == cardInGameCode) as BaseServant; if (servant.RemainAttackTimes < 1) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (ctl.GameContext.DeskCards[target].HasTaunt == false) { List <BaseBiology> taunts = ctl.GameContext.DeskCards.GetDeskCardsByIsFirst(player.IsFirst ? false : true).Where(c => c != null && c.HasTaunt).ToList(); for (int i = 0; i < taunts.Count; i++) { if (taunts[i].HasTaunt && i != target) { return(JsonModelResult.PackageFail(OperateResCodeEnum.你必须先攻击有嘲讽技能的随从)); } } } ctl.ServantAttack(servant, target); return(JsonModelResult.PackageSuccess(_gameCache.GetContext(ctl.GameContext.GameCode).Output())); }
public ActionResult GetSaloons() { var param = JObject.Parse(TempData["param"].TryParseString()); int PageSize = param["PageSize"].TryParseInt(); int PageNo = param["PageNo"].TryParseInt(); var where = LDMFilter.True <HS_GameTable>(); var resModel = GameTableBll.Instance.GetPage(where, "id", PageNo, PageSize, false); return(Content(JsonStringResult.SuccessPageResult(resModel))); }
/// <summary> /// 签名认证 /// </summary> /// <param name="eventArgs"></param> public override void OnEntry(MethodExecutionArgs eventArgs) { Arguments arguments = eventArgs.Arguments; if (!UsersBll.Instance.AuthenticationSign(arguments[0].ToString())) { throw new Exception(JsonStringResult.Error(OperateResCodeEnum.签名验证失败)); } base.OnEntry(eventArgs); }
public string ApplySwitchBanker(string param) { JObject jobj = JObject.Parse(param); string userCode = jobj["UserCode"].TryParseString(); string targetUserCode = jobj["TargetUserCode"].TryParseString(); string tableCode = jobj["TableCode"].Value <string>(); CGameUser user = GameRecordBll.Instance.GetUser(userCode, tableCode); CGameUser targetUser = GameRecordBll.Instance.GetUser(targetUserCode, tableCode); SendApplySwitchBankerNotice(user, targetUser); return(JsonStringResult.SuccessResult()); }
public string IAmCancelReady(string param) { JObject jobj = JObject.Parse(param); string userCode = jobj["UserCode"].TryParseString(); string tableCode = jobj["TableCode"].Value <string>(); var res = GameBll.Instance.CancelBet(userCode, tableCode); var user = GameRecordBll.Instance.GetUser(userCode, tableCode); //提示客户端 //SendBordcast(user.GameCode, "用户:" + user.NickName + "已取消下注!", userCode); SendReadyStatusNotice(user.GameCode, "用户:" + user.NickName + "已取消下注!", userCode, user); return(JsonStringResult.SuccessResult()); }
/// <summary> /// 将一名随从从手牌中移到场上 /// </summary> /// <param name="gameCode"></param> /// <param name="userCode"></param> /// <param name="cardInGameCode"></param> /// <param name="location"></param> /// <returns></returns> public APIResultBase CastServant(string gameCode, string userCode, string cardInGameCode, int location, int target) { string res = JsonStringResult.VerifyFail(); Controler_Base ctl = Validate(gameCode, userCode); if (ctl == null) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (VictoryValidate(ctl.GameContext)) { return(JsonModelResult.PackageFail(OperateResCodeEnum.游戏已经结束)); } var player = ctl.GameContext.GetActivationUserContext(); if (player == null || player.UserCode != userCode) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (player.HandCards.Any(c => c.CardInGameCode == cardInGameCode) == false) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (location == 0 || location == 8) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } //if (ctl.GameContext.DeskCards[location] != null) //{ // return JsonModelResult.PackageFail(OperateResCodeEnum.位置已被占用); //} if (player.IsFirst && (location == 0 || location > 7)) { return(JsonModelResult.PackageFail(OperateResCodeEnum.参数错误)); } else if (player.IsFirst == false && (location == 8 || location < 8)) { return(JsonModelResult.PackageFail(OperateResCodeEnum.参数错误)); } Card card = player.HandCards.First(c => c.CardInGameCode == cardInGameCode); if (player.Power < card.Cost) { return(JsonModelResult.PackageFail(OperateResCodeEnum.没有足够的法力值)); } ctl.CastServant((BaseServant)card, location, target); return(JsonModelResult.PackageSuccess(_gameCache.GetContext(ctl.GameContext.GameCode).Output())); }
public ActionResult DoLogOut() { string res = JsonStringResult.VerifyFail(); try { CookieHelper.RemoveCookie("User"); res = JsonStringResult.SuccessResult(); } catch (Exception ex) { res = JsonStringResult.Error(OperateResCodeEnum.内部错误); } return(Content(res)); }
/// <summary> /// 打出一张法术牌 /// </summary> /// <param name="gameCode"></param> /// <param name="userCode"></param> /// <param name="cardInGameCode"></param> /// <param name="target"></param> /// <returns></returns> public APIResultBase CastSpell(string gameCode, string userCode, string cardInGameCode, int target) { string res = JsonStringResult.VerifyFail(); Controler_Base ctl = Validate(gameCode, userCode); if (ctl == null) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (VictoryValidate(ctl.GameContext)) { return(JsonModelResult.PackageFail(OperateResCodeEnum.游戏已经结束)); } var player = ctl.GameContext.GetActivationUserContext(); if (player == null || player.UserCode != userCode) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (player.HandCards.Any(c => c.CardInGameCode == cardInGameCode) == false) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } Card card = player.HandCards.First(c => c.CardInGameCode == cardInGameCode); if (player.Power < card.Cost) { return(JsonModelResult.PackageFail(OperateResCodeEnum.没有足够的法力值)); } if (card.CastCardPrecondition == CastCardPrecondition.健康 && target > -1) { BaseBiology biology = ctl.GameContext.DeskCards[target]; if (biology.Life != biology.BuffLife) { return(JsonModelResult.PackageFail(OperateResCodeEnum.错误的目标)); } } if (card.CastCardPrecondition == CastCardPrecondition.装备有武器 && ctl.GameContext.GetHeroByActivation().Equip == null) { return(JsonModelResult.PackageFail(OperateResCodeEnum.你无法施放这个技能)); } ctl.CastSpell((BaseSpell)card, target); return(JsonModelResult.PackageSuccess(_gameCache.GetContext(ctl.GameContext.GameCode).Output())); }
/// <summary> /// 英雄发起攻击 /// </summary> /// <param name="gameCode"></param> /// <param name="userCode"></param> /// <param name="cardInGameCode"></param> /// <param name="target"></param> /// <returns></returns> public APIResultBase HeroAttack(string gameCode, string userCode, int target) { string res = JsonStringResult.VerifyFail(); Controler_Base ctl = Validate(gameCode, userCode); if (ctl == null) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (VictoryValidate(ctl.GameContext)) { return(JsonModelResult.PackageFail(OperateResCodeEnum.游戏已经结束)); } var player = ctl.GameContext.GetActivationUserContext(); if (player == null || player.UserCode != userCode) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (player.IsFirst && target < 8) { return(JsonModelResult.PackageFail(OperateResCodeEnum.参数错误)); } else if (player.IsFirst == false && target > 7) { return(JsonModelResult.PackageFail(OperateResCodeEnum.参数错误)); } BaseHero hero = ctl.GameContext.GetHeroByActivation(player.IsActivation); if (hero.RemainAttackTimes < 1) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } List <BaseBiology> taunts = ctl.GameContext.DeskCards.GetDeskCardsByIsFirst(player.IsFirst ? false : true).Where(c => c != null && c.HasTaunt).ToList(); if (taunts != null && taunts.Count > 0 && taunts.Any(c => c.DeskIndex == target) == false) { return(JsonModelResult.PackageFail(OperateResCodeEnum.你必须先攻击有嘲讽技能的随从)); } ctl.HeroAttack(hero, target); return(JsonModelResult.PackageSuccess(_gameCache.GetContext(ctl.GameContext.GameCode).Output())); }
public async Task <IActionResult> GetAll() { var gdList = await _geoDataRepository.GetAllGeoDataAsync(); var allGeoData = ( from gd in gdList select gd.AsBsonDocument into geoData where geoData != null select BsonSerializer.Deserialize <GeoData>(geoData) into geoD select new Dictionary <string, string> { { "Id", "\"" + geoD.Id + "\"" }, { "Feature", geoD.Feature.ToJson() } } ).ToList(); var geoDataJson = new JsonStringResult(allGeoData); return(geoDataJson); }
public string IAmReady(string param) { JObject jobj = JObject.Parse(param); string userCode = jobj["UserCode"].TryParseString(); string tableCode = jobj["TableCode"].Value <string>(); decimal betMoney = jobj["BetMoney"].TryParseDecimal(2); var res = GameBll.Instance.Bet(userCode, betMoney, tableCode); var user = GameRecordBll.Instance.GetUser(userCode, tableCode); //提示客户端 SendReadyStatusNotice(user.GameCode, "用户:" + user.NickName + "已下注" + betMoney + "之巨!", userCode, user); if (res.code == (int)OperateResCodeEnum.成功) { Clients.Group(user.GameCode, new string[0]).allReady("所有人都已下注!"); } return(JsonStringResult.SuccessResult(user)); }
public async Task <IActionResult> GetAll() { var permList = await _penaltyRepository.GetAllPenaltyAsync(); var allPenalties = ( from perm in permList select perm into penalty where penalty != null && (!penalty.deprecationTime.HasValue || penalty.deprecationTime.Value > DateTime.UtcNow) select BsonSerializer.Deserialize <Penalty>(penalty.ToBsonDocument()) into pnlt select new Dictionary <string, string> { { "id", "\"" + pnlt.id + "\"" }, { "Penalty", pnlt.ToJson() } } ).ToList(); var permitJson = new JsonStringResult(allPenalties); return(permitJson); }
public override void OnException(MethodExecutionArgs args) { HS_ErrRec ex = new HS_ErrRec(); ex.Action = _methodName; ex.AddTime = DateTime.Now; ex.Controller = _className; ex.ErrorMsg = args.Exception.Message; ex.IP = StringUtil.GetIP(); ex.StackTrace = args.Exception.StackTrace; ex.Arguments = ""; if (args.Arguments != null && args.Arguments.Count > 0) { ex.Arguments = args.Arguments.ToJsonString(); } ex.DataSource = (int)DataSourceEnum.SignalR; ErrRecBll.Instance.AsyncInsert(ex); args.ReturnValue = JsonStringResult.VerifyFail(); args.FlowBehavior = FlowBehavior.Return; }
/// <summary> /// 用户注册 /// </summary> /// <param name="userName"></param> /// <param name="pwd"></param> /// <param name="mobile"></param> /// <param name="email"></param> /// <param name="invitationCode"></param> /// <param name="nickName"></param> /// <param name="headImg"></param> /// <returns></returns> public string Register(string userName, string pwd, string mobile, string email, string nickName, string headImg = "") { if (userName.IsNullOrEmpty() || pwd.IsNullOrEmpty() || nickName.IsNullOrEmpty()) { return(JsonStringResult.Error(OperateResCodeEnum.参数错误)); } if (!StringUtil.IsNatural_Number(userName)) { return(JsonStringResult.Error(OperateResCodeEnum.参数错误)); } if (IsRepeat(userName)) { return(JsonStringResult.Error(OperateResCodeEnum.用户名重复)); } //if (!mobile.IsNullOrEmpty() && IsMobileRepeat(mobile)) //{ // return OperateJsonRes.Error(OperateResCodeEnum.手机号重复); //} //if (!email.IsNullOrEmpty() && IsEmailRepeat(email)) //{ // return OperateJsonRes.Error(OperateResCodeEnum.邮箱重复); //} string userCode = SignUtil.CreateSign(userName + RandomUtil.CreateRandomStr(10) + DateTime.Now.ToString("yyyyMMddHHmmss")); FF_User user = new FF_User(); user.AddTime = DateTime.Now; user.Email = email.TryParseString(); user.Mobile = mobile.TryParseString(); user.Password = SignUtil.CreateSign(pwd); user.UserCode = userCode; user.UserName = userName; user.NickName = nickName; user.HeadImg = headImg.TryParseString(); user.SecretCode = SignUtil.CreateSign(user.UserName + user.UserCode + RandomUtil.CreateRandomStr(10) + DateTime.Now.Ticks); user.OpenID = ""; _repository.Insert(user); return(JsonStringResult.SuccessResult(user.UserCode)); }
/// <summary> /// 回合结束 /// </summary> /// <param name="gameCode"></param> /// <param name="userCode"></param> /// <returns></returns> public APIResultBase TurnStart(string gameCode, string userCode) { string res = JsonStringResult.VerifyFail(); Controler_Base ctl = Validate(gameCode, userCode); if (ctl == null) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } if (VictoryValidate(ctl.GameContext)) { return(JsonModelResult.PackageFail(OperateResCodeEnum.游戏已经结束)); } var player = ctl.GameContext.GetActivationUserContext(); if (player == null || player.UserCode != userCode) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } ctl.TurnStart(); return(JsonModelResult.PackageSuccess(_gameCache.GetContext(ctl.GameContext.GameCode).Output())); }
public async Task <IActionResult> GetAll() { var prtyList = await _partyRepository.GetAllPartyAsync(); foreach (var party in prtyList) { party.CleanChildEntites(); } var allParties = ( from prty in prtyList select prty into party where party != null && (!party.deprecationTime.HasValue || party.deprecationTime.Value > DateTime.UtcNow) select BsonSerializer.Deserialize <Party>(party.ToBsonDocument()) into prt select new Dictionary <string, string> { { "id", "\"" + prt.id + "\"" }, { "Party", prt.ToJson() } } ).ToList(); var permitJson = new JsonStringResult(allParties); return(permitJson); }
/// <summary> /// 开场换牌 /// </summary> /// <param name="gameCode"></param> /// <param name="userCode"></param> /// <param name="lstInitCardIndex"></param> /// <returns></returns> public APIResultBase SwitchCard(string gameCode, string userCode, List <string> lstInitCardIndex, IShortCodeService shortCodeService) { string res = JsonStringResult.VerifyFail(); Controler_Base ctl = Validate(gameCode, userCode); if (ctl == null) { return(JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据)); } //if (ctl.TurnIndex != 2) //{ // return JsonModelResult.PackageFail(OperateResCodeEnum.查询不到需要的数据); //} if (ctl.GameContext.Players.Any(c => c.UserCode == userCode && c.SwitchDone == false) == false) { return(JsonModelResult.PackageFail(OperateResCodeEnum.参数错误)); } List <int> initCardIndex = new List <int>(); foreach (string idx in lstInitCardIndex) { initCardIndex.Add(idx.TryParseInt()); } if (initCardIndex.Any(c => c < 0 || c > 3) || initCardIndex.Any(c => c >= ctl.GameContext.Players.First(x => x.UserCode == userCode).InitCards.Count())) { return(JsonModelResult.PackageFail(OperateResCodeEnum.参数错误)); } var idxGroup = initCardIndex.GroupBy(c => c); if (idxGroup.Any(c => c.Count() > 1)) { return(JsonModelResult.PackageFail(OperateResCodeEnum.参数错误)); } ctl.SwitchCard(userCode, initCardIndex, shortCodeService); return(JsonModelResult.PackageSuccess(_gameCache.GetContext(ctl.GameContext.GameCode).Output().Players.First(c => c.UserCode == userCode))); }
/// <summary> /// Adds an extension method to any class derived from ApiController. /// </summary> /// <param name="controller"></param> /// <param name="jsonContent"></param> /// <param name="statusCode"></param> /// <returns> A JsonStringResult object containig the request, a status code and the content for the request. </returns> public static JsonStringResult JsonString(this ApiController controller, string jsonContent, HttpStatusCode statusCode = HttpStatusCode.OK) { var result = new JsonStringResult(controller.Request, statusCode, jsonContent); return(result); }
public override void OnAuthorization(AuthorizationContext filterContext) { HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*"); HttpContext.Current.Response.ContentType = "text/plain"; ContentResult contentResult = new ContentResult(); try { var Request = filterContext.RequestContext.HttpContext.Request; string data = ""; if (Request.HttpMethod.ToLower() == "post") { using (Stream s = System.Web.HttpContext.Current.Request.InputStream) { byte[] b = new byte[s.Length]; s.Read(b, 0, (int)s.Length); data = Encoding.UTF8.GetString(b); }; } else { data = filterContext.RequestContext.HttpContext.Request["data"].TryParseString(); } if (data.IsNullOrEmpty()) { data = filterContext.Controller.TempData["fullData"].TryParseString(); } if (data.IsNullOrEmpty()) { contentResult.Content = JsonStringResult.Error(OperateResCodeEnum.签名验证失败, ""); filterContext.Result = contentResult; return; } APIReciveData im = JsonConvert.DeserializeObject <APIReciveData>(data); //if (IsValidate && im.token.IsNullOrEmpty()) //{ // //签名验证 // if (string.IsNullOrEmpty(im.appid)) // { // contentResult.Content = OperateJsonRes.Error(OperateResCodeEnum.签名验证失败, ""); // filterContext.Result = contentResult; // return; // } // if (string.IsNullOrEmpty(im.apiname)) // { // contentResult.Content = OperateJsonRes.Error(OperateResCodeEnum.签名验证失败, ""); // filterContext.Result = contentResult; // return; // } //} //else if (IsValidate) { if (!UsersBll.Instance.AuthenticationSign(im)) { contentResult.Content = JsonStringResult.Error(OperateResCodeEnum.签名验证失败); filterContext.Result = contentResult; return; } //var lt = LoginTokenBll.Instance.GetUserInfoByToken(im.token); //if (lt == null) //{ // contentResult.Content = OperateJsonRes.Error(OperateResCodeEnum.登录失败, ""); // filterContext.Result = contentResult; // return; //} //else if (lt.AddTime < DateTime.Now.AddDays(-1)) //{ // LoginTokenBll.Instance.Delete(lt.ID); // contentResult.Content = OperateJsonRes.Error(OperateResCodeEnum.登录失败, ""); // filterContext.Result = contentResult; // return; //} //else //{ // filterContext.Controller.TempData["LoginToken"] = lt; //} } filterContext.Controller.TempData["param"] = im.param.TryParseString(); filterContext.Controller.TempData["version"] = im.version.TryParseString(); filterContext.Controller.TempData["fullData"] = JsonConvert.SerializeObject(im); } catch (Exception ex) { contentResult.Content = JsonStringResult.Error(OperateResCodeEnum.内部错误, "内部错误"); filterContext.Result = contentResult; } return; }