Пример #1
0
        protected virtual IEnumerable <SpecialOffer_ReadListOutput> ReadList()
        {
            ISpecialOfferService svcSpecialOffer = DI.Resolve <ISpecialOfferService>();
            IEnumerable <SpecialOffer_ReadListOutput> outReadList = svcSpecialOffer.ReadList();

            if (svcSpecialOffer is IDisposable)
            {
                ((IDisposable)svcSpecialOffer).Dispose();
            }
            return(outReadList);
        }
 public AbstractSpecialOfferController(
     ApiSettings settings,
     ILogger <AbstractSpecialOfferController> logger,
     ITransactionCoordinator transactionCoordinator,
     ISpecialOfferService specialOfferService,
     IApiSpecialOfferModelMapper specialOfferModelMapper
     )
     : base(settings, logger, transactionCoordinator)
 {
     this.SpecialOfferService     = specialOfferService;
     this.SpecialOfferModelMapper = specialOfferModelMapper;
 }
        public void Setup()
        {
            var specialOfferRepository = new SpecialOfferRepository();
            var discountRepository     = new DiscountRepository();

            _discountService     = new DiscountService(discountRepository);
            _specialOfferService = new SpecialOfferService(specialOfferRepository);

            _shelfItemRepository = new ShelfItemRepository();

            _basketService = new BasketService(_discountService, _specialOfferService);
        }
Пример #4
0
        private void UpdateExpire()
        {
            ISpecialOfferService service = Services.GetService <ISpecialOfferService>();
            TimeSpan             ts      = TimeSpan.FromSeconds(service.ExpireInterval);

            expireText.text = $"{ts.Minutes.ToString("00")}:{ts.Seconds.ToString("00")}";

            if (service.IsExpired)
            {
                button.SetInteractableWithShader(false);
            }
            else
            {
                button.SetInteractableWithShader(true);
            }
        }
Пример #5
0
 public SpecialOfferController(
     ApiSettings settings,
     ILogger <SpecialOfferController> logger,
     ITransactionCoordinator transactionCoordinator,
     ISpecialOfferService specialOfferService,
     IApiSpecialOfferModelMapper specialOfferModelMapper
     )
     : base(settings,
            logger,
            transactionCoordinator,
            specialOfferService,
            specialOfferModelMapper)
 {
     this.BulkInsertLimit = 250;
     this.MaxLimit        = 1000;
     this.DefaultLimit    = 250;
 }
Пример #6
0
        private void UpdateAvailable()
        {
            ISpecialOfferService specialOfferService = Services.GetService <ISpecialOfferService>();

            if (specialOfferService.IsExpired || specialOfferService.IsCompleted)
            {
                expireText.Deactivate();
                buyButton.SetInteractableWithShader(false);
            }
            else
            {
                expireText.Activate();
                TimeSpan timeSpan   = TimeSpan.FromSeconds(specialOfferService.ExpireInterval);
                string   timeString = timeSpan.Minutes.ToString("00") + ":" + timeSpan.Seconds.ToString("00");
                expireText.text = string.Format(LocalizationObj.GetString("fmt_offer_expire"), timeString).ToUpper();
                buyButton.SetInteractableWithShader(true);
            }
        }
Пример #7
0
        public override void Setup(ViewData data)
        {
            base.Setup(data);

            ISpecialOfferService specialOfferService = Services.GetService <ISpecialOfferService>();

            playerCashRewardCountText.text = "$" + BosUtils.GetCurrencyString(specialOfferService.PlayerCashReward.ToCurrencyNumber(), string.Empty, string.Empty);
            playerCashMaxBalanceText.text  = MaxBalanceFormattedString(specialOfferService.MaxBalanceBonus);
            coinsRewardText.text           = string.Format(LocalizationObj.GetString("fmt_coins_2"), specialOfferService.CoinsReward);
            companyCashRewardText.text     = "$" + BosUtils.GetCurrencyString(specialOfferService.ComplanyCashReward.ToCurrencyNumber(), string.Empty, string.Empty);
            companyCashMaxBalanceText.text = MaxBalanceFormattedString(specialOfferService.MaxBalanceBonus);
            UpdateAvailable();
            Observable.Interval(TimeSpan.FromSeconds(1)).Subscribe(_ => {
                UpdateAvailable();
                UpdateParticles();
            }).AddTo(gameObject);



            buyButton.SetListener(() => {
                buyButton.SetInteractableWithShader(false);
                specialOfferService.BuyOffer();
            });

            closeButton.SetListener(() => {
                Sounds.PlayOneShot(SoundName.click);
                ViewService.Remove(ViewType.SpecialOfferView, BosUISettings.Instance.ViewCloseDelay);
            });

            var    planetNameData = ResourceService.PlanetNameRepository.GetPlanetNameData(Planets.CurrentPlanetId.Id);
            string planetName     = LocalizationObj.GetString(planetNameData.name);

            welcomText.text = string.Format(LocalizationObj.GetString("fmt_welcome"), planetName);
            SetPlanetSkin();
            StartCoroutine(PlusAnimatorsImpl());

            GameEvents.StoreProductPurchasedObservable.Subscribe(prod => {
                if (prod.Id == SpecialOfferService.kOfferProductId)
                {
                    closeButton.interactable = false;
                    //start emitting
                    EmitEffect(playerCashEffect, 5, playerCashEffectPoints[0], playerCashEffectPoints[1], "playercash", 0);
                    EmitEffect(companyCashEffect, 5, companyCashEffectPoints[0], companyCashEffectPoints[1], "companycash", 1);
                    EmitEffect(coinsEffect, 5, coinsEffectPoints[0], coinsEffectPoints[1], "coins", 2);
                }
            }).AddTo(gameObject);
            UpdateParticles();

            try {
                //IAPManager iapManager = FindObjectOfType<IAPManager>();
                Services.Inap.GetProductByResourceId(SpecialOfferService.kOfferProductId).Match(() => {
                    priceText.text = string.Empty;
                    return(F.None);
                }, (prod) => {
                    priceText.text = prod.metadata.localizedPriceString;
                    return(F.Some(prod));
                });
            } catch (Exception exception) {
                Debug.Log(exception.Message);
                Debug.Log(exception.StackTrace);
            }
        }
Пример #8
0
 public SpecialOfferController(ErrorList errorList, ErrorParser errorParser, ISpecialOfferService service)
 {
     currentErrors = errorList;
     errorsParser  = errorParser;
     svc           = service;
 }
Пример #9
0
 public SpecialOfferController()
 {
     _ISpecialOfferService = new SpecialOfferService();
     _IDataManipulation    = new DataManipulation();
 }
Пример #10
0
 public Checkout(ISpecialOfferService specialOfferService, IItemService itemService)
 {
     _itemService   = itemService;
     _specialOffers = specialOfferService.GetSpecialOffers();
     _items         = new List <Item>();
 }
 public SpecialOfferController(ErrorList errorList, ErrorParser errorParser, ISpecialOfferService service)
     : base(errorList, errorParser)
 {
     svc = service;
 }
 public SpecialOfferController(ISpecialOfferService spf)
 {
     this.specialOfferService = spf;
 }
Пример #13
0
 public BasketService(IDiscountService discountService, ISpecialOfferService specialOfferService)
 {
     _discountService     = discountService;
     _specialOfferService = specialOfferService;
     _basketItems         = new List <BasketItem>();
 }