public static bool SetHandled(MoviePage page, List <Resource> rs) { using (var db = new MyDbContext()) { if (page != null) { page.IsHandler = true; var p = db.Entry <MoviePage>(page); p.State = EntityState.Detached; p.Property(m => m.IsHandler).IsModified = true; } if (rs != null && rs.Count != 0) { for (int i = 0; i < rs.Count; i++) { var item = rs[i]; item.IsHandler = true; var obj = db.Entry(item); obj.State = EntityState.Detached; obj.Property(m => m.IsHandler).IsModified = true; } } int res = db.SaveChanges(); return(res >= ((page == null?0:1) + (rs == null || rs.Count == 0?0: rs.Count))); } }
public void Before() { _login = new LoginPage(Browser); _movie = new MoviePage(Browser); _login.With("*****@*****.**", "pwd123"); Database.InsertMovies(); }
public void OnScrapVideoCompleted(MoviePage page) { Program.SetIdle(); this.InvokeEx(() => { Initialize(page); }); }
public void Before() { _login = new LoginPage(Browser); _movie = new MoviePage(Browser); _login.With("*****@*****.**", "123456"); Database.InsertMovies(); }
public void Initialize(MoviePage page) { LogManager.Log("Initializing view window"); this.lastPage = page; this.buttonSpecHeaderGroupMore.Visible = GetNextPage() != null; this.videoThumbGalleryWidget.ClearItems(); this.videoThumbGalleryWidget.AddItems(page); UpdateNavigation(); }
public MoviePageVM() { MoviePage moviePage = new MoviePage(); moviePage.DataContext = this; View = moviePage; Visibility = GlobalVars.AdminMode ? Visibility.Visible : Visibility.Hidden; }
// // GET: /Movies/ public override ActionResult Index(RenderModel model) { INode currentNode = Node.GetCurrent(); var pageModel = new MoviePage(); pageModel.Movie = ModelFactory.CreateModel<Movie>(currentNode); FormatCast(pageModel.Movie); pageModel.MovieDictionaryItem = ShowDictionary.MovieShowingAt(pageModel.Movie); return CurrentTemplate(pageModel); }
public static bool AddPicturePage(MoviePage model) { using (var db = new MyDbContext()) { if (db.MoviePages.Any(m => m.Url == model.Url)) { return(true); } db.MoviePages.Add(model); return(db.SaveChanges() >= 1); } }
protected override void OnAddItems(MoviePage page) { for (var i = 0; i < Constants.GetMaxDisplayCount(page.Videos.Count); i++) { var video = page.Videos[i]; foreach(var l in video.Links) AddItem(l); if (Constants.ShowAds && i % 4 == 0) { var ad = CreateAdWidget(Constants.VerticalAdId); this.tableLayoutPanel.Controls.Add(ad); } } }
public async void ShowMoviePage(Movie movie) { if (_moviePage == null) { _moviePage = new MoviePage(); } var movieViewModel = new MovieViewModel(movie);// {NavigationService = this}; _moviePage.BindingContext = movieViewModel; await Navigation.PushAsync(_moviePage); await movieViewModel.LoadMovieDetails(); }
protected override void OnAddItems(MoviePage page) { for (var i = 0; i < Constants.GetMaxDisplayCount(page.Videos.Count); i++) { var video = page.Videos[i]; foreach (var l in video.Links) { AddItem(l); } if (Constants.ShowAds && i % 4 == 0) { var ad = CreateAdWidget(Constants.VerticalAdId); this.tableLayoutPanel.Controls.Add(ad); } } }
protected override void OnAddItems(MoviePage page) { this.flowLayoutPanel.SuspendLayout(); var rand = new Random(DateTime.Now.Minute); var next = 4; for (var i = 0; i < Constants.GetMaxDisplayCount(page.Videos.Count); i++) { var movie = page.Videos[i]; var widget = new WebViewWidget(movie, Properties.Resources.TestHtml.Replace("{0}", movie.Url) .Replace("{1}", String.IsNullOrEmpty(movie.ImageUrl) ? "no_image.gif" : movie.ImageUrl) .Replace("{2}", movie.Name) .Replace("{3}", movie.ReleaseDate.Year.ToString()) .Replace("{4}", movie.Description) .Replace("{5}", movie.LanguageText)); this.flowLayoutPanel.Controls.Add(widget); widget.ViewSelected += delegate(object sender, GalleryItemSelectedEventArgs e) { OnItemSelected(sender, e); }; widget.Favourited += delegate(object sender, GalleryItemFavouriteEventArgs e) { OnItemFavourited(sender, e); }; if (Constants.ShowAds) { if (next == 0) { var ad = CreateAdWidget(Constants.HorizontalAdId); this.flowLayoutPanel.Controls.Add(ad); next = rand.Next(4, 8); } else { next--; } } } flowLayoutPanel_Resize(this, null); // AddLinks(); this.flowLayoutPanel.ResumeLayout(); base.OnAddItems(page); }
public void Initialize(MoviePage page) { this.browseGalleryWidget.ClearItems(); this.browseGalleryWidget.AddItems(page); }
public void Before() { _login = new LoginPage(Browser); _movie = new MoviePage(Browser); _login.With("*****@*****.**", "pwd123"); }
public void AddItems(MoviePage page) { this.currentPage = page; OnAddItems(page); }
protected virtual void OnAddItems(MoviePage page) { }
private async void ProcessDetailAsync(object stat) { try { var item = stat as Match; MoviePage pageModel = null; string movieName = ValidFileName(item.Groups[2].Value); var movieUrl = _uri.Scheme + "://" + _uri.Authority + "/bbs/" + item.Groups[1].Value; string moviedir = null; if (MyDbCOntextHelp.ExistMovie(movieUrl)) { pageModel = MyDbCOntextHelp.QueryMovie(m => m.Url == movieUrl); moviedir = Path.Combine(_baseDir, pageModel.Name); } else { pageModel = new MoviePage { CreateTime = DateTime.Now, UpdateTime = DateTime.Now, Name = movieName, Url = movieUrl, IsHandler = false, Type = _typeName, }; LogHelp.Log("影片:" + pageModel.Name); moviedir = Path.Combine(_baseDir, pageModel.Name); } if (!Directory.Exists(moviedir)) { Directory.CreateDirectory(moviedir); } if (pageModel.Id != 0 || MyDbCOntextHelp.AddPicturePage(pageModel)) { bool res = false; var detailPageString = await HttpHelp.GetPageStringAsync(pageModel.Url); if (detailPageString == null || detailPageString.Length == 0 || detailPageString.Contains("您无权进行当前操作,这可能因以下原因之一造成")) { return; } //下载次数 var m = _regDownloadCount.Match(detailPageString); if (m.Groups.Count == 2) { pageModel.DownloadCount = int.Parse(m.Groups[1].Value); } LogHelp.Log("影片下载次数:" + pageModel.DownloadCount); //图片 var imgAreaStr = _regImgArea.Match(detailPageString).Value; var mimgs = _regImg.Matches(imgAreaStr); var resList = new List <Resource>(mimgs.Count + 1); for (int j = 0; j < mimgs.Count; j++) { var imgitem = mimgs[j]; var r = new Resource { CreateTime = DateTime.Now, UpdateTime = DateTime.Now, PicturePageId = pageModel.Id, IsHandler = false, Type = 1, Url = imgitem.Groups[1].Value }; if (!r.Url.StartsWith("http")) { r.Url = _uri.Scheme + "://" + _uri.Authority + "/bbs/" + r.Url; } resList.Add(r); } LogHelp.Log("截图{0}张.....bt文件一个", mimgs.Count); //bt 检查重复 var btRes = new Resource { CreateTime = DateTime.Now, UpdateTime = DateTime.Now, PicturePageId = pageModel.Id, Type = 2, IsHandler = false, }; var p1 = detailPageString.IndexOf("检查重复</a>"); if (p1 == -1) { return; } var startbt = detailPageString.IndexOf("<a href=\"", p1); var endbt = detailPageString.IndexOf("</a>", startbt); var bta = detailPageString.Substring(startbt, endbt - startbt + 4); var mbt = _regBt.Match(bta); btRes.Name = mbt.Groups[2].Value; btRes.Url = _uri.Scheme + "://" + _uri.Authority + "/bbs/" + mbt.Groups[1].Value; resList.Add(btRes); bool isAllHandle = false; MyDbCOntextHelp.AddResourceList(resList); for (int i = 0; i < resList.Count - 1; i++) { res = await HttpHelp.DownloadImgAsync(resList[i].Url, moviedir); if (res) { } } res = await HttpHelp.DownloadFileAsync(btRes.Url, Path.Combine(moviedir, btRes.Name)); } LogHelp.Log("处理完毕:" + movieName); return; } finally { _semaphore.Release(); } }
protected override void OnAddItems(MoviePage page) { this.startIndex = 0; this.endIndex = Math.Min(page.Videos.Count - 1,GetControlEndIndex()) ; AddSinglePage(); }
protected override void OnAddItems(MoviePage page) { this.startIndex = 0; this.endIndex = Math.Min(page.Videos.Count - 1, GetControlEndIndex()); AddSinglePage(); }