internal static void RemoveMemory(Store objectValue)
 {
     if (DicStore.ContainsKey(objectValue.Id))
     {
         DicStore.Remove(objectValue.Id);
     }
 }
        private async void Grid_Tapped(object sender, TappedRoutedEventArgs e)
        {
            var grid = sender as Grid;

            if (grid != null)
            {
                var model = grid.DataContext as NewsModelPropertyBase;
                if (model != null)
                {
                    var animationGrid = CommonHelper.Instance.GetCurrentAnimationGrid();
                    if (animationGrid != null)
                    {
                        //if (AppEnvironment.IsPhone)
                        //{
                        //    await animationGrid.AnimateAsync(new FadeOutLeftAnimation() { Distance = 300 });
                        //}
                        //else
                        //{
                        await animationGrid.AnimateAsync(new FadeOutLeftAnimation()
                        {
                            Duration = 0.3, Distance = 400
                        });

                        //}
                    }

                    //记录当前的模型Model以便在网页成功加载后能够更改条目的标题颜色
                    DicStore.AddOrUpdateValue <NewsModelPropertyBase>(AppCommonConst.CURRENT_NEWS_MODEL, model);

                    CommonHelper.Instance.NavigateWithOverride(typeof(NewsDetailPage));

                    await animationGrid.AnimateAsync(new ResetAnimation());
                }
            }
        }
示例#3
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            var model = value as ModelPropertyBase;

            if (model != null)
            {
                if (model.playInfo.Count > 1)
                {
                    var p = from m in model.playInfo
                            where m.name == (AppEnvironment.IsWlanOrInternet ? "高清" : "标清")
                            select m;
                    var playInfo = p.FirstOrDefault() as Playinfo;
                    if (playInfo != null)
                    {
                        DicStore.AddOrUpdateValue <int>(AppCommonConst.CURRENT_VIDEO_SOLUTION_SELECTED_INDEX, model.playInfo.IndexOf(playInfo));
                        return(playInfo.url);
                    }
                    else
                    {
                        return(model.playUrl);
                    }
                }
                else
                {
                    return(model.playUrl);
                }
            }
            else
            {
                return(null);
            }
        }
 public static void ClearAllDic()
 {
     try
     {
         DicArea.Clear();
         DicConnection.Clear();
         DicConnectionStatus.Clear();
         DicConnectionType.Clear();
         DicContract.Clear();
         DicContractStatus.Clear();
         DicCustomer.Clear();
         DicCustomerFeedback.Clear();
         DicDetailImportReceipt.Clear();
         DicDevice.Clear();
         DicDeviceType.Clear();
         DicEmployee.Clear();
         DicFee.Clear();
         DicImage.Clear();
         DicImportReceipt.Clear();
         DicManufacturer.Clear();
         DicPayment.Clear();
         DicPaymentFee.Clear();
         DicProvider.Clear();
         DicServiceForm.Clear();
         DicServiceFormStatus.Clear();
         DicServicePack.Clear();
         DicServicePackFee.Clear();
         DicStore.Clear();
     }
     catch (Exception ex) { LogTo.Error(ex.ToString()); }
 }
 public static void SortAllDic()
 {
     try
     {
         DicArea             = DicArea.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicConnection       = DicConnection.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicConnectionStatus = DicConnectionStatus.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicConnectionType   = DicConnectionType.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicContract         = DicContract.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicContractStatus   = DicContractStatus.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicCustomer         = DicCustomer.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicCustomerFeedback = DicCustomerFeedback.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicDevice           = DicDevice.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicDeviceType       = DicDeviceType.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicEmployee         = DicEmployee.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicFee               = DicFee.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicImage             = DicImage.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicImportReceipt     = DicImportReceipt.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicManufacturer      = DicManufacturer.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicPayment           = DicPayment.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicProvider          = DicProvider.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicServiceForm       = DicServiceForm.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicServiceFormStatus = DicServiceFormStatus.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicServicePack       = DicServicePack.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
         DicStore             = DicStore.OrderBy(x => x.Key).ToDictionary(x => x.Key, y => y.Value);
     }
     catch (Exception ex) { LogTo.Error(ex.ToString()); }
 }
