Esempio n. 1
0
        private void GridView_ItemClick(object sender, ItemClickEventArgs e)
        {
            var item = e.ClickedItem as MovieItem;

            if (item == null || item.PathUrl == null)
            {
                return;
            }
            NavigateToBase?.Invoke(
                null,
                new NavigateParameter {
                ToUri    = new Uri(UriDecoder.GetUrlFromUri(item.PathInnerUri, UriCastEnum.Movie)),
                IsNative = true,
                Title    = item.Title,
            },
                GetFrameInstance(FrameType.Content),
                GetPageType(NavigateType.MovieContent));
        }
Esempio n. 2
0
        private void ContentList_ItemClick(object sender, ItemClickEventArgs e)
        {
            var iten = e.ClickedItem as DiaryItem;

            if (iten == null)
            {
                return;
            }
            Uri.TryCreate(string.Format(NavigateUrlFormat, iten.ID), UriKind.RelativeOrAbsolute, out var uri);
            NavigateToBase?.Invoke(
                null,
                new NavigateParameter {
                Title = iten.Title, ToUri = uri, IsFromInfoClick = true
            },
                UserInfoDetails,
                GetPageType(NavigateType.InfoItemClick));
            UserInfoPopup.IsOpen = false;
        }
        private void MoreButton_Click(object sender, RoutedEventArgs e)
        {
            var path = (sender as Button).CommandParameter as string;

            if (path == null)
            {
                return;
            }
            var keyword = $"subject_collection/{path}/";

            NavigateToBase?.Invoke( // change loc_id to adjust location.
                null,
                new NavigateParameter {
                ToUri = null, ApiHeadString = keyword, Title = GetUIString("DB_MORE")
            },
                GetFrameInstance(FrameType.Content),
                GetPageType(NavigateType.TVFilter));
        }
        private async void ListView_ItemClickAsync(object sender, ItemClickEventArgs e)
        {
            var item = e.ClickedItem as ChannelsItem;

            if (item == null)
            {
                return;
            }
            var succeed = Service.ChangeServiceChoice(MusicServiceType.MHz);

            if (!succeed)
            {
                return;
            }
            Service.MHzChannelID = item.Id;
            Service.ActionForMHz = GetNewMHzEachTurnAsync;
            var song = await InsertSongsToMHzListAsync();

            if (song == null)
            {
                return;
            }
            if (MainUpContentFrame.Content != null)
            {
                (MainUpContentFrame.Content as FM_SongBoardPage)?.UnregisterServiceEvents();
            }
            Service.MoveToAnyway(song);
            Service.PlayAnyway();
            NavigateToBase?.Invoke(
                null,
                new MusicBoardParameter {
                SID       = song.SID,
                SSID      = song.SSID,
                AID       = song.AID,
                SHA256    = song.SHA256,
                Url       = song.Url,
                Song      = song,
                FrameType = FrameType.UpContent
            },
                GetFrameInstance(FrameType.UpContent),
                GetPageType(NavigateType.MusicBoard));
        }
        private void IndexList_ItemClick(object sender, ItemClickEventArgs e)
        {
            var item = e.ClickedItem as IndexItem;

            if (item == null || item.Type == IndexItem.ItemType.DateBlock)
            {
                return;
            }
            NavigateToBase?.Invoke(
                sender,
                new Core.Models.NavigateParameter {
                ToUri = item.PathUrl != null ?
                        new Uri(UriDecoder.GetUrlFromUri(item.PathUrl)) :
                        null,
                Title    = item.Title,
                IsNative = true
            },
                GetFrameInstance(Core.Models.FrameType.Content),
                GetPageType(Core.Models.NavigateType.ItemClickNative));
        }
        private async void PlayAllBtn_ClickAsync(object sender, RoutedEventArgs e)
        {
            if (inner_list == null)
            {
                return;
            }
            var item      = inner_list[0];
            var succeedss = Service.ChangeServiceChoice(MusicServiceType.SongList);

            if (!succeedss)
            {
                return;
            }
            var succeed = false;

            succeed = await Service.InsertItemAsync(item);

            if (!succeed)
            {
                return;
            }
            inner_list.ToList().ForEach(async i => succeed = await Service.InsertItemAsync(i));
            if (MainUpContentFrame.Content != null)
            {
                (MainUpContentFrame.Content as FM_SongBoardPage)?.UnregisterServiceEvents();
            }
            Service.SongListMoveTo(item);
            NavigateToBase?.Invoke(
                null,
                new MusicBoardParameter {
                SID       = item.SID,
                SSID      = item.SSID,
                AID       = item.AID,
                SHA256    = item.SHA256,
                Url       = item.Url,
                Song      = item,
                FrameType = FrameType.UpContent
            },
                GetFrameInstance(FrameType.UpContent),
                GetPageType(NavigateType.MusicBoard));
        }
Esempio n. 7
0
        private void MoreButton_Click(object sender, RoutedEventArgs e)
        {
            var path = (sender as Button).CommandParameter as string;

            if (path == null)
            {
                return;
            }
            var is_not_native = path.Contains("https:");
            var keyword       = is_not_native ? path : $"subject_collection/{path}/";

            NavigateToBase?.Invoke( // change loc_id to adjust location.
                null,
                new NavigateParameter {
                ToUri         = is_not_native ? new Uri(path + $"?loc_id=108288") : null,
                ApiHeadString = keyword,
                Title         = GetUIString("DB_BOOK")
            },
                GetFrameInstance(FrameType.Content),
                GetPageType(is_not_native ? NavigateType.Undefined : NavigateType.BookFilter));
        }
