Beispiel #1
0
        /// <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)));
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
 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);
     }
 }
Beispiel #4
0
        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
            }));
        }