示例#6
0
 private void solutionListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (this.solutionListView.SelectedIndex != -1)
     {
         DicStore.AddOrUpdateValue <int>(AppCommonConst.CURRENT_VIDEO_SOLUTION_SELECTED_INDEX, this.solutionListView.SelectedIndex);
     }
 }
示例#7
0
        private async void Grid_Tapped(object sender, TappedRoutedEventArgs e)
        {
            int currentSelectedIndex = DicStore.GetValueOrDefault <int>(AppCommonConst.CURRENT_VIDEO_SOLUTION_SELECTED_INDEX, 0);

            var pop = this.Parent as Popup;

            if (pop != null)
            {
                pop.IsOpen = false;
                pop.Child  = null;
                pop        = null;
            }

            if (previousSelectedIndex != currentSelectedIndex)
            {
                var grid = sender as Grid;
                if (grid != null)
                {
                    var model = grid.DataContext as Playinfo;
                    if (model != null)
                    {
                        mp = CommonHelper.Instance.GetCurrentPlayerFramework();

                        if (mp != null)
                        {
                            timespan = mp.Duration - mp.TimeRemaining;

                            mp.MediaQualityChanged += Mp_MediaQualityChanged;

                            mp.Source = new Uri(await CommonHelper.Instance.PlayUrlConverte(model.url), UriKind.RelativeOrAbsolute);
                        }
                    }
                }
            }
        }
示例#8
0
        private void CampaignWebPage_Loaded(object sender, RoutedEventArgs e)
        {
            ProgressBox.Instance.ShowProgress();

            var model = DicStore.GetValueOrDefault <ModelPropertyBase>(AppCommonConst.CURRENT_SELECTED_ITEM, null);

            if (model != null)
            {
                var url = model.webUrl.raw;
                if (Uri.IsWellFormedUriString(url, UriKind.RelativeOrAbsolute))
                {
                    this.wv.NavigationCompleted -= Wv_NavigationCompleted;
                    this.wv.NavigationCompleted += Wv_NavigationCompleted;
                    this.wv.Navigate(new Uri(url, UriKind.RelativeOrAbsolute));
                }
                else
                {
                    WPToastBox.Instance.ShowWPToastNotice(AppNetworkMessageConst.IS_WEBVIEW_NAVIAGATION_ERROR);
                }
            }
            else
            {
                WPToastBox.Instance.ShowWPToastNotice(AppNetworkMessageConst.IS_WEBVIEW_NAVIAGATION_ERROR);
            }
        }
示例#9
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            this.navigationHelper.OnNavigatedTo(e);

            //及时将当前PastCategoryDetail的请求链接置为null,以便下次访问的时候能够正确设置好请求链接
            DicStore.AddOrUpdateValue <string>(AppCommonConst.PAST_CATEGORY_DETAIL_NEXT_PAGE_URL, null);
        }
示例#10
0
        protected override async void OnUIControlBaseNeedNavigate(object sender, PointerRoutedEventArgs e)
        {
            base.OnUIControlBaseNeedNavigate(sender, e);

            var szListPC = CommonHelper.Instance.GetCurrentSemanticZoom("szListPC");

            if (szListPC != null)
            {
                if (szListPC.IsZoomedInViewActive == true)
                {
                    var control = sender as FrameworkElement;
                    if (control != null)
                    {
                        var model = control.DataContext as ModelPropertyBase;
                        if (model != null)
                        {
                            DicStore.AddOrUpdateValue <ModelPropertyBase>(AppCommonConst.CURRENT_SELECTED_ITEM, model);

                            szListPC.IsZoomedInViewActive = false;

                            ViewModelLocator.Instance.ListViewScrollHandler -= resetCoverGridState;

                            await this.coverGrid.AnimateAsync(new ResetAnimation());
                        }
                    }
                }
            }

            ViewModelLocator.Instance.ListViewScrollHandler -= resetCoverGridState;
        }
