private static void FetchTopResources(HtmlNode classC, NewsPreviewModel model) { var classC1 = classC.SelectSingleNode("div[@class='c1']"); if (classC1 != null) { try { var classC1_Li = classC1 .SelectSingleNode("div[@class='c1_r']") .SelectSingleNode("ol[@class='o']") .SelectNodes("li"); model.TopImageList = new List <SimpleImgModel>(); foreach (var item in classC1_Li) { try { var aRoute = item.SelectSingleNode("a[@class='o_l_80']"); model.TopImageList.Add(new SimpleImgModel { Title = aRoute.Attributes["title"].Value, PathUri = new Uri(aRoute.Attributes["href"].Value), ImageUri = new Uri(aRoute.SelectSingleNode("img").Attributes["src"].Value), }); } catch (NullReferenceException ex) { Debug.WriteLine(ex.StackTrace); } catch (ArgumentNullException ex) { Debug.WriteLine(ex.StackTrace); } catch (UriFormatException ex) { Debug.WriteLine(ex.StackTrace); } catch (Exception ex) { Debug.WriteLine(ex.StackTrace); } } } catch { ReportError("Top5 source fetch error."); } } }
public static NewsPreviewModel FetchImagesIndexFromHtml(string htmlResources) { var pageResources = new HtmlDocument(); pageResources.LoadHtml(htmlResources); HtmlNode rootnode = pageResources.DocumentNode; string XPathString = "//div[@class='c']"; var classC = rootnode.SelectSingleNode(XPathString); if (classC == null) // Pictures page mode failed { return(null); } var model = new NewsPreviewModel(); FetchSlideResources(classC, model); FetchTopResources(classC, model); FetchRecommendResources(classC, model); FetchSelectResources(classC, model); for (int i = 0; i < 4; i++) { FetchCollectionResources(classC, model, i); } return(model); }
private void SetIndexRangeResources(NewsPreviewModel source) { FlipResouces.Source = source.SlideImageList; TopResouces.Source = source.TopImageList; RecommendResouces.Source = source.RecommendImageList; SelectResouces.Source = source.SelectImageList; GirlResouces.Source = source.GirlImageList; FashionResouces.Source = source.FashionImageList; PlaythingResouces.Source = source.PlaythingImageList; EntResouces.Source = source.EntImageList; NavigateState = PageState.Navigated; flipSourceCount = source.SlideImageList.Count; }
private static void FetchRecommendResources(HtmlNode classC, NewsPreviewModel model) { var classC2 = classC.SelectSingleNode("div[@class='c2']"); if (classC2 != null) { try { var classC1_Ul = classC2 .SelectSingleNode("div[@class='c2_left']") .SelectSingleNode("div[@class='c2_slide']") .SelectSingleNode("div[@class='c2_slide_c']") .SelectNodes("ul[@class='c2_lc']"); model.RecommendImageList = new List <SimpleImgModel>(); foreach (var ul in classC1_Ul) { var classC1_Li = ul.SelectNodes("li"); foreach (var item in classC1_Li) { try { var aRoute = item.SelectSingleNode("a"); model.RecommendImageList.Add(new SimpleImgModel { Title = aRoute.Attributes["title"].Value, PathUri = new Uri(aRoute.Attributes["href"].Value), ImageUri = new Uri(aRoute.SelectSingleNode("img").Attributes["src"].Value), }); } catch (NullReferenceException ex) { Debug.WriteLine(ex.StackTrace); } catch (ArgumentNullException ex) { Debug.WriteLine(ex.StackTrace); } catch (UriFormatException ex) { Debug.WriteLine(ex.StackTrace); } catch (Exception ex) { Debug.WriteLine(ex.StackTrace); } } } } catch { ReportError("Recommend source fetch error."); } } }
private async void OnItemSelected(object sender, SelectedItemChangedEventArgs args) { var item = args.SelectedItem as ListItem; if (item == null) { return; } var news = await $"{APIService._apiUrl}/News/{item.Id}".GetJsonAsync <News>(); string submitter = await $"{APIService._apiUrl}/Submitters/news/{news.Id}".GetStringAsync(); //$"{APIService._apiUrl}/news/image/{item.Id}" NewsPreviewModel model = new NewsPreviewModel { Image = $"{APIService._apiUrl}/news/image/{news.Id}", Name = news.Title, DateAdded = news.DateAdded, Description = news.Content, Submitter = submitter }; await Navigation.PushModalAsync(new NavigationPage(new NewsDetailsPage(model))); }
private static void FetchCollectionResources(HtmlNode classC, NewsPreviewModel model, int index) { var classC3 = classC.SelectNodes("div[@class='c3']").ElementAt(index); var targetList = new List <SimpleImgModel>(); if (classC3 != null) { try { var classC1_Left = classC3.SelectNodes("div[@class='c3_l']"); foreach (var item in classC1_Left) { try { var aRoute = item.SelectSingleNode("a"); targetList.Add(new SimpleImgModel { Title = aRoute.Attributes["title"].Value, PathUri = new Uri(aRoute.Attributes["href"].Value), ImageUri = new Uri(aRoute.SelectSingleNode("img").Attributes["src"].Value), }); } catch (NullReferenceException ex) { Debug.WriteLine(ex.StackTrace); } catch (ArgumentNullException ex) { Debug.WriteLine(ex.StackTrace); } catch (UriFormatException ex) { Debug.WriteLine(ex.StackTrace); } catch (Exception ex) { Debug.WriteLine(ex.StackTrace); } } var classC1_Li = classC3 .SelectSingleNode("div[@class='c3_r']") .SelectSingleNode("ul") .SelectNodes("li"); foreach (var item in classC1_Li) { try { var aRoute = item.SelectSingleNode("a"); targetList.Add(new SimpleImgModel { Title = aRoute.Attributes["title"].Value, PathUri = new Uri(aRoute.Attributes["href"].Value), ImageUri = new Uri(aRoute.SelectSingleNode("img").Attributes["src"].Value), }); } catch (NullReferenceException ex) { Debug.WriteLine(ex.StackTrace); } catch (ArgumentNullException ex) { Debug.WriteLine(ex.StackTrace); } catch (UriFormatException ex) { Debug.WriteLine(ex.StackTrace); } catch (Exception ex) { Debug.WriteLine(ex.StackTrace); } } } catch { ReportError("Collection source fetch error."); } if (index == 1) { var classC3B = classC.SelectSingleNode("div[@class='c3_b']"); if (classC3B != null) { try { var classSpecial = classC3B .SelectNodes("div"); foreach (var item in classSpecial) { try { var aRoute = item.SelectSingleNode("a"); targetList.Add(new SimpleImgModel { Title = aRoute.Attributes["title"].Value, PathUri = new Uri(aRoute.Attributes["href"].Value), ImageUri = new Uri(aRoute.SelectSingleNode("img").Attributes["src"].Value), }); } catch (NullReferenceException ex) { Debug.WriteLine(ex.StackTrace); } catch (ArgumentNullException ex) { Debug.WriteLine(ex.StackTrace); } catch (UriFormatException ex) { Debug.WriteLine(ex.StackTrace); } catch (Exception ex) { Debug.WriteLine(ex.StackTrace); } } } catch { ReportError("Special source fetch error."); } } } switch (index) { case 0: model.GirlImageList = targetList; break; case 1: model.FashionImageList = targetList; break; case 2: model.PlaythingImageList = targetList; break; case 3: model.EntImageList = targetList; break; default: break; } } }
public NewsDetailsPage(NewsPreviewModel viewModel) { InitializeComponent(); BindingContext = model = viewModel; }