Esempio n. 8
0
        private async void IndexList_ItemClickAsync(object sender, ItemClickEventArgs e)
        {
            var item = e.ClickedItem as SongBase;

            if (item == null)
            {
                return;
            }
            var succeedss = Service.ChangeServiceChoice(MusicServiceType.SongList);

            if (!succeedss)
            {
                return;
            }
            var song    = new MHzSongBase(item);
            var succeed = await Service.InsertItemAsync(song);

            if (!succeed)
            {
                return;
            }
            if (MainUpContentFrame.Content != null)
            {
                (MainUpContentFrame.Content as FM_SongBoardPage)?.UnregisterServiceEvents();
            }
            Service.SongListMoveTo();
            NavigateToBase?.Invoke(
                null,
                new MusicBoardParameter {
                SID       = item.SID,
                SSID      = item.SSID,
                AID       = item.AID,
                SHA256    = item.SHA256,
                Url       = item.Url,
                Song      = song,
                FrameType = FrameType.UpContent
            },
                GetFrameInstance(FrameType.UpContent),
                GetPageType(NavigateType.MusicBoard));
        }
        private void FilterGridView_ItemClick(object sender, ItemClickEventArgs e)
        {
            var item = e.ClickedItem as ItemGroup <MovieItem>;

            if (item == null || item.GroupPathUrl == null)
            {
                return;
            }
            var keyword = new Regex(@"/tv/(?<key_word>.+)").Match(item.GroupPathUrl).Groups["key_word"].Value;

            if (keyword != "")
            {
                keyword = UriDecoder.EditKeyWordsForTVFilter(keyword, "tv");
            }
            NavigateToBase?.Invoke(
                null,
                new NavigateParameter {
                ToUri = new Uri(item.GroupPathUrl), ApiHeadString = keyword, Title = item.GroupName
            },
                GetFrameInstance(FrameType.Content),
                GetPageType(NavigateType.TVFilter));
        }
Esempio n. 10
0
        private void ReviewsListView_ItemClick(object sender, ItemClickEventArgs e)
        {
            var item = e.ClickedItem as MovieContentReview;

            if (item == null)
            {
                return;
            }
            NavigateToBase?.Invoke(null,
                                   new NavigateParameter {
                ToUri     = new Uri(item.PathUrl),
                FrameType =
                    frameType == FrameType.Content ?
                    FrameType.UpContent :
                    FrameType.UserInfos,
                Title = item.Title
            },
                                   GetFrameInstance(frameType == FrameType.Content ?
                                                    FrameType.UpContent :
                                                    FrameType.UserInfos),
                                   GetPageType(NavigateType.MovieContentQuestion));
        }
        private void SetActionLink(string callBack)
        {
            var actionMatch = new Regex(@"actionlink:.+").Match(callBack);

            if (actionMatch.Value == "")
            {
                return;
            }
            var formatStr = actionMatch.Value.Substring(11);

            Uri.TryCreate(formatStr, UriKind.Absolute, out var uri);
            if (uri != null)
            {
                NavigateToBase?.Invoke(
                    null,
                    new NavigateParameter {
                    FrameType = FrameType.UpContent, Title = GetUIString("LinkContent"), ToUri = uri
                },
                    GetFrameInstance(FrameType.UpContent),
                    GetPageType(NavigateType.Undefined));
            }
        }
Esempio n. 12
0
        private void AuthorLinkBtn_Click(object sender, RoutedEventArgs e)
        {
            var uri = (sender as Button).CommandParameter as Uri;

            if (uri == null)
            {
                return;
            }
            var res = new Regex(@"people/.+?/").Match(uri.ToString()).Value;

            if (res == "")
            {
                return;
            }
            NavigateToBase?.Invoke(
                null,
                new NavigateParameter {
                FrameType = FrameType.UpContent, UserUid = new Regex(@"[0-9]{5,}").Match(res).Value
            },
                GetFrameInstance(FrameType.UpContent),
                GetPageType(NavigateType.UserInfo));
        }
        private async void Submit_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            if (!HasFMExtensions)
            {
                var context = StoreContext.GetDefault();
                var result  = await WindowsStoreHelpers.PurchaseAddOnAsync(context, "9mzf5cp1mf83");

                if (result == PurchasAddOnReturn.Unknown)
                {
                    ReportHelper.ReportAttentionAsync(GetUIString("MS_Server_Boom"));
                }
                HasFMExtensions = result == PurchasAddOnReturn.Successful ? true : false;
                if (!HasFMExtensions)
                {
                    return;
                }
            }
            NavigateToBase?.Invoke(
                sender,
                null,
                GetFrameInstance(FrameType.LeftPart),
                GetPageType(NavigateType.FM_Extensions));
        }
Esempio n. 14
0
        private void FlipInnerButton_Click(object sender, RoutedEventArgs e)
        {
            var path = (sender as Button).CommandParameter as string;
            var text = (sender as Button).Content as string;

            if (path == null)
            {
                return;
            }
            var succeed = Uri.TryCreate(path, UriKind.RelativeOrAbsolute, out var newUri);

            if (!succeed)
            {
                return;
            }
            NavigateToBase?.Invoke(
                sender,
                new Core.Models.NavigateParameter {
                ToUri = newUri, Title = text
            },
                GetFrameInstance(Core.Models.FrameType.Content),
                GetPageType(Core.Models.NavigateType.ItemClick));
        }
Esempio n. 15
0
 private void NavigateToUserInfoPage()
 {
     NavigateToBase?.Invoke(null, null, GetFrameInstance(FrameType.UserInfos), GetPageType(NavigateType.UserInfo));
 }