示例#11
0
        public void NewsDetailPage_Loaded(object sender, RoutedEventArgs e)
        {
            newsViewModel.IsBusy = true;

            var model = DicStore.GetValueOrDefault <NewsModelPropertyBase>(AppCommonConst.CURRENT_NEWS_MODEL, null);

            if (model != null)
            {
                var url = model.url;
                if (Uri.IsWellFormedUriString(url, UriKind.RelativeOrAbsolute))
                {
                    this.wv.NavigationCompleted -= Wv_NavigationCompleted;
                    this.wv.NavigationCompleted += Wv_NavigationCompleted;
                    this.wv.Navigate(new Uri(url, UriKind.RelativeOrAbsolute));

                    //uoa替换没有成功,改用js方法处理了
                    //string ua = "Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H143 cfapp/1.8.2.117";
                    //Uri targetUri = new Uri(url);
                    //HttpRequestMessage hrm = new HttpRequestMessage(HttpMethod.Get, new Uri(url, UriKind.RelativeOrAbsolute));
                    //hrm.Headers.Add("User-Agent", ua);
                    //wv.NavigateWithHttpRequestMessage(hrm);
                }
                else
                {
                    newsViewModel.IsBusy = false;
                }
            }
            else
            {
                newsViewModel.IsBusy = false;
            }
        }
示例#12
0
        private async void grid_Tapped(object sender, TappedRoutedEventArgs e)
        {
            if (AppEnvironment.IsInternetAccess)
            {
                var control = sender as FrameworkElement;
                if (control != null)
                {
                    var model = control.DataContext as AuthorData;
                    if (model != null)
                    {
                        //如果解析出错
                        if (model.actionId == (int)CategoryErrorType.ERROR)
                        {
                            await new MessageDialog(AppNetworkMessageConst.DATA_PRE_COMBINE_IS_ERROR, "提示").ShowAsyncQueue();
                        }
                        //如果暂不支持此类型的跳转
                        else if (model.actionId == (int)CategoryErrorType.UNSUPPORT)
                        {
                            await new MessageDialog(AppNetworkMessageConst.DATA_UNSUPPORT, "提示").ShowAsyncQueue();
                        }
                        else
                        {
                            var animationGrid = CommonHelper.Instance.GetCurrentAnimationGrid();
                            if (animationGrid != null)
                            {
                                if (AppEnvironment.IsPhone)
                                {
                                    await animationGrid.AnimateAsync(new FadeOutLeftAnimation()
                                    {
                                        Duration = 0.25, Distance = 400
                                    });
                                }
                                else
                                {
                                    await animationGrid.AnimateAsync(new FadeOutLeftAnimation()
                                    {
                                        Duration = 0.13, Distance = 600
                                    });
                                }
                            }

                            //名称的记录和暂存暂时用CURRENT_PAST_CATEGORY_DETAIL_NAME字段来替代
                            DicStore.AddOrUpdateValue <string>(AppCommonConst.CURRENT_PAST_CATEGORY_DETAIL_NAME, AppEnvironment.IsPhone ? "" : model.title);
                            DicStore.AddOrUpdateValue <int>(AppCommonConst.CURRENT_AUTHOR_DETAIL_ACTION_ID, model.actionId);

                            CommonHelper.Instance.NavigateWithOverride(typeof(AuthorDetailPage));

                            if (animationGrid != null)
                            {
                                await animationGrid.AnimateAsync(new ResetAnimation());
                            }
                        }
                    }
                }
            }
            else
            {
                await new MessageDialog(AppNetworkMessageConst.NETWORK_IS_OFFLINEL, "提示").ShowAsyncQueue();
            }
        }
