public List<Contract_VideoLocal> SearchForFiles(int searchType, string searchCriteria, int userID) { try { List<Contract_VideoLocal> vids = new List<Contract_VideoLocal>(); FileSearchCriteria sType = (FileSearchCriteria)searchType; VideoLocalRepository repVids = new VideoLocalRepository(); switch (sType) { case FileSearchCriteria.Name: List<VideoLocal> results1 = repVids.GetByName(searchCriteria.Trim()); foreach (VideoLocal vid in results1) vids.Add(vid.ToContract(userID)); break; case FileSearchCriteria.ED2KHash: VideoLocal vidByHash = repVids.GetByHash(searchCriteria.Trim()); if (vidByHash != null) vids.Add(vidByHash.ToContract(userID)); break; case FileSearchCriteria.Size: break; case FileSearchCriteria.LastOneHundred: List<VideoLocal> results2 = repVids.GetMostRecentlyAdded(100); foreach (VideoLocal vid in results2) vids.Add(vid.ToContract(userID)); break; } return vids; } catch (Exception ex) { logger.ErrorException(ex.ToString(), ex); } return new List<Contract_VideoLocal>(); }
public List<Contract_AnimeEpisode> GetEpisodesRecentlyAdded(int maxRecords, int jmmuserID) { List<Contract_AnimeEpisode> retEps = new List<Contract_AnimeEpisode>(); try { using (var session = JMMService.SessionFactory.OpenSession()) { AnimeEpisodeRepository repEps = new AnimeEpisodeRepository(); AnimeEpisode_UserRepository repEpUser = new AnimeEpisode_UserRepository(); JMMUserRepository repUsers = new JMMUserRepository(); VideoLocalRepository repVids = new VideoLocalRepository(); JMMUser user = repUsers.GetByID(session, jmmuserID); if (user == null) return retEps; List<VideoLocal> vids = repVids.GetMostRecentlyAdded(session, maxRecords); int numEps = 0; foreach (VideoLocal vid in vids) { foreach (AnimeEpisode ep in vid.GetAnimeEpisodes(session)) { if (user.AllowedSeries(ep.GetAnimeSeries(session))) { Contract_AnimeEpisode epContract = ep.ToContract(session, jmmuserID); if (epContract != null) { retEps.Add(epContract); numEps++; // Lets only return the specified amount if (retEps.Count == maxRecords) return retEps; } } } } } } catch (Exception ex) { logger.ErrorException(ex.ToString(), ex); } return retEps; }