コード例 #1
0
        void UpdateSlider(BonusInfo bonus)
        {
            var hudEntityViews      = entityViewsDB.QueryEntityViews <HUDEntityView>();
            var hudHealthEntityView =
                entityViewsDB.QueryEntityView <HUDHealthEntityView>(bonus.targetEntityID);

            for (int i = 0; i < hudEntityViews.Count; i++)
            {
                hudEntityViews[i].healthSliderComponent.value = hudHealthEntityView.healthComponent.currentHealth;
            }
        }
コード例 #2
0
        public void IncrReceiveCount(long id)
        {
            BonusInfo info = DbFactory.Default.Get <BonusInfo>().Where(p => p.Id == id).FirstOrDefault();

            if (null == info)
            {
                return;
            }
            info.ReceiveCount++;
            DbFactory.Default.Update(info);
        }
コード例 #3
0
 public void Step(ref BonusInfo token, int condition)
 {
     if (token.bonusType == BonusType.health)
     {
         OnHealthBonusEvent(token);
     }
     else
     {
         OnAmmoBonusEvent(token);
     }
 }
コード例 #4
0
 private void Start()
 {
     bonus = FindObjectOfType <BonusInfo>();
     //Change the playable ship to the correct ship
     ChangeShip();
     Time.timeScale = 1f;
     //If there is something to load then load it
     if (PlayerPrefs.GetInt("Load") == 1)
     {
         Load();
     }
 }
コード例 #5
0
 private string GetStateString(BonusInfo m)
 {
     if (m.EndTime < DateTime.Now)
     {
         return("已过期");
     }
     else if (m.IsInvalid)
     {
         return("已失效");
     }
     return("正在进行");
 }
コード例 #6
0
        //void OnTargetDead(int targetID)
        //{
        //    ///
        //    /// Pay attention to this bit. The engine is querying a
        //    /// PlayerTargetEntityView and not a EnemyEntityView.
        //    /// this is more than a sophistication, it's actually the implementation
        //    /// of the rule that every engine must use its own set of
        //    /// EntityViews to promote encapsulation and modularity
        //    ///
        //    var playerTarget = entityViewsDB.QueryEntityView<PlayerTargetEntityView>(targetID);
        //    var targetType   = playerTarget.playerTargetComponent.targetType;

        //    _enemyKilledObservable.Dispatch(ref targetType);
        //}
        void OnBonusCollected(BonusInfo info)
        {
            var playerGunComponent = _playerGunEntityView.gunComponent;

            if (playerGunComponent.magazineCapacity > playerGunComponent.currentBulletCount + info.amount)
            {
                playerGunComponent.currentBulletCount += info.amount;
            }
            else
            {
                playerGunComponent.currentBulletCount = playerGunComponent.magazineCapacity;
            }
        }
コード例 #7
0
        public GenerateDetailContext(BonusInfo model)
        {
            this._bonus = model;
            switch (this._bonus.PriceType)
            {
            case BonusInfo.BonusPriceType.Fixed:
                this._generate = new FixedGeneration((decimal)model.FixedAmount);
                break;

            case BonusInfo.BonusPriceType.Random:
                this._generate = new RandomlyGeneration((decimal)model.RandomAmountStart, (decimal)model.RandomAmountEnd);
                break;
            }
        }
コード例 #8
0
ファイル: HealthEngine.cs プロジェクト: mibo90/SurvivalGame
        public void Step(ref BonusInfo bonusHealth, int condition)
        {
            var entityView      = entityViewsDB.QueryEntityView <HealthEntityView>(bonusHealth.targetEntityID);
            var healthComponent = entityView.healthComponent;

            if (healthComponent.maxHealth > healthComponent.currentHealth + bonusHealth.amount)
            {
                healthComponent.currentHealth += bonusHealth.amount;
            }
            else
            {
                healthComponent.currentHealth = healthComponent.maxHealth;
            }
        }