示例#13
0
        private async void szPC_ViewChangeCompleted(object sender, SemanticZoomViewChangedEventArgs e)
        {
            if (e.IsSourceZoomedInView)
            {
                if (!AppEnvironment.IsPhone)
                {
                    Messenger.Default.Send <bool>(true, AppMessengerTokenConst.IS_ZOOMSEMANTIC_BUTTON_VISIBLE);
                    ViewModelLocator.Instance.VideoFullScreenHandler += VideoFullScreenHandler;
                }

                ViewModelLocator.Instance.VideoVolumeToMuteHandler += VideoVolumeToMuteHandler;

                var model = DicStore.GetValueOrDefault <ModelPropertyBase>(AppCommonConst.CURRENT_SELECTED_ITEM
                                                                           , null);
                if (model != null)
                {
                    this.szPCDailyFlipView.SelectedItem = model;

                    this.videoMediaPlayer.Stop();
                    this.videoMediaPlayer.Source = null;

                    this.videoMediaPlayer.DataContext = model;

                    this.videoMediaPlayer.Volume = SettingsStore.GetValueOrDefault <double>(AppCommonConst.CURRETN_VIDEO_VOLUME_VALUE, 0.5);
                    var playUrl = await CommonHelper.Instance.DecidePlayUrl(model);

                    if (!string.IsNullOrEmpty(playUrl))
                    {
                        this.videoMediaPlayer.Source = new Uri(playUrl, UriKind.RelativeOrAbsolute);
                        this.videoMediaPlayer.Tag    = model.title;
                    }
                    else
                    {
                        await new MessageDialog(AppNetworkMessageConst.VIDEO_URL_IS_ERROR, "提示").ShowAsyncQueue();

                        szPC.IsZoomedInViewActive = true;
                    }
                }

                //this.videoMediaPlayer.Play();

                //var ctrl = CoreVisualTreeHelper.Instance.FindVisualChildByName<Control>(this.videoMediaPlayer, "pro");
            }
            else
            {
                if (!AppEnvironment.IsPhone)
                {
                    Messenger.Default.Send <bool>(false, AppMessengerTokenConst.IS_ZOOMSEMANTIC_BUTTON_VISIBLE);
                    appBarFullScreenBtn = null;
                    ViewModelLocator.Instance.VideoFullScreenHandler -= VideoFullScreenHandler;
                }

                appBarVolumeBtn = null;
                ViewModelLocator.Instance.VideoVolumeToMuteHandler -= VideoVolumeToMuteHandler;

                this.videoMediaPlayer.Stop();
                this.videoMediaPlayer.Source = null;
            }
        }
 public static bool IsExistStore(int id)
 {
     if (DicStore.ContainsKey(id))
     {
         return(true);
     }
     return(false);
 }
        public AnimatedImageUIControl()
        {
            this.InitializeComponent();

            this.DataContext = this;

            this.BackgroundImage.Source = DicStore.GetValueOrDefault <BitmapImage>(AppCommonConst.SPLASH_BITMAPIMAGE, null);
        }
 public static Store GetStore(int id)
 {
     if (DicStore.ContainsKey(id))
     {
         return(DicStore[id].Clone() as Store);
     }
     LogTo.Error("Not get Store by id = " + id);
     return(null);
 }
示例#17
0
        private void GridView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var gridView = sender as GridView;

            if (gridView != null)
            {
                DicStore.AddOrUpdateValue <int>(AppCommonConst.CUR_PIVOT_SELECTED_INDEX, gridView.SelectedIndex);
            }
        }
        private async void OnMyUIControlBaseNeedNavigate(object sender, PointerRoutedEventArgs e)
        {
            var control = sender as FrameworkElement;

            if (control != null)
            {
                var model = control.DataContext as ModelPropertyBase;
                if (model != null)
                {
                    var szPC = CommonHelper.Instance.GetCurrentSemanticZoom("szPC");
                    if (szPC != null)
                    {
                        if (model.isAleadyDownload)
                        {
                            DicStore.AddOrUpdateValue <ModelPropertyBase>(AppCommonConst.CURRENT_SELECTED_ITEM, model);
                            szPC.IsZoomedInViewActive = false;
                        }
                        else if (AppEnvironment.IsInternetAccess)
                        {
                            if (AppEnvironment.IsWlanOrInternet)
                            {
                                DicStore.AddOrUpdateValue <ModelPropertyBase>(AppCommonConst.CURRENT_SELECTED_ITEM, model);
                                szPC.IsZoomedInViewActive = false;
                            }
                            else
                            {
                                bool isPlayAccepted = false;

                                var messageDialog = new MessageDialog(AppNetworkMessageConst.NETWORK_IS_NOT_WIFI_OR_LAN_TO_PLAY, "播放提示");

                                messageDialog.Commands.Add(new UICommand("继续", new UICommandInvokedHandler(uc =>
                                {
                                    isPlayAccepted = true;
                                })));

                                messageDialog.Commands.Add(new UICommand("取消"));

                                messageDialog.DefaultCommandIndex = 1;

                                await messageDialog.ShowAsyncQueue();

                                if (isPlayAccepted)
                                {
                                    DicStore.AddOrUpdateValue <ModelPropertyBase>(AppCommonConst.CURRENT_SELECTED_ITEM, model);
                                    szPC.IsZoomedInViewActive = false;
                                }
                            }
                        }
                        else
                        {
                            await new MessageDialog(AppNetworkMessageConst.NETWORK_IS_OFFLINEL, "提示").ShowAsyncQueue();
                        }
                    }
                }
            }
        }
        private void rankListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (this.rankListView.SelectedIndex != -1)
            {
                DicStore.AddOrUpdateValue <int>(AppCommonConst.CURRENT_RANK_LIST_SELECTED_INDEX, this.rankListView.SelectedIndex);

                Messenger.Default.Send <int>(this.rankListView.SelectedIndex, AppMessengerTokenConst.IS_RANK_LIST_SELECTED);

                Debug.WriteLine("我被触发2");
            }
        }
