public async Task <IActionResult> Create(CurrencyBundle currencyBundle) { if (ModelState.IsValid) { _db.CurrencyBundleDb.Add(currencyBundle); await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(currencyBundle)); }
public override void Initialize(CollectionItemSelectionHandler collectionItemSelectionHandler, CollectionPurchaseController purchaseController) { _purchaseController = purchaseController; var idx = 0; foreach (var itemId in _itemIds) { var collectionItem = _collectionItems[idx++]; var item = _itemManager.GetItemById <IItem>(itemId); collectionItem.Initialize(item, true, new ReactiveProperty <string>(item.Name)); collectionItemSelectionHandler.RegisterItemSelector(collectionItem); } _product = new Product(_productId, int.MaxValue, $"currency_random_{_productId}"); var payment = new LeveledCurrencyPayment($"payment_{name}", _currency, _currencyManager, _leveledPrices.ToArray()); var acquisition = new LumpSum(); var bundle = new PickUpBundle(_itemIds.Select(id => (id, 1, 1)).ToList(), _inventory, _itemManager); _product.SetPayment(payment) .SetAcquisition(acquisition) .SetBundle(bundle); payment.Price.Subscribe(price => _priceText.text = price.ToString()); _progressPurchaseButton.gameObject.SetActive(skinManager.CheckPurchaseButtons()); _rewardButton.gameObject.SetActive(skinManager.CheckPurchaseButtons()); bundle.OnUnboxed += (result) => { FireBase.Instance.UseCoin(result.Picked.Item1, payment.Price.Value); FireBase.Instance.Skin(result.Picked.Item1, payment.Price.Value, 0, 0); CoinManager.Instance.InitCoinText(); _progressPurchaseButton.gameObject.SetActive(skinManager.CheckPurchaseButtons()); _rewardButton.gameObject.SetActive(skinManager.CheckPurchaseButtons()); }; _rewardProduct = new Product(_rewardProductId, int.MaxValue, $"currency_reward_{_rewardProductId}"); var rewardPayment = new RewardedAdPayment("rewarded", _adsManager); var rewardAcquisition = new LumpSum(); var rewardBundle = new CurrencyBundle($"currency_reward_{_rewardProductId}", _currency, _rewardAmount, _currencyManager); _rewardProduct.SetPayment(rewardPayment) .SetAcquisition(rewardAcquisition) .SetBundle(rewardBundle); if (_rewardButton != null) { _rewardButton.onClick.AddListener(() => _purchaseController.ProgressPurchase(_rewardProduct)); } }