/// <summary> /// Helper method for chaining a group of callbacks in a single go. /// /// It is just syntatic sugar for sequential Then() calls, without creating intermediate /// futures explicitly. /// </summary> public Future Chain(IEnumerable <ResolvedCb> cbs) { SanityChecks(); System.Collections.Generic.IList <ResolvedCb> cbsList = cbs.ToList(); FutureDesc[] descs = new FutureDesc[cbsList.Count() + 1]; // +1 due to the null-cb terminating descriptor. int i = 0; try { for (; i < cbsList.Count(); i++) { ResolvedCb cb = cbsList[i]; descs[i].cb = NativeResolvedCb; GCHandle handle = GCHandle.Alloc(cb); descs[i].data = GCHandle.ToIntPtr(handle); } descs[i].cb = null; descs[i].data = IntPtr.Zero; } catch (Exception e) { for (int j = 0; j <= i; j++) { if (descs[i].data == IntPtr.Zero) { continue; } GCHandle handle = GCHandle.FromIntPtr(descs[i].data); handle.Free(); } Eina.Log.Error($"Failed to create native future description for callbacks. Error: {e.ToString()}"); return(null); } return(new Future(eina_future_chain_array(Handle, descs))); }
protected string GetGameMenu() { System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); int gameId = 0; if (int.TryParse(base.Request.QueryString["gameId"], out gameId)) { System.Collections.Generic.IList <GamePrizeInfo> gamePrizeListsByGameId = GameHelper.GetGamePrizeListsByGameId(gameId); if (gamePrizeListsByGameId != null && gamePrizeListsByGameId.Count <GamePrizeInfo>() > 0) { int num = 0; using (System.Collections.Generic.IEnumerator <GamePrizeInfo> enumerator = gamePrizeListsByGameId.GetEnumerator()) { while (enumerator.MoveNext()) { GamePrizeInfo current = enumerator.Current; string arg = ""; if (num == 0) { arg = "active"; } if (num > 0) { stringBuilder.AppendFormat("<li class=\"{0}\" id=\"li{2}\" lival=\"{2}\">{1}<i class='' onclick='DelPrize(this)'></i></li>", arg, current.PrizeName, current.PrizeId); } else { stringBuilder.AppendFormat("<li class=\"{0}\" id=\"li{2}\" lival=\"{2}\">{1}</li>", arg, current.PrizeName, current.PrizeId); } num++; } goto IL_119; } } stringBuilder.AppendFormat("<li class=\"{0}\">{1}</li>", "active", "一等奖"); this.hfIndex.Value = "1"; } else { stringBuilder.AppendFormat("<li class=\"{0}\">{1}</li>", "active", "一等奖"); this.hfIndex.Value = "1"; } IL_119: return(stringBuilder.ToString()); }
private void SaveDate() { try { GameInfo gameInfo = this.UCGameInfo.GameInfo; gameInfo.PrizeRate = this.UCGamePrizeInfo.PrizeRate; gameInfo.NotPrzeDescription = this.UCGamePrizeInfo.NotPrzeDescription; System.Collections.Generic.IList <GamePrizeInfo> prizeLists = this.UCGamePrizeInfo.PrizeLists; string[] array = new string[] { "一等奖", "二等奖", "三等奖", "四等奖" }; int num = 0; bool flag = GameHelper.Update(gameInfo); if (!flag) { throw new System.Exception("更新失败!"); } for (int i = 0; i < prizeLists.Count <GamePrizeInfo>(); i++) { GamePrizeInfo gamePrizeInfo = prizeLists[i]; gamePrizeInfo.GameId = gameInfo.GameId; if (gamePrizeInfo.PrizeId > 0) { if (gamePrizeInfo.PrizeType == PrizeType.赠送积分) { gamePrizeInfo.PrizeImage = "/utility/pics/jifen60.png"; } if (gamePrizeInfo.PrizeType == PrizeType.赠送优惠券) { gamePrizeInfo.PrizeImage = "/utility/pics/yhq60.png"; } if (!GameHelper.UpdatePrize(gamePrizeInfo)) { throw new System.Exception("更新奖品信息时失败!"); } num += gamePrizeInfo.PrizeCount; } else { if (string.IsNullOrEmpty(gamePrizeInfo.PrizeName)) { if (gamePrizeInfo.PrizeType == PrizeType.赠送积分) { gamePrizeInfo.PrizeImage = "/utility/pics/jifen60.png"; } if (gamePrizeInfo.PrizeType == PrizeType.赠送优惠券) { gamePrizeInfo.PrizeImage = "/utility/pics/yhq60.png"; } gamePrizeInfo.PrizeName = array[i]; } if (!GameHelper.CreatePrize(gamePrizeInfo)) { throw new System.Exception("添加奖品信息时失败!"); } num += gamePrizeInfo.PrizeCount; } } bool flag2 = GameHelper.DeleteWinningPools(gameInfo.GameId); if (num > 0 && flag2) { GameHelper.CreateWinningPools(gameInfo.PrizeRate, num, gameInfo.GameId); } this.Page.ClientScript.RegisterClientScriptBlock(typeof(System.Web.UI.Page), "ShowSuccess", "<script>$(function () { ShowStep2(); })</script>"); } catch (System.Exception ex) { this.ShowMsg(ex.Message, false); } }
private void GetPrizeLists(System.Web.HttpContext context) { context.Response.ContentType = "application/json"; System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder("{"); string text = context.Request["gameid"]; if (string.IsNullOrEmpty(text)) { stringBuilder.Append("\"status\":\"0\",\"Desciption\":\"参数错误!\"}"); context.Response.Write(stringBuilder.ToString()); return; } MemberInfo currentMember = MemberProcessor.GetCurrentMember(); GameInfo modelByGameId = GameHelper.GetModelByGameId(text); if (modelByGameId == null) { stringBuilder.Append("\"status\":\"0\",\"Desciption\":\"游戏不存在!\"}"); context.Response.Write(stringBuilder.ToString()); return; } Hi_Ajax_Game.GameData gameData = new Hi_Ajax_Game.GameData { status = 1, Description = modelByGameId.Description, BeginDate = modelByGameId.BeginTime, EndDate = modelByGameId.EndTime, LimitEveryDay = modelByGameId.LimitEveryDay, MaximumDailyLimit = modelByGameId.MaximumDailyLimit, MemberCheck = modelByGameId.MemberCheck, HasPhone = string.IsNullOrEmpty(currentMember.CellPhone) ? 0 : 1 }; System.Collections.Generic.IList <GamePrizeInfo> gamePrizeListsByGameId = GameHelper.GetGamePrizeListsByGameId(modelByGameId.GameId); System.Collections.Generic.List <Hi_Ajax_Game.PrizeData> list = new System.Collections.Generic.List <Hi_Ajax_Game.PrizeData>(); GamePrizeInfo gamePrizeInfo = new GamePrizeInfo(); GamePrizeInfo gamePrizeInfo2 = new GamePrizeInfo(); GamePrizeInfo gamePrizeInfo3 = new GamePrizeInfo(); GamePrizeInfo gamePrizeInfo4 = new GamePrizeInfo(); switch (gamePrizeListsByGameId.Count <GamePrizeInfo>()) { case 1: { gamePrizeInfo = gamePrizeListsByGameId.FirstOrDefault((GamePrizeInfo p) => p.PrizeGrade == PrizeGrade.一等奖); string prizeFullName = GameHelper.GetPrizeFullName(new PrizeResultViewInfo { PrizeType = gamePrizeInfo.PrizeType, GivePoint = gamePrizeInfo.GivePoint, GiveCouponId = gamePrizeInfo.GiveCouponId, GiveShopBookId = gamePrizeInfo.GiveShopBookId }); list.Add(new Hi_Ajax_Game.PrizeData { prizeId = gamePrizeInfo.PrizeId, prize = gamePrizeInfo.Prize, prizeType = gamePrizeInfo.PrizeGrade.ToString(), prizeCount = gamePrizeInfo.PrizeRate, prizeName = GameHelper.GetPrizeName(gamePrizeInfo.PrizeType, prizeFullName), PrizeFullName = prizeFullName }); break; } case 2: { gamePrizeInfo = gamePrizeListsByGameId.FirstOrDefault((GamePrizeInfo p) => p.PrizeGrade == PrizeGrade.一等奖); string prizeFullName = GameHelper.GetPrizeFullName(new PrizeResultViewInfo { PrizeType = gamePrizeInfo.PrizeType, GivePoint = gamePrizeInfo.GivePoint, GiveCouponId = gamePrizeInfo.GiveCouponId, GiveShopBookId = gamePrizeInfo.GiveShopBookId }); list.Add(new Hi_Ajax_Game.PrizeData { prizeId = gamePrizeInfo.PrizeId, prize = gamePrizeInfo.Prize, prizeType = gamePrizeInfo.PrizeGrade.ToString(), prizeCount = gamePrizeInfo.PrizeRate, prizeName = GameHelper.GetPrizeName(gamePrizeInfo.PrizeType, prizeFullName), PrizeFullName = prizeFullName }); gamePrizeInfo2 = gamePrizeListsByGameId.FirstOrDefault((GamePrizeInfo p) => p.PrizeGrade == PrizeGrade.二等奖); prizeFullName = GameHelper.GetPrizeFullName(new PrizeResultViewInfo { PrizeType = gamePrizeInfo2.PrizeType, GivePoint = gamePrizeInfo2.GivePoint, GiveCouponId = gamePrizeInfo2.GiveCouponId, GiveShopBookId = gamePrizeInfo2.GiveShopBookId }); list.Add(new Hi_Ajax_Game.PrizeData { prizeId = gamePrizeInfo2.PrizeId, prize = gamePrizeInfo2.Prize, prizeType = gamePrizeInfo2.PrizeGrade.ToString(), prizeCount = gamePrizeInfo2.PrizeRate, prizeName = GameHelper.GetPrizeName(gamePrizeInfo2.PrizeType, prizeFullName), PrizeFullName = prizeFullName }); break; } case 3: { gamePrizeInfo = gamePrizeListsByGameId.FirstOrDefault((GamePrizeInfo p) => p.PrizeGrade == PrizeGrade.一等奖); string prizeFullName = GameHelper.GetPrizeFullName(new PrizeResultViewInfo { PrizeType = gamePrizeInfo.PrizeType, GivePoint = gamePrizeInfo.GivePoint, GiveCouponId = gamePrizeInfo.GiveCouponId, GiveShopBookId = gamePrizeInfo.GiveShopBookId }); list.Add(new Hi_Ajax_Game.PrizeData { prizeId = gamePrizeInfo.PrizeId, prize = gamePrizeInfo.Prize, prizeType = gamePrizeInfo.PrizeGrade.ToString(), prizeCount = gamePrizeInfo.PrizeRate, prizeName = GameHelper.GetPrizeName(gamePrizeInfo.PrizeType, prizeFullName), PrizeFullName = prizeFullName }); gamePrizeInfo2 = gamePrizeListsByGameId.FirstOrDefault((GamePrizeInfo p) => p.PrizeGrade == PrizeGrade.二等奖); prizeFullName = GameHelper.GetPrizeFullName(new PrizeResultViewInfo { PrizeType = gamePrizeInfo2.PrizeType, GivePoint = gamePrizeInfo2.GivePoint, GiveCouponId = gamePrizeInfo2.GiveCouponId, GiveShopBookId = gamePrizeInfo2.GiveShopBookId }); list.Add(new Hi_Ajax_Game.PrizeData { prizeId = gamePrizeInfo2.PrizeId, prize = gamePrizeInfo2.Prize, prizeType = gamePrizeInfo2.PrizeGrade.ToString(), prizeCount = gamePrizeInfo2.PrizeRate, prizeName = GameHelper.GetPrizeName(gamePrizeInfo2.PrizeType, prizeFullName), PrizeFullName = prizeFullName }); gamePrizeInfo3 = gamePrizeListsByGameId.FirstOrDefault((GamePrizeInfo p) => p.PrizeGrade == PrizeGrade.等奖); prizeFullName = GameHelper.GetPrizeFullName(new PrizeResultViewInfo { PrizeType = gamePrizeInfo3.PrizeType, GivePoint = gamePrizeInfo3.GivePoint, GiveCouponId = gamePrizeInfo3.GiveCouponId, GiveShopBookId = gamePrizeInfo3.GiveShopBookId }); list.Add(new Hi_Ajax_Game.PrizeData { prizeId = gamePrizeInfo3.PrizeId, prize = gamePrizeInfo3.Prize, prizeType = gamePrizeInfo3.PrizeGrade.ToString(), prizeCount = gamePrizeInfo3.PrizeRate, prizeName = GameHelper.GetPrizeName(gamePrizeInfo3.PrizeType, prizeFullName), PrizeFullName = prizeFullName }); break; } case 4: { gamePrizeInfo = gamePrizeListsByGameId.FirstOrDefault((GamePrizeInfo p) => p.PrizeGrade == PrizeGrade.一等奖); string prizeFullName = GameHelper.GetPrizeFullName(new PrizeResultViewInfo { PrizeType = gamePrizeInfo.PrizeType, GivePoint = gamePrizeInfo.GivePoint, GiveCouponId = gamePrizeInfo.GiveCouponId, GiveShopBookId = gamePrizeInfo.GiveShopBookId }); list.Add(new Hi_Ajax_Game.PrizeData { prizeId = gamePrizeInfo.PrizeId, prize = gamePrizeInfo.Prize, prizeType = gamePrizeInfo.PrizeGrade.ToString(), prizeCount = gamePrizeInfo.PrizeRate, prizeName = GameHelper.GetPrizeName(gamePrizeInfo.PrizeType, prizeFullName), PrizeFullName = prizeFullName }); gamePrizeInfo2 = gamePrizeListsByGameId.FirstOrDefault((GamePrizeInfo p) => p.PrizeGrade == PrizeGrade.二等奖); prizeFullName = GameHelper.GetPrizeFullName(new PrizeResultViewInfo { PrizeType = gamePrizeInfo2.PrizeType, GivePoint = gamePrizeInfo2.GivePoint, GiveCouponId = gamePrizeInfo2.GiveCouponId, GiveShopBookId = gamePrizeInfo2.GiveShopBookId }); list.Add(new Hi_Ajax_Game.PrizeData { prizeId = gamePrizeInfo2.PrizeId, prize = gamePrizeInfo2.Prize, prizeType = gamePrizeInfo2.PrizeGrade.ToString(), prizeCount = gamePrizeInfo2.PrizeRate, prizeName = GameHelper.GetPrizeName(gamePrizeInfo2.PrizeType, prizeFullName), PrizeFullName = prizeFullName }); gamePrizeInfo3 = gamePrizeListsByGameId.FirstOrDefault((GamePrizeInfo p) => p.PrizeGrade == PrizeGrade.等奖); prizeFullName = GameHelper.GetPrizeFullName(new PrizeResultViewInfo { PrizeType = gamePrizeInfo3.PrizeType, GivePoint = gamePrizeInfo3.GivePoint, GiveCouponId = gamePrizeInfo3.GiveCouponId, GiveShopBookId = gamePrizeInfo3.GiveShopBookId }); list.Add(new Hi_Ajax_Game.PrizeData { prizeId = gamePrizeInfo3.PrizeId, prize = gamePrizeInfo3.Prize, prizeType = gamePrizeInfo3.PrizeGrade.ToString(), prizeCount = gamePrizeInfo3.PrizeRate, prizeName = GameHelper.GetPrizeName(gamePrizeInfo3.PrizeType, prizeFullName), PrizeFullName = prizeFullName }); gamePrizeInfo4 = gamePrizeListsByGameId.FirstOrDefault((GamePrizeInfo p) => p.PrizeGrade == PrizeGrade.四等奖); prizeFullName = GameHelper.GetPrizeFullName(new PrizeResultViewInfo { PrizeType = gamePrizeInfo4.PrizeType, GivePoint = gamePrizeInfo4.GivePoint, GiveCouponId = gamePrizeInfo4.GiveCouponId, GiveShopBookId = gamePrizeInfo4.GiveShopBookId }); list.Add(new Hi_Ajax_Game.PrizeData { prizeId = gamePrizeInfo4.PrizeId, prize = gamePrizeInfo4.Prize, prizeType = gamePrizeInfo4.PrizeGrade.ToString(), prizeCount = gamePrizeInfo4.PrizeRate, prizeName = GameHelper.GetPrizeName(gamePrizeInfo4.PrizeType, prizeFullName), PrizeFullName = prizeFullName }); break; } } gameData.prizeLists = list; IsoDateTimeConverter isoDateTimeConverter = new IsoDateTimeConverter(); isoDateTimeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; context.Response.Write(JsonConvert.SerializeObject(gameData, Formatting.Indented, new JsonConverter[] { isoDateTimeConverter })); }