示例#20
0
        private async void szPC_ViewChangeCompleted(object sender, SemanticZoomViewChangedEventArgs e)
        {
            if (e.IsSourceZoomedInView)
            {
                if (!AppEnvironment.IsPhone)
                {
                    ViewModelLocator.Instance.VideoFullScreenHandler += VideoFullScreenHandler;
                }

                ViewModelLocator.Instance.VideoVolumeToMuteHandler += VideoVolumeToMuteHandler;

                var model = DicStore.GetValueOrDefault <ModelPropertyBase>(AppCommonConst.CURRENT_SELECTED_ITEM
                                                                           , null);
                if (model != null)
                {
                    this.szCategoryDetailFlipView.SelectedItem = model;

                    this.videoMediaPlayer.Stop();
                    this.videoMediaPlayer.Source = null;

                    this.videoMediaPlayer.DataContext = model;
                    this.videoMediaPlayer.Volume      = SettingsStore.GetValueOrDefault <double>(AppCommonConst.CURRETN_VIDEO_VOLUME_VALUE, 0.5);
                    var playUrl = await CommonHelper.Instance.DecidePlayUrl(model);

                    if (!string.IsNullOrEmpty(playUrl))
                    {
                        this.videoMediaPlayer.Source = new Uri(playUrl, UriKind.RelativeOrAbsolute);
                    }
                    else
                    {
                        await new MessageDialog(AppNetworkMessageConst.VIDEO_URL_IS_ERROR, "提示").ShowAsyncQueue();

                        szPC.IsZoomedInViewActive = true;
                    }
                }

                //this.videoMediaPlayer.Play();
            }
            else
            {
                if (!AppEnvironment.IsPhone)
                {
                    appBarFullScreenBtn = null;
                    ViewModelLocator.Instance.VideoFullScreenHandler -= VideoFullScreenHandler;
                }

                appBarVolumeBtn = null;
                ViewModelLocator.Instance.VideoVolumeToMuteHandler -= VideoVolumeToMuteHandler;

                this.videoMediaPlayer.Stop();
                this.videoMediaPlayer.Source = null;
            }
        }
示例#21
0
 private void szListPC_ViewChangeStarted(object sender, SemanticZoomViewChangedEventArgs e)
 {
     if (e.IsSourceZoomedInView)
     {
         var model = DicStore.GetValueOrDefault <ModelPropertyBase>(AppCommonConst.CURRENT_SELECTED_ITEM
                                                                    , null);
         if (model != null)
         {
             this.szCategoryDetailFlipView.SelectedItem = model;
         }
     }
 }
