public void DataUpdate() { using (var db = new MovieFinderEntities()) { var items = db.MovieLinks.Where(x => x.LinkTitle.Contains("part") && x.PartID == null).ToList(); int id = 0; foreach (var item in items) { if(id == item.MovieID) continue; id = item.MovieID; var currentItems = items.Where(x => x.MovieID == id).ToList(); var partId = 0; foreach (var cItem in currentItems) { var index = Convert.ToInt32(Regex.Match(cItem.LinkTitle, @"\d+").Value); if (index == 1) partId = cItem.ID; cItem.PartID = partId; cItem.PartIndex = index; var k =0; while (k++ < 3) { db.SaveChanges(); break; } } } } }
public VisitorProfile GetVisitor(Guid id) { using (var db = new MovieFinderEntities()) { var vp = db.VisitorProfiles .First(x => x.ID == id); if (db == null) new ArgumentException(String.Format("Visitor with id {0} does not exist", id)); return vp; } }
public MovieVm QueryMovie(string id, bool updateStat = false) { using (var db = new MovieFinderEntities()) { try { var movie = db.Movies .Include(x => x.MovieLinks) .Where(x => x.UniqueID == id && x.MovieLinks.Any(y => y.FailedAttempts < 5)) .ToList() .Select(x => new MovieVm{ ImageUrl = String.IsNullOrWhiteSpace(x.ImageLocalUrl) ? x.ImageUrl : imgUrlBuilder.Build(x.ImageLocalUrl), PostedBy = "Admin", Description = x.Description, PostedDate = x.CreateDate.ToShortDateString(), Title = x.Name, Language = GetLanguage(x.LanguageCode), ReleasedYear = x.ReleaseDate.Year, Id = x.UniqueID, Url = String.Format("{0}/Watch/{1}/{2}/{3}/{4}", confProvider.RootUrl, GetLanguage(x.LanguageCode), x.ReleaseDate.Year, x.UniqueID, x.Name), ViewCount = x.ViewCount, LikeCount = x.LikeCount, Links = x.MovieLinks.Where(z => z.IsWebSupported).Select(y => new VideoLinkVm{ HostSite = y.DownloadSiteID, Title = ShortenLinkTitle(y.LinkTitle), Url = VideoScraperBase.GetScraper(y.DowloadUrl).GetFlashUrl(y.DowloadUrl), ID = y.ID, PartID = y.PartID, PartIndex = y.PartIndex }).ToList() }).FirstOrDefault(); movie.Links.Sort(); if (updateStat) { var m = db.Movies.Single(x => x.UniqueID == id); m.ViewCount++; db.SaveChanges(); } return movie; } catch { return null; } } }
private static void Update() { var doc = XDocument.Load("http://gkplugins.com/mapfile.xml"); var files = doc.Element("dir").Elements("file").ToList(); foreach (var file in files) { using (var db = new MovieFinderEntities()) { var gkName = file.Attribute("name").Value; var time = Convert.ToInt32(file.Attribute("time").Value); var rec = db.Plugins.FirstOrDefault(x => x.GKName == gkName && x.SiteID != null && time != x.LastUpdatedTime); if (rec == null) continue; //get zip file //updated plugin directory //update plugin xml file //update db rec.LastUpdatedTime = time; db.SaveChanges(); } } }
public void UpdateVisitor(VisitorProfile model) { using (var db = new MovieFinderEntities()) { } }
public void RemoveLink(string link) { Task.Factory.StartNew(() => { try { using (var db = new MovieFinderEntities()) { var ml = db.MovieLinks.FirstOrDefault(x => x.DowloadUrl == link && x.FailedAttempts <= 3); if (ml != null) { if (VideoScraperBase.ValidateUrl(ml.DowloadUrl) == MovieTube.Client.Scraper.ScraperResult.VideoDoesNotExist) { ml.FailedAttempts = 5; ml.LastValidatedBy = new Guid(); db.SaveChanges(); } } } } catch { } }); }
public List<MovieThumbnailVm> QueryMovies(string term, string langCode, int? year, int? page, int count) { using (var db = new MovieFinderEntities()) { try { IQueryable<Movie> movies = null; if (!String.IsNullOrWhiteSpace(langCode)) movies = db.Movies.Where(x => x.LanguageCode == langCode); if (!String.IsNullOrWhiteSpace(term)) movies = (movies == null ? db.Movies : movies).Where(x => x.Name.StartsWith(term)); if (year != 0) movies = (movies == null ? db.Movies : movies).Where(x => x.ReleaseDate.Year == year); if (movies == null) movies = db.Movies; var m = movies.OrderByDescending(x => x.ReleaseDate) .ThenByDescending(x => x.CreateDate) .Skip(page.Value * count) .Take(count) .ToList() .Select(x => new MovieThumbnailVm { ImageUrl = String.IsNullOrWhiteSpace(x.ImageLocalUrl) ? x.ImageUrl : imgUrlBuilder.Build(x.ImageLocalUrl), PostedBy = "Admin", PostedDate = x.CreateDate.ToShortDateString(), Title = x.Name, Language = GetLanguage(x.LanguageCode), ReleasedYear = x.ReleaseDate.Year, Id = x.UniqueID, Url = String.Format("{0}/Watch/{1}/{2}/{3}/{4}",confProvider.RootUrl, GetLanguage(x.LanguageCode), x.ReleaseDate.Year, x.UniqueID, x.Name), ViewCount = x.ViewCount, LikeCount = x.LikeCount }).ToList(); return m; } catch { return null; } } }