Beispiel #1
0
        public static void Show(StockItemHeader stockItemHeader, string referrer)
        {
            StickersPackView stickersPackView = new StickersPackView();

            stickersPackView.Init(stockItemHeader, referrer);
            DialogService dialogService = new DialogService();

            dialogService.AnimationType      = DialogService.AnimationTypes.None;
            dialogService.AnimationTypeChild = DialogService.AnimationTypes.None;
            SolidColorBrush solidColorBrush = new SolidColorBrush(Colors.Transparent);

            dialogService.BackgroundBrush = (Brush)solidColorBrush;
            int num1 = 0;

            dialogService.IsOverlayApplied = num1 != 0;
            int num2 = 0;

            dialogService.HideOnNavigation = num2 != 0;
            Action <Action> action = (Action <Action>)(callback => stickersPackView.AnimateHide(false, callback));

            dialogService.OnClosingAction    = action;
            StickersPackView._flyout         = dialogService;
            StickersPackView._flyout.Opened += (EventHandler)((sender, args) =>
            {
                stickersPackView.AnimateShow();
                EventAggregator.Current.Publish(new StickersPurchaseFunnelEvent(StickersPurchaseFunnelAction.sticker_page));
            });
            StickersPackView._flyout.Child = (FrameworkElement)stickersPackView;
            StickersPackView._flyout.Show(null);
        }
Beispiel #2
0
        private static void ShowWithLoader(string referrer, Action <Action <BackendResult <StockItem, ResultCode> >, CancellationToken> loadAction, long userOrChatId = 0, bool isChat = false)
        {
            CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
            FullscreenLoader        fullscreenLoader        = new FullscreenLoader();

            fullscreenLoader.HideOnBackKeyPress = true;
            Action <FullscreenLoaderHiddenEventArgs> action = (Action <FullscreenLoaderHiddenEventArgs>)(args => cancellationTokenSource.Cancel());

            fullscreenLoader.HiddenCallback = action;
            FullscreenLoader loader = fullscreenLoader;

            loader.Show(null, true);
            loadAction((Action <BackendResult <StockItem, ResultCode> >)(result =>
            {
                loader.Hide(false);
                if (result.ResultCode == ResultCode.Succeeded)
                {
                    Execute.ExecuteOnUIThread((Action)(() => StickersPackView.Show(result.ResultData, referrer, userOrChatId, isChat)));
                }
                else
                {
                    GenericInfoUC.ShowBasedOnResult((int)result.ResultCode, "", (VKRequestsDispatcher.Error)null);
                }
            }), cancellationTokenSource.Token);
        }
        private void OnTap(object sender, System.Windows.Input.GestureEventArgs e)
        {
            StockItemHeader dataContext = base.DataContext as StockItemHeader;

            if (dataContext == null)
            {
                return;
            }
            CurrentStickersPurchaseFunnelSource.Source = StickersPurchaseFunnelSource.keyboard;
            StickersPackView.Show(dataContext, "store");
        }
Beispiel #4
0
        private void OnTap(object sender, GestureEventArgs e)
        {
            StockItemHeader stockItemHeader = this.DataContext as StockItemHeader;

            if (stockItemHeader == null)
            {
                return;
            }
            CurrentStickersPurchaseFunnelSource.Source = StickersPurchaseFunnelSource.keyboard;
            StickersPackView.Show(stockItemHeader, "store");
        }
        private void StoreBanner_OnTap(object sender, System.Windows.Input.GestureEventArgs e)
        {
            StoreBannerHeader dataContext = ((FrameworkElement)sender).DataContext as StoreBannerHeader;

            if (dataContext == null)
            {
                return;
            }
            CurrentStickersPurchaseFunnelSource.Source = StickersPurchaseFunnelSource.banner;
            StickersPackView.Show(new StockItemHeader(dataContext.StockItem, false, 0, false), "store");
        }
        private void StoreBanner_OnTap(object sender, GestureEventArgs e)
        {
            StoreBannerHeader storeBannerHeader = ((FrameworkElement)sender).DataContext as StoreBannerHeader;

            if (storeBannerHeader == null)
            {
                return;
            }
            CurrentStickersPurchaseFunnelSource.Source = StickersPurchaseFunnelSource.banner;
            StickersPackView.Show(storeBannerHeader.StockItem, "store");
        }
Beispiel #7
0
 public static void ShowAndReloadStickers(long stickerId, string referrer)
 {
     StickersPackView.ShowWithLoader(referrer, (Action <Action <BackendResult <StockItem, ResultCode> >, CancellationToken>)((callback, cancellationToken) => StoreService.Instance.GetStockItemByStickerId(stickerId, (Action <BackendResult <StockItem, ResultCode> >)(result =>
     {
         if (result.ResultCode == ResultCode.Succeeded)
         {
             StockItem resultData      = result.ResultData;
             StoreProduct storeProduct = resultData != null ? resultData.product :  null;
             if (storeProduct != null && storeProduct.purchased == 1 && storeProduct.active == 1)
             {
                 EventAggregator.Current.Publish(new StickersUpdatedEvent(new StockItemHeader(resultData, false, 0, false)));
             }
         }
         Action <BackendResult <StockItem, ResultCode> > action = callback;
         if (action == null)
         {
             return;
         }
         BackendResult <StockItem, ResultCode> backendResult = result;
         action(backendResult);
     }), new CancellationToken?(cancellationToken))), 0, false);
 }
Beispiel #8
0
 public static void Show(StockItem stockItem, string referrer, long userOrChatId = 0, bool isChat = false)
 {
     StickersPackView.Show(new StockItemHeader(stockItem, false, userOrChatId, isChat), referrer);
 }
Beispiel #9
0
 public static void Show(string stickersPackName, string referrer)
 {
     StickersPackView.ShowWithLoader(referrer, (Action <Action <BackendResult <StockItem, ResultCode> >, CancellationToken>)((callback, cancellationToken) => StoreService.Instance.GetStockItemByName(stickersPackName, callback, new CancellationToken?(cancellationToken))), 0, false);
 }
Beispiel #10
0
 public static void Show(StockItem stockItem, string referrer)
 {
     StickersPackView.Show(new StockItemHeader(stockItem, false), referrer);
 }