示例#22
0
        private async void Wv_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args)
        {
            //故意放在这里先移除广告在显示动画显示wv
            RemoveBottomAD(wv);

            //InsertJS();

            newsViewModel.IsBusy = true;

            newsViewModel.IsBusy = false;

            if (args.IsSuccess)
            {
                //只有加载成功才可以记录已经看过,以便再次加载的时候能够及时更改颜色
                var model = DicStore.GetValueOrDefault <NewsModelPropertyBase>(AppCommonConst.CURRENT_NEWS_MODEL, null);
                if (model != null)
                {
                    model.NewsTitleForeground = AppCommonConst.NEWS_IS_ALREADY_READ_FOREGROUND;
                    SettingsStore.AddOrUpdateValue <bool>(model.id, true);
                }

                wv.Visibility = Visibility.Visible;

                if (AppEnvironment.IsPhone)
                {
                    await AnimationGrid.AnimateAsync(new FadeInDownAnimation()
                    {
                        Distance = 400, Duration = 0.25
                    });
                }
                else
                {
                    await AnimationGrid.AnimateAsync(new FadeInLeftAnimation()
                    {
                        Duration = 0.13, Distance = 600
                    });
                }
            }
            else
            {
                wv.Visibility = Visibility.Collapsed;

                if (AppEnvironment.IsInternetAccess)
                {
                    RetryBox.Instance.ShowRetry(AppNetworkMessageConst.NETWORK_IS_OFFLINEL, typeof(MyCF.View.News.NewsDetailPage), "ReLoadUrlSource", null);
                }
                else
                {
                    RetryBox.Instance.ShowRetry(AppNetworkMessageConst.NETWOTK_IS_ERROR, typeof(MyCF.View.News.NewsDetailPage), "ReLoadUrlSource", null);
                }
            }
        }
示例#23
0
        public async void ShowRetry(string msg, Type fromType, string method, object[] parameters)
        {
            await DispatcherHelper.RunAsync(async() =>
            {
                try
                {
                    //HideRetry();

                    RetryUIControl ruc = new RetryUIControl();
                    ruc.msg            = msg;
                    ruc.fromType       = fromType;
                    ruc.method         = method;
                    ruc.parameters     = parameters;


                    if (popup == null)
                    {
                        popup = new Popup();
                    }

                    if (!popup.IsOpen)
                    {
                        popup.Child = ruc;

                        popup.IsLightDismissEnabled = false;
                        //应当占据NavigationRootPage的rootFrame区域,此区域距离左和上的距离都为48,在加上Pivot的Header头高度为45(已取消)
                        //popup.VerticalOffset = 48;
                        //if (!AppEnvironment.IsPhone)
                        //{
                        //    popup.HorizontalOffset = 48;
                        //}


                        if (DicStore.GetValueOrDefault <bool>(AppCommonConst.IS_APP_FIRST_LAUNCH, false))
                        {
                            //如果是第一次显示,并且加载出错要显示RetryBox的时候,判断欢迎屏幕是否还在,如果欢迎屏幕还在则等待2300毫秒,如果不在的话,则立即显示RetryBox。
                            //情况举例:1、立刻显示的情况:比如网络比较慢,当欢迎屏幕消失后还在加载数据,结果加载失败了,(网络和本地都加在失败,本地加载失败有两种情况,一种是本地无缓存,二是本地缓存文件结构损坏了,就是页面上没数据),此时应该立刻显示RetryBox,不应等待2300毫秒。2、等待2300毫秒显示的情况:当网络无连接,数据加载失败,本地和网络都没能正确获取到数据,此时IsBusy已经为false,Progress已经消失,但此时的欢迎屏幕还在,此时就应高等待2300毫秒,让欢迎屏幕消失之后再显示RetryBox。这次是正确的处理逻辑
                            if (WelcomeBox.Instance.IsWelcomeShow)
                            {
                                await Task.Delay(2000);
                            }
                        }

                        popup.IsOpen = true;

                        DicStore.AddOrUpdateValue <bool>(AppCommonConst.IS_APP_FIRST_LAUNCH, false);
                    }
                }
                catch { }
            });
        }