コード例 #9
0
        BonusInfo?GetBonusInfo(List <int> map_data)
        {
            int offset = 0;
            int ID     = GetMapInfoData(map_data, ref offset);

            if (ID != 0)
            {
                BonusInfo bi = new BonusInfo();
                bi.ID = ID;
                bi.x  = GetMapInfoData(map_data, ref offset) /* * 8 - 4*/;
                bi.y  = GetMapInfoData(map_data, ref offset) /* * 8 - 4*/;
                return(bi);
            }
            return(null);
        }
コード例 #10
0
ファイル: Bonuses.cs プロジェクト: CallumD21/SpaceInvaders
 private void Start()
 {
     bonusInfo = FindObjectOfType <BonusInfo>();
     //Loop throught the buttons
     for (int i = 0; i < buttons.Length; i++)
     {
         //If the ship is unlocked then the button should be interactable
         //If the ship is locked it shouldnt be interactable
         buttons[i].interactable = bonusInfo.GetUnlocked(i);
         //If the ship is unlocked then unlock its button
         if (bonusInfo.GetUnlocked(i))
         {
             UnlockButton(i);
         }
     }
 }
コード例 #11
0
ファイル: BonusService.cs プロジェクト: giagiigi/ChemCloud
        public void Update(BonusInfo model)
        {
            BonusInfo style = context.BonusInfo.FindById <BonusInfo>(model.Id);

            style.Style         = model.Style;
            style.Name          = model.Name;
            style.MerchantsName = model.MerchantsName;
            style.Remark        = model.Remark;
            style.Blessing      = model.Blessing;
            style.StartTime     = model.StartTime;
            style.EndTime       = model.EndTime;
            style.ImagePath     = model.ImagePath;
            style.Description   = model.Description;
            context.Configuration.ValidateOnSaveEnabled = false;
            context.SaveChanges();
            context.Configuration.ValidateOnSaveEnabled = true;
        }
コード例 #12
0
        void UpdateAmmo(BonusInfo ammoBonus)
        {
            var hudEntityViews = entityViewsDB.QueryEntityViews <HUDEntityView>();

            for (int i = 0; i < hudEntityViews.Count; i++)
            {
                var bulletComponent = hudEntityViews[i].bulletCountComponent;
                if (bulletComponent.magazineCount > bulletComponent.currentCount + ammoBonus.amount)
                {
                    bulletComponent.currentCount = ammoBonus.amount;
                }
                else
                {
                    bulletComponent.currentCount = bulletComponent.magazineCount;
                }
            }
        }
コード例 #13
0
        public void Add(BonusInfo model, string receiveurl)
        {
            model.EndTime      = model.EndTime.AddHours(23).AddMinutes(59).AddSeconds(59);
            model.IsInvalid    = false;
            model.ReceiveCount = 0;
            model.QRPath       = "";
            model.ReceiveHref  = "";
            model = Context.BonusInfo.Add(model);
            Context.Configuration.ValidateOnSaveEnabled = false;
            Context.SaveChanges();

            model.ReceiveHref = receiveurl + model.Id;
            string path = GenerateQR(model.ReceiveHref);

            model.QRPath = path;
            Context.SaveChanges();
            Context.Configuration.ValidateOnSaveEnabled = true;
            Task.Factory.StartNew(() => GenerateBonusDetail(model));
        }