示例#24
0
        private void ToggleSwitch_Toggled(object sender, RoutedEventArgs e)
        {
            var toggle = sender as ToggleSwitch;

            if (toggle != null)
            {
                switch (toggle.Tag.ToString())
                {
                case "autoPlayToggle":
                    SettingsStore.AddOrUpdateValue <bool>(AppCommonConst.IS_AUTOPLAY_TOGGLLESWITCH_ON, toggle.IsOn);
                    break;

                case "autoBackToggle":
                    SettingsStore.AddOrUpdateValue <bool>(AppCommonConst.IS_AUTOBACK_TOGGLLESWITCH_ON, toggle.IsOn);
                    break;

                case "hightQualityToggle":
                    SettingsStore.AddOrUpdateValue <bool>(AppCommonConst.IS_HIGHQUALITY_TOGGLLESWITCH_ON, toggle.IsOn);
                    break;

                case "downloadToggle":
                    SettingsStore.AddOrUpdateValue <bool>(AppCommonConst.IS_AUTO_DOWNLOAD_HIGHT_QUALITY_VIDEO, toggle.IsOn);
                    break;

                case "downloadWhenFavoriteToggle":
                    SettingsStore.AddOrUpdateValue <bool>(AppCommonConst.IS_AUTO_DOWNLOAD_WHEN_FAVORITE_VIDEO, toggle.IsOn);
                    break;

                case "tileToggle":
                    SettingsStore.AddOrUpdateValue <bool>(AppCommonConst.IS_TILE_ACTIVE, toggle.IsOn);
                    if (toggle.IsOn)
                    {
                        var collection = DicStore.GetValueOrDefault <object>(AppCommonConst.CURRENT_TILE_COLLECTION, null) as List <Videolist>;
                        if (collection != null)
                        {
                            TileHelper.Instance.UpdateTiles(collection);
                        }
                    }
                    else
                    {
                        TileHelper.Instance.CloseTiles();
                    }
                    break;

                case "sureToggle":
                    SettingsStore.AddOrUpdateValue <bool>(AppCommonConst.IS_SURE_TOGGLLESWITCH_ON, toggle.IsOn);
                    break;
                }
            }
        }
示例#25
0
        public override void Cleanup()
        {
            base.Cleanup();

            MapDetailCollection.ForEach(o =>
            {
                o.purls.ForEach(A => A.Dispose());
                o.Dispose();
            });

            MapDetailCollection.Clear();

            DicStore.RemoveKey(AppCommonConst.CURRENT_MAP_ID);
        }
示例#26
0
        private void OpenEdit()
        {
            var trans = this.guestureGrid.GetHorizontalOffset().Transform;

            trans.AnimateX(trans.X, -95, 300, 0, new CubicEase
            {
                EasingMode = EasingMode.EaseOut
            });

            isEditOpen = true;

            ViewModelLocator.Instance.FavoriteOrDownloadListViewScrollHandler += CancelEditding;

            DicStore.AddOrUpdateValue <bool>(AppCommonConst.IS_HAS_DOWNLOAD_EDITING, true);
        }
示例#27
0
        private async void appBarRefreshBtn_Click(object sender, RoutedEventArgs e)
        {
            if (!SimpleIoc.Default.IsRegistered <DailyViewModel>())
            {
                SimpleIoc.Default.Register <DailyViewModel>();
            }

            var dailyViewModel = SimpleIoc.Default.GetInstance <DailyViewModel>();

            if (dailyViewModel != null && !dailyViewModel.IsBusy && DicStore.GetValueOrDefault <bool>(AppCommonConst.DAILY_HAS_NEXT_PAGE, false))
            {
                if (AppEnvironment.IsInternetAccess)
                {
                    //及时将当前的nextPageUrl置为null
                    DicStore.AddOrUpdateValue <string>(AppCommonConst.DAILY_NEXT_PAGE_URL, null);
                    dailyViewModel.GetDaily(dailyViewModel.DailyCollection, dailyViewModel.DailyFlipViewCollection, ApiDailyRoot.Instance.DailyUrl, AppCacheNewsFileNameConst.CACHE_DAILY_FILENAME, true);
                }
                else
                {
                    await new MessageDialog(AppNetworkMessageConst.NETWORK_IS_OFFLINEL, "提示").ShowAsyncQueue();
                }
            }


            //try
            //{
            //    var rp = DicStore.GetValueOrDefault<RetryParameter>(AppCommonConst.RETRY_PARAMETER, null);
            //    if (rp != null)
            //    {
            //        Type fromType = rp.fromType;

            //        string method = rp.method;

            //        object[] parameters = rp.parameters;

            //        parameters[parameters.Count() - 1] = true;

            //        object o = Activator.CreateInstance(fromType);

            //        object obj2 = fromType.GetMethod(method).Invoke(o, parameters);
            //    }
            //}
            //catch (Exception ex)
            //{
            //    string s = ex.Message;
            //}
        }
示例#28
0
        private async void grid_Tapped(object sender, TappedRoutedEventArgs e)
        {
            var grid = sender as Grid;

            if (grid != null)
            {
                var model = grid.DataContext as MapModel;
                if (model != null)
                {
                    var animationGrid = CommonHelper.Instance.GetCurrentAnimationGrid();
                    if (animationGrid != null)
                    {
                        if (AppEnvironment.IsPhone)
                        {
                            await animationGrid.AnimateAsync(new FadeOutLeftAnimation()
                            {
                                Duration = 0.3, Distance = 400
                            });
                        }
                        else
                        {
                            await animationGrid.AnimateAsync(new FadeOutLeftAnimation()
                            {
                                Duration = 0.13, Distance = 600
                            });
                        }
                    }

                    DicStore.AddOrUpdateValue <int>(AppCommonConst.CURRENT_MAP_ID, Convert.ToInt32(model.id));

                    CommonHelper.Instance.NavigateWithOverride(typeof(MapDetailPage));

                    if (!AppEnvironment.IsPhone)
                    {
                        var tb = CommonHelper.Instance.GetRootPageSubTitle();
                        if (tb != null)
                        {
                            tb.Text = " / " + model.map_name;
                        }
                    }

                    await animationGrid.AnimateAsync(new ResetAnimation());
                }
            }
        }
示例#29
0
        private void szListPC_ViewChangeStarted(object sender, SemanticZoomViewChangedEventArgs e)
        {
            if (e.IsSourceZoomedInView)
            {
                Messenger.Default.Send <bool>(true, AppMessengerTokenConst.IS_DOWNLOAD_FLIPVIEW_SHOW);

                var model = DicStore.GetValueOrDefault <ModelPropertyBase>(AppCommonConst.CURRENT_SELECTED_ITEM
                                                                           , null);
                if (model != null)
                {
                    this.szDownloadFlipView.SelectedItem = model;
                }
            }
            else
            {
                Messenger.Default.Send <bool>(false, AppMessengerTokenConst.IS_DOWNLOAD_FLIPVIEW_SHOW);
            }
        }
示例#30
0
        protected override async void OnUIControlBaseNeedNavigate(object sender, PointerRoutedEventArgs e)
        {
            base.OnUIControlBaseNeedNavigate(sender, e);

            if (this.guestureGrid.GetHorizontalOffset().Value == 0 && !isAlreadyTryManipulation)
            {
                var isAlreadyCollectionEditing = DicStore.GetValueOrDefault <bool>(AppCommonConst.IS_HAS_DOWNLOAD_EDITING, false);
                if (isAlreadyCollectionEditing == true)
                {
                    ViewModelLocator.Instance.FavoriteOrDownloadListViewScroll();
                    return;
                }

                var ctrl = sender as FrameworkElement;
                if (ctrl != null)
                {
                    var model = ctrl.DataContext as ModelPropertyBase;
                    if (model != null)
                    {
                        if (!model.isEditing)
                        {
                            var szListPC = CommonHelper.Instance.GetCurrentSemanticZoom("szListPC");
                            if (szListPC != null)
                            {
                                if (szListPC.IsZoomedInViewActive == true)
                                {
                                    DicStore.AddOrUpdateValue <ModelPropertyBase>(AppCommonConst.CURRENT_SELECTED_ITEM, model);

                                    szListPC.IsZoomedInViewActive = false;

                                    ViewModelLocator.Instance.ListViewScrollHandler -= resetCoverGridState;

                                    await this.coverGrid.AnimateAsync(new ResetAnimation());
                                }
                            }
                        }
                    }
                }
            }

            ViewModelLocator.Instance.ListViewScrollHandler -= resetCoverGridState;

            isAlreadyTryManipulation = false;
        }