コード例 #14
0
        private static void SetDefaultBonusSteps(BonusInfo bonusInfo)
        {
            switch (bonusInfo.Type)
            {
            case BonusType.Nitro:
                bonusInfo.Steps = GameParams.MinBonusDuration;
                break;

            case BonusType.Slowdown:
                bonusInfo.Steps = GameParams.MaxBonusDuration;
                break;

            case BonusType.Saw:
                bonusInfo.Steps = 0;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #15
0
        public void Update(BonusInfo model)
        {
            BonusInfo info = Context.BonusInfo.FindById(model.Id);

            info.Style         = model.Style;
            info.Name          = model.Name;
            info.MerchantsName = model.MerchantsName;
            info.Remark        = model.Remark;
            info.Blessing      = model.Blessing;
            info.StartTime     = model.StartTime;
            info.EndTime       = model.EndTime;
            info.ImagePath     = model.ImagePath;
            info.Description   = model.Description;
            info.IsAttention   = model.IsAttention;
            info.IsGuideShare  = model.IsGuideShare;
            info.ReceiveCount  = model.ReceiveCount;
            Context.Configuration.ValidateOnSaveEnabled = false;
            Context.SaveChanges();
            Context.Configuration.ValidateOnSaveEnabled = true;
        }
コード例 #16
0
ファイル: BonusService.cs プロジェクト: giagiigi/ChemCloud
        public void Add(BonusInfo model, string receiveurl)
        {
            BonusInfo bonusInfo  = model;
            BonusInfo bonusInfo1 = bonusInfo;
            DateTime  endTime    = bonusInfo.EndTime;
            DateTime  dateTime   = endTime.AddHours(23).AddMinutes(59);

            bonusInfo1.EndTime     = dateTime.AddSeconds(59);
            bonusInfo.IsInvalid    = false;
            bonusInfo.ReceiveCount = 0;
            bonusInfo.QRPath       = "";
            bonusInfo.ReceiveHref  = "";
            bonusInfo = context.BonusInfo.Add(bonusInfo);
            context.Configuration.ValidateOnSaveEnabled = false;
            context.SaveChanges();
            bonusInfo.ReceiveHref = string.Concat(receiveurl, bonusInfo.Id);
            bonusInfo.QRPath      = GenerateQR(bonusInfo.ReceiveHref);
            context.SaveChanges();
            context.Configuration.ValidateOnSaveEnabled = true;
            Task.Factory.StartNew(() => GenerateBonusDetail(bonusInfo));
        }
コード例 #17
0
    //생성할 element 생성및 정보설정
    void CreateEleInfo(Infos_Shop shopinfo, STOREMODE_TYPE _storemode)
    {
        UIItem_StoreElement storeEle = null;

        //패키지 ,스폐셜 상품 예외처리
        if (_storemode == STOREMODE_TYPE.Package || _storemode == STOREMODE_TYPE.Special)
        {
            storeEle = UI_Manager.Getsingleton.CreatUI(UIITEM.ITEM_STOREPACKAGEELEMENT, Tr_Content) as UIItem_StoreElement;

            BonusInfo bouns = new BonusInfo(0, 0, (int)shopinfo.BnsItNum, (ITEMTYPE)shopinfo.BnsItTp, (int)shopinfo.BnsIdx);
            storeEle.Set_info(shopinfo, bouns, _storemode);
            Lst_storePackageElemnet.Add(storeEle);
        }
        else
        {
            storeEle = UI_Manager.Getsingleton.CreatUI(UIITEM.ITEM_STOREELEMENT, Tr_Content) as UIItem_StoreElement;

            BonusInfo bouns = new BonusInfo(0, 0, (int)shopinfo.BnsItNum, (ITEMTYPE)shopinfo.BnsItTp, (int)shopinfo.BnsIdx);
            storeEle.Set_info(shopinfo, bouns, _storemode);
            Lst_storeElement.Add(storeEle);
        }
    }
コード例 #18
0
ファイル: BonusService.cs プロジェクト: giagiigi/ChemCloud
        public string Receive(string openId)
        {
            if ((
                    from p in context.OpenIdsInfo
                    where p.OpenId == openId
                    select p).Count() > 0)
            {
                return(null);
            }
            IQueryable <BonusReceiveInfo> bonusReceiveInfo =
                from p in context.BonusReceiveInfo
                where (int)p.ChemCloud_Bonus.Type == 2 && !p.ChemCloud_Bonus.IsInvalid && (p.ChemCloud_Bonus.EndTime >= DateTime.Now) && (p.ChemCloud_Bonus.StartTime <= DateTime.Now) && string.IsNullOrEmpty(p.OpenId) && !p.IsTransformedDeposit
                select p;
            BonusReceiveInfo nullable = bonusReceiveInfo.FirstOrDefault();

            if (nullable == null)
            {
                return(null);
            }
            BonusInfo himallBonus = nullable.ChemCloud_Bonus;

            himallBonus.ReceiveCount = himallBonus.ReceiveCount + 1;
            BonusInfo receivePrice = nullable.ChemCloud_Bonus;

            receivePrice.ReceivePrice     = receivePrice.ReceivePrice + nullable.Price;
            nullable.OpenId               = openId;
            nullable.ReceiveTime          = new DateTime?(DateTime.Now);
            nullable.IsTransformedDeposit = false;
            context.Configuration.ValidateOnSaveEnabled = false;
            context.SaveChanges();
            context.Configuration.ValidateOnSaveEnabled = true;
            string str = string.Concat("http://", WebHelper.GetHost(), "/userCenter");

            Task.Factory.StartNew(() => {
                DepositToMember(openId, nullable.Price);
                GetSuccessSendWXMessage(nullable, openId, str);
            });
            return("");
        }
コード例 #19
0
        public void Update(BonusInfo model)
        {
            BonusInfo info = DbFactory.Default.Get <BonusInfo>().Where(p => p.Id == model.Id).FirstOrDefault();

            if (null == info)
            {
                return;
            }
            info.Style         = model.Style;
            info.Name          = model.Name;
            info.MerchantsName = model.MerchantsName;
            info.Remark        = model.Remark;
            info.Blessing      = model.Blessing;
            info.StartTime     = model.StartTime;
            info.EndTime       = (model.EndTime == null ? model.EndTime : DateTime.Parse(model.EndTime.ToString("yyyy-MM-dd") + " 23:59:59"));
            info.ImagePath     = model.ImagePath;
            info.Description   = model.Description;
            info.IsAttention   = model.IsAttention;
            info.IsGuideShare  = model.IsGuideShare;
            //info.ReceiveCount = model.ReceiveCount;
            DbFactory.Default.Update(info);
        }
コード例 #20
0
 public BonusModel(BonusInfo m)
 {
     Id                = m.Id;
     Type              = m.Type;
     Style             = m.Style;
     PriceType         = m.PriceType.Value;
     Name              = m.Name;
     MerchantsName     = m.MerchantsName;
     Remark            = m.Remark;
     Blessing          = m.Blessing;
     TotalPrice        = m.TotalPrice;
     StartTime         = m.StartTime;
     EndTime           = m.EndTime;
     FixedAmount       = m.FixedAmount.Value;
     RandomAmountStart = m.RandomAmountStart.Value;
     RandomAmountEnd   = m.RandomAmountEnd.Value;
     ImagePath         = m.ImagePath;
     Description       = m.Description;
     ReceiveCount      = m.ReceiveCount;
     ReceivePrice      = m.ReceivePrice;
     ReceiveHref       = m.ReceiveHref;
     QRPath            = m.QRPath;
     IsInvalid         = m.IsInvalid;
 }
コード例 #21
0
 void OnHealthBonusEvent(BonusInfo healthBonus)
 {
     UpdateSlider(healthBonus);
 }
コード例 #22
0
 /// <summary>
 ///  添加红包
 /// </summary>
 public static void Add(BonusInfo model, string baseAddress)
 {
     _iBonusService.Add(model, baseAddress);
 }
コード例 #23
0
        /// <summary>
        /// 生成红包详情
        /// </summary>
        private void GenerateBonusDetail(BonusInfo model)
        {
            GenerateDetailContext Generate = new GenerateDetailContext(model);

            Generate.Generate();
        }
コード例 #24
0
ファイル: Match3.cs プロジェクト: TomasKimer/Match3-framework
        /// <summary>
        /// Generates the random item ID and bonus info.
        /// </summary>
        /// <param name="minType">Minimum item ID.</param>
        /// <param name="maxType">Maximum item ID.</param>
        /// <param name="bonusProbability">Probability of the bonus.</param>
        public void GenerateNew(int min, int max, float bonusProbability = 0.02f)
        {
            type = Random.Range(min, max);

            isBonus = Random.value > (1.0f - bonusProbability);
            if (isBonus) {
                bonusInfo = new BonusInfo(BonusInfo.BonusShape.Cross, 3, 3); // 3 from each side (12 in total)
            }
        }
コード例 #25
0
ファイル: BonusController.cs プロジェクト: giagiigi/ChemCloud
        public ActionResult Index(long id)
        {
            ActionResult actionResult;

            if (base.PlatformType != ChemCloud.Core.PlatformType.WeiXin)
            {
                return(base.Content("只能在微信端访问"));
            }
            BonusInfo bonusInfo = _bonusService.Get(id);

            if (bonusInfo == null)
            {
                return(Redirect("/m-weixin/Bonus/Invalidtwo"));
            }
            BonusModel             bonusModel  = new BonusModel(bonusInfo);
            string                 item        = base.HttpContext.Request["code"];
            OAuthAccessTokenResult accessToken = null;

            if (string.IsNullOrEmpty(item))
            {
                string absoluteUri  = base.Request.Url.AbsoluteUri;
                string authorizeUrl = OAuthApi.GetAuthorizeUrl(_siteSetting.WeixinAppId.Trim(), absoluteUri, "123321#wechat_redirect", OAuthScope.snsapi_base, "code");
                return(Redirect(authorizeUrl));
            }
            try
            {
                accessToken = OAuthApi.GetAccessToken(_siteSetting.WeixinAppId.Trim(), _siteSetting.WeixinAppSecret.Trim(), item, "authorization_code");
            }
            catch (Exception exception1)
            {
                Exception exception = exception1;
                actionResult = base.Content(((exception.InnerException == null ? exception : exception.InnerException)).Message);
                return(actionResult);
            }
            if (bonusModel.Type == BonusInfo.BonusType.Attention)
            {
                throw new Exception("红包异常");
            }
            if (bonusModel.EndTime <= DateTime.Now || bonusModel.IsInvalid)
            {
                return(Redirect(string.Concat("/m-weixin/Bonus/Invalid/", bonusModel.Id)));
            }
            if (bonusModel.StartTime > DateTime.Now)
            {
                object[] objArray = new object[] { "/m-weixin/Bonus/NotStart/", bonusModel.Id, "?openId=", accessToken.openid };
                return(Redirect(string.Concat(objArray)));
            }
            IWXApiService wXApiService = ServiceHelper.Create <IWXApiService>();
            string        ticket       = wXApiService.GetTicket(_siteSetting.WeixinAppId, _siteSetting.WeixinAppSecret);
            JSSDKHelper   jSSDKHelper  = new JSSDKHelper();
            string        timestamp    = JSSDKHelper.GetTimestamp();
            string        noncestr     = JSSDKHelper.GetNoncestr();
            string        signature    = jSSDKHelper.GetSignature(ticket, noncestr, timestamp, base.Request.Url.AbsoluteUri);

            ViewBag.Timestamp    = timestamp;
            ViewBag.NonceStr     = noncestr;
            ViewBag.Signature    = signature;
            ViewBag.AppId        = _siteSetting.WeixinAppId;
            ViewBag.OpenId       = accessToken.openid;
            bonusModel.ImagePath = string.Concat("http://", base.Request.Url.Host.ToString(), bonusModel.ImagePath);
            return(View(bonusModel));
        }
コード例 #26
0
ファイル: BonusService.cs プロジェクト: giagiigi/ChemCloud
 private void GenerateBonusDetail(BonusInfo model)
 {
     (new GenerateDetailContext(model)).Generate();
 }
コード例 #27
0
 private void OKButton_Click(object sender, RoutedEventArgs e)
 {
     BonusInfo bonus = new BonusInfo();
     bonus.BackPct = sliderBonus.Value;
     bonus.PlayTypeID = PlayTypeID;
     bonus.UserID = App.Session[Constant.USERNAME_SESSION].ToString();
     bonus.LotteryTypeID = (int)lotteryType;
     bonus.PlayTypeRadioID = MainPage.playTypeRadio;
     if (bonus.BackPct == BonusPct)
     { }
     else
     {
         gridMain.Visibility = Visibility.Collapsed;
         gridLoading.Visibility = Visibility.Visible;
         srv.UpdateBonusAsync(bonus);
         srv.UpdateBonusCompleted += new EventHandler<UpdateBonusCompletedEventArgs>(srv_UpdateBonusCompleted);
     }
     //this.DialogResult = true;
 }
コード例 #28
0
 /// <summary>
 ///  修改红包
 /// </summary>
 public static void Update(BonusInfo model)
 {
     _iBonusService.Update(model);
 }
コード例 #29
0
ファイル: BonusService.cs プロジェクト: giagiigi/ChemCloud
        public object Receive(long id, string openId)
        {
            if (!IsAttention(openId))
            {
                ReceiveModel receiveModel = new ReceiveModel()
                {
                    State = ReceiveStatus.NotAttention,
                    Price = new decimal(0)
                };
                return(receiveModel);
            }
            IQueryable <BonusReceiveInfo> bonusReceiveInfo =
                from p in context.BonusReceiveInfo
                where (p.OpenId == openId) && p.BonusId == id
                select p;
            int  num  = bonusReceiveInfo.Count();
            bool flag = (
                from p in bonusReceiveInfo
                where p.IsShare == true
                select p).Count() != 0;

            if (num > 0 && (!flag && num == 1 || num == 2))
            {
                ReceiveModel receiveModel1 = new ReceiveModel()
                {
                    State = ReceiveStatus.Receive,
                    Price = new decimal(0)
                };
                return(receiveModel1);
            }
            IQueryable <BonusReceiveInfo> bonusReceiveInfos =
                from p in context.BonusReceiveInfo
                where p.BonusId == id && string.IsNullOrEmpty(p.OpenId)
                select p;
            BonusReceiveInfo nullable = bonusReceiveInfos.FirstOrDefault();

            if (nullable == null)
            {
                ReceiveModel receiveModel2 = new ReceiveModel()
                {
                    State = ReceiveStatus.HaveNot,
                    Price = new decimal(0)
                };
                return(receiveModel2);
            }
            if (nullable.ChemCloud_Bonus.IsInvalid)
            {
                ReceiveModel receiveModel3 = new ReceiveModel()
                {
                    State = ReceiveStatus.Invalid,
                    Price = new decimal(0)
                };
                return(receiveModel3);
            }
            BonusInfo himallBonus = nullable.ChemCloud_Bonus;

            himallBonus.ReceiveCount = himallBonus.ReceiveCount + 1;
            BonusInfo receivePrice = nullable.ChemCloud_Bonus;

            receivePrice.ReceivePrice     = receivePrice.ReceivePrice + nullable.Price;
            nullable.OpenId               = openId;
            nullable.ReceiveTime          = new DateTime?(DateTime.Now);
            nullable.IsTransformedDeposit = false;
            context.Configuration.ValidateOnSaveEnabled = false;
            context.SaveChanges();
            context.Configuration.ValidateOnSaveEnabled = true;
            string str = string.Concat("http://", WebHelper.GetHost(), "/userCenter");

            Task.Factory.StartNew(() => {
                Instance <IWXApiService> .Create.Subscribe(openId);
                DepositToMember(openId, nullable.Price);
                GetSuccessSendWXMessage(nullable, openId, str);
            });
            ReceiveModel receiveModel4 = new ReceiveModel()
            {
                State = ReceiveStatus.CanReceive,
                Price = nullable.Price
            };

            return(receiveModel4);
        }
コード例 #30
0
ファイル: BonusManager.cs プロジェクト: VictorTverdy/Poker
    private void LoadInfo()
    {
        TextAsset targetFile = Resources.Load <TextAsset>("BonusInfo");

        InfoBonus = JsonUtility.FromJson <BonusInfo>(targetFile.text);
    }
コード例 #31
0
        public ActionResult Add(long id, long userId)
        {
            WeiActivityModel activityModel = WeiActivityApplication.GetActivityModel(id);

            this.activityWinModel = new WeiActivityWinModel();
            int num = new Random().Next(1, 100);

            this.activityWinModel.activityId = id;
            this.activityWinModel.addDate    = DateTime.Now;
            this.activityWinModel.userId     = userId;
            this.activityWinModel.integrals  = activityModel.consumePoint;
            this.activityWinModel.isWin      = false;
            this.activityWinModel.awardId    = 0L;
            this.activityWinModel.awardName  = "未中奖";
            foreach (WeiActivityAwardModel model2 in activityModel.awards)
            {
                if (num <= this.GetCount(activityModel.Id, model2.Id))
                {
                    this.activityWinModel.isWin = true;
                    if (model2.awardType == WeiActivityAwardType.Integral)
                    {
                        this.activityWinModel.awardName = model2.integral.ToString();
                        this.activityWinModel.awardId   = model2.Id;
                        this.activityWinModel.awardType = model2.awardType;
                        break;
                    }
                    if (model2.awardType == WeiActivityAwardType.Bonus)
                    {
                        BonusInfo info = this._iBonusService.Get(model2.bonusId);
                        if (info == null)
                        {
                            this.activityWinModel.isWin = false;
                        }
                        else
                        {
                            string bonusSurplus = this._iBonusService.GetBonusSurplus(model2.bonusId);
                            if (info.IsInvalid)
                            {
                                this.activityWinModel.isWin = false;
                            }
                            else if (Convert.ToInt32(bonusSurplus) <= 0)
                            {
                                this.activityWinModel.isWin = false;
                            }
                            else
                            {
                                this.activityWinModel.awardName = info.Name;
                                this.activityWinModel.awardId   = model2.Id;
                                this.activityWinModel.awardType = model2.awardType;
                                this.activityWinModel.bonusId   = model2.bonusId;
                            }
                        }
                        break;
                    }
                    if (model2.awardType == WeiActivityAwardType.Coupon)
                    {
                        CouponModel model3 = CouponApplication.Get(model2.couponId);
                        if (model3 == null)
                        {
                            this.activityWinModel.isWin = false;
                        }
                        else
                        {
                            int num2 = WeiActivityWinApplication.GetCouPonMax(this.activityWinModel.userId, this.activityWinModel.activityId, model2.Id);
                            if (model3.Num <= 0)
                            {
                                this.activityWinModel.isWin = false;
                            }
                            else if ((model3.perMax != 0) && (num2 >= model3.perMax))
                            {
                                this.activityWinModel.isWin = false;
                            }
                            else if (model3.EndTime < DateTime.Now)
                            {
                                this.activityWinModel.isWin = false;
                            }
                            else
                            {
                                string couponName = model3.CouponName;
                                if (model3.ShopName != "")
                                {
                                    couponName = couponName + "(" + model3.ShopName + ")";
                                }
                                if (model3.OrderAmount != "")
                                {
                                    couponName = couponName + "(" + model3.OrderAmount + ")";
                                }
                                this.activityWinModel.awardName = couponName;
                                this.activityWinModel.awardId   = model2.Id;
                                this.activityWinModel.awardType = model2.awardType;
                                this.activityWinModel.couponId  = model2.couponId;
                            }
                        }
                        break;
                    }
                }
            }
            WeiActivityWinApplication.WinnerSubmit(this.activityWinModel);
            decimal receivePriceByUserId = 0M;

            if (this.activityWinModel.bonusId > 0L)
            {
                receivePriceByUserId = this._iBonusService.GetReceivePriceByUserId(this.activityWinModel.bonusId, userId);
            }
            BaseController.Result data = new BaseController.Result
            {
                success = true,
                msg     = this.activityWinModel.awardId.ToString() + "," + receivePriceByUserId.ToString()
            };
            return(base.Json(data));
        }
コード例 #32
0
 void OnAmmoBonusEvent(BonusInfo ammoBonus)
 {
     UpdateAmmo(ammoBonus);
 }