public void PlayMovie(ApiMovie video) { if (video == null) { return; } if (!_parent.IsConnected()) { return; } var args = new JsonObject(); var items = new JsonObject(); args["movieid"] = video.IdMovie; items["item"] = args; items["playlistid"] = 1; var plId = new JsonObject(); plId["playlistid"] = 1; var item = new JsonObject(); item["item"] = plId; _parent.JsonCommand("Playlist.Clear", plId); _parent.JsonCommand("Playlist.Add", items); _parent.JsonCommand("Player.Open", item); }
public void PlayMovie(ApiMovie video) { if (video == null) { return; } if (!_parent.IsConnected()) { return; } EmbyPlayPlayList(video.Path); _parent.Trace("Attemping to Play IdEpsiode equals" + video.Path); /* * var args = new JsonObject(); * var items = new JsonObject(); * args["movieid"] = video.IdMovie; * items["item"] = args; * items["playlistid"] = 1; * var plId = new JsonObject(); * plId["playlistid"] = 1; * var item = new JsonObject(); * item["item"] = plId; * _parent.JsonCommand("Playlist.Clear", plId); * _parent.JsonCommand("Playlist.Add", items); * _parent.JsonCommand("Player.Open", item); */ }
public ApiMovie ToApi() { var api = new ApiMovie { Director = Director, Fanart = Fanart, FileName = FileName, Genre = Genre, Hash = Hash, IdFile = IdFile, IdMovie = IdMovie, IdScraper = IdScraper, IsStack = IsStack, Length = Length, Mpaa = Mpaa, OriginalTitle = OriginalTitle, Path = Path, PlayCount = PlayCount, Plot = Plot, Rating = Rating, Studio = Studio, Tagline = Tagline, Thumb = Thumb, Banner = Banner, Logo = Logo, Title = Title, Votes = Votes, Year = Year, DateAdded = DateAdded, MovieIcons = MovieIcons }; return(api); }
public Yatse2Movie(ApiMovie apiMovie) { if (apiMovie == null) { return; } FileName = apiMovie.FileName; Path = apiMovie.Path; Plot = apiMovie.Plot; Title = apiMovie.Title; Mpaa = apiMovie.Mpaa; OriginalTitle = apiMovie.OriginalTitle; Genre = apiMovie.Genre; Tagline = apiMovie.Tagline; Director = apiMovie.Director; IdFile = apiMovie.IdFile; IdScraper = apiMovie.IdScraper; IdMovie = apiMovie.IdMovie; Thumb = apiMovie.Thumb; Fanart = apiMovie.Fanart; Banner = apiMovie.Banner; Logo = apiMovie.Logo; Hash = apiMovie.Hash; IsStack = apiMovie.IsStack; Length = apiMovie.Length; PlayCount = apiMovie.PlayCount; Rating = apiMovie.Rating; Studio = apiMovie.Studio; Votes = apiMovie.Votes; Year = apiMovie.Year; DateAdded = apiMovie.DateAdded; MovieIcons = apiMovie.MovieIcons; }
public Collection <ApiMovie> GetMovies() { var movies = new Collection <ApiMovie>(); var dblines = _parent.DBCommand("video", "SELECT c00,c01,c03,c04,c05,c07,C09,c11,c12,c14,c15,c16,c18,idFile,idMovie,strFileName,strPath,playCount FROM movieview"); if (dblines == null) { return(movies); } foreach (var dbline in dblines) { if (dbline.Length < 18) { _parent.Log("Invalid request DATA : " + dbline); continue; } dbline[4] = dbline[4].Length > 3 ? dbline[4] : "0.0"; var movie = new ApiMovie { Title = dbline[0], Plot = dbline[1], Tagline = dbline[2], Votes = dbline[3], Rating = dbline[4].Substring(0, 3).Trim('.'), Year = Xbmc.StringToNumber(dbline[5]), IdScraper = dbline[6], Length = dbline[7], Mpaa = dbline[8], Genre = dbline[9], Director = dbline[10], OriginalTitle = dbline[11], Studio = dbline[12], IdFile = Xbmc.StringToNumber(dbline[13]), IdMovie = Xbmc.StringToNumber(dbline[14]), FileName = dbline[15], Path = dbline[16], PlayCount = Xbmc.StringToNumber(dbline[17]) }; if (movie.FileName.StartsWith("stack://", StringComparison.OrdinalIgnoreCase)) { var temp = movie.FileName.Split(new[] { " , " }, StringSplitOptions.None); movie.IsStack = 1; movie.Hash = Xbmc.Hash(temp[0].Replace("stack://", "")); movie.Thumb = @"special://profile/Thumbnails/Video/" + movie.Hash[0] + "/" + movie.Hash + ".tbn"; movie.Fanart = @"special://profile/Thumbnails/Video/Fanart/" + Xbmc.Hash(movie.FileName) + ".tbn"; } else { movie.IsStack = 0; movie.Hash = Xbmc.Hash(movie.Path + movie.FileName); movie.Thumb = @"special://profile/Thumbnails/Video/" + movie.Hash[0] + "/" + movie.Hash + ".tbn"; movie.Fanart = @"special://profile/Thumbnails/Video/Fanart/" + movie.Hash + ".tbn"; } movies.Add(movie); } return(movies); }
public Collection <ApiMovie> GetMovies() { var movies = new Collection <ApiMovie>(); var properties = new JsonArray(new[] { "title", "plot", "genre", "year", "fanart", "thumbnail", "playcount", "studio", "rating", "runtime", "mpaa", "originaltitle", "director", "votes" }); var param = new JsonObject(); param["properties"] = properties; var result = (JsonObject)_parent.JsonCommand("VideoLibrary.GetMovies", param); if (result != null) { if (result.Contains("movies")) { foreach (JsonObject genre in (JsonArray)result["movies"]) { try { var t = TimeSpan.FromSeconds((long)(JsonNumber)genre["runtime"]); var duration = string.Format("{0:D2}:{1:D2}", t.Hours, t.Minutes); var movie = new ApiMovie { Title = genre["title"].ToString(), Plot = genre["plot"].ToString(), Votes = genre["votes"].ToString(), Rating = genre["rating"].ToString(), Year = (long)(JsonNumber)genre["year"], IdScraper = "", Length = duration, Mpaa = genre["mpaa"].ToString(), Genre = _parent.JsonArrayToString((JsonArray)genre["genre"]), Director = _parent.JsonArrayToString((JsonArray)genre["director"]), OriginalTitle = genre["originaltitle"].ToString(), Studio = _parent.JsonArrayToString((JsonArray)genre["studio"]), IdFile = 0, IdMovie = (long)(JsonNumber)genre["movieid"], FileName = "", Path = "", PlayCount = 0, Thumb = genre["thumbnail"].ToString(), Fanart = genre["fanart"].ToString(), Hash = Xbmc.Hash(genre["thumbnail"].ToString()) }; movies.Add(movie); } catch (Exception) { } } } } return(movies); }
public ResponseStatus AddMovieToMyList(string movieName, StatusType status) { ResponseStatus response; ApiMovie newMovie = new ApiMovie { Name = movieName, Status = status }; return(AddMovie(out response, newMovie)); }
public void PlayMovie(ApiMovie video) { if (video == null) { return; } if (!_parent.IsConnected()) { return; } var file = (video.IsStack != 1) ? video.Path + video.FileName : video.FileName; _parent.AsyncCommand("PlayFile", file); }
public void PlayMovie(ApiMovie video) { if (video == null) { return; } if (!_parent.IsConnected()) { return; } var args = new JsonObject(); args["movieid"] = video.IdMovie; _parent.AsyncJsonCommand("XBMC.Play", args); }
public ActionResult <string> AddMovie(ApiMovie apiMovie) { string returnString = "Add movie failed: "; if (string.IsNullOrEmpty(apiMovie.Name)) { return(returnString + "Movie need a name"); } else if (string.IsNullOrEmpty(apiMovie.Length) || !Int32.TryParse(apiMovie.Length, out int i)) { return(returnString + "You need to right a number in movie length"); } else if (string.IsNullOrEmpty(apiMovie.Desc)) { return(returnString + "please just write something in the movie description"); } else if (apiMovie.Genre == null) { return(returnString + "No genre is seleceted"); } else if (apiMovie.File == null) { return(returnString + "No image file is select"); } byte[] imgBytes = new byte[apiMovie.File.Length]; using (var ms = new MemoryStream()) { apiMovie.File.CopyTo(ms); imgBytes = ms.ToArray(); } Movie movie = new Movie { Name = apiMovie.Name, Length = Convert.ToInt32(apiMovie.Length), Desc = apiMovie.Desc, Genre = (MovieGenre)Convert.ToInt32(apiMovie.Genre), ImageBytes = imgBytes }; bool success = _sqlService.AddMovie(movie); returnString = success ? "Add movie success" : returnString; return(returnString); }
private static ResponseStatus AddMovie(out ResponseStatus response, ApiMovie newMovie) { using (SQLite.SQLiteConnection conn = new SQLite.SQLiteConnection(App.DB_PATH)) { try { conn.CreateTable <ApiMovie>(); int nb = conn.Insert(newMovie); response = nb > 0 ? ResponseStatus.OK : ResponseStatus.NOT_OK; } catch (SQLiteException ex) { response = ResponseStatus.EXIST; } return(response); } }
public void PlayMovie(ApiMovie video) { if (video == null) { return; } if (!_parent.IsConnected()) { return; } if (video.IdFile == 0) { _parent.AsyncIPimpCommand(new CommandInfoIPimp { Action = "playmovie", Filter = video.IdMovie.ToString(CultureInfo.InvariantCulture), Value = "force", Tracks = "no" }); } if (video.IdFile == 1) { _parent.AsyncIPimpCommand(new CommandInfoIPimp { Action = "playmovingpicture", Filter = video.IdMovie.ToString(CultureInfo.InvariantCulture), Value = "force", Tracks = "no" }); } }
public Collection <ApiMovie> GetMovies() { var movies = new Collection <ApiMovie>(); var MovieId = GetMainSelection("Movies"); try { _parent.Trace("Getting Main Movie Database Result" + _parent.IP); string NPurl = "http://" + _parent.IP + ":" + _parent.Port + "/emby/Users/" + Globals.CurrentUserID + "/Items?ParentId=" + MovieId; var request = WebRequest.CreateHttp(NPurl); request.Method = "get"; request.Timeout = 150000; _parent.Trace("Main Selection: " + _parent.IP + ":" + _parent.Port); var authString = _parent.GetAuthString(); request.Headers.Add("X-MediaBrowser-Token", Globals.EmbyAuthToken); request.Headers.Add("X-Emby-Authorization", authString); request.ContentType = "application/json; charset=utf-8"; request.Accept = "application/json; charset=utf-8"; var response = request.GetResponse(); if (((HttpWebResponse)response).StatusCode == HttpStatusCode.OK) { System.IO.Stream dataStream = response.GetResponseStream(); //REMOVETHIS System.IO.StreamReader reader = new System.IO.StreamReader(dataStream); using (var sr = new System.IO.StreamReader(response.GetResponseStream())) { string json = sr.ReadToEnd(); _parent.Trace("--------------GETTING All Movies Results ------" + json); var deserializer = new JavaScriptSerializer(); var ItemData = deserializer.Deserialize <Movies.Rootobject>(json); _parent.Trace("---------------Get Worlds Result: Issue: Results.Count: " + ItemData.Items.Count); foreach (var id in ItemData.Items) { try { SingleMovieItem.Rootobject Movieitem = GetSingleMovieItem(id.Id); string newDirector = ""; bool index = Movieitem.People.Any(item => item.Type == "Director"); if (index == true) { newDirector = Movieitem.People.First(i => i.Type == "Director").Name.ToString(); } var Seconds = Convert.ToInt64(id.RunTimeTicks); var RoundSeconds = Math.Round(Seconds / 10000000.00, 1); var movie = new ApiMovie { Title = Movieitem.Name ?? "Unknown", Plot = Movieitem.Overview ?? "Unknown", Votes = Movieitem.VoteCount.ToString() ?? "0", Rating = id.CommunityRating.ToString() ?? "0", Year = id.ProductionYear, Tagline = Movieitem.Taglines.FirstOrDefault() ?? "Might be a good movie", IdScraper = Movieitem.ProviderIds.Imdb ?? "", Length = new TimeSpan(0, 0, 0, Convert.ToInt32(RoundSeconds)).ToString() ?? "Unknown", Mpaa = id.OfficialRating ?? "Unknown", Genre = Movieitem.Genres.FirstOrDefault() ?? "Unknown", Director = newDirector ?? "", OriginalTitle = id.Name ?? "", Studio = Movieitem.Studios.FirstOrDefault().Name ?? "Unknown", IdFile = 0, IdMovie = Xbmc.IDtoNumber(Movieitem.Id), FileName = Movieitem.Path ?? "", Path = Movieitem.Id ?? "", PlayCount = Movieitem.UserData.PlayCount, Thumb = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + id.Id + "/Images/Primary", Fanart = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + id.Id + "/Images/Backdrop", Hash = Xbmc.Hash(id.Id) }; movies.Add(movie); } catch (Exception ex) { _parent.Trace("Exception with Movie Name :" + ex); } } /* * _nowPlaying.FanartURL = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + server.PrimaryItemId + "/Images/Backdrop"; * _nowPlaying.ThumbURL = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + server.PrimaryItemId + "/Images/Primary"; */ } } } catch (Exception ex) { _parent.Trace("ERROR in Main Movies obtaining: " + ex); } /* * * var properties = new JsonArray(new[] { "title", "plot", "genre", "year", "fanart", "thumbnail", "playcount", "studio", "rating", "runtime", "mpaa", "originaltitle", "director", "votes" }); * var param = new JsonObject(); * param["properties"] = properties; * var result = (JsonObject)_parent.JsonCommand("VideoLibrary.GetMovies", param); * if (result != null) * { * if (result.Contains("movies")) * { * foreach (JsonObject genre in (JsonArray)result["movies"]) * { * try * { * var t = TimeSpan.FromSeconds((long)(JsonNumber)genre["runtime"]); * var duration = string.Format("{0:D2}:{1:D2}", t.Hours, t.Minutes); * var movie = new ApiMovie * { * * Title = genre["title"].ToString(), * Plot = genre["plot"].ToString(), * Votes = genre["votes"].ToString(), * Rating = genre["rating"].ToString(), * Year = (long)(JsonNumber)genre["year"], * IdScraper = "", * Length = duration, * Mpaa = genre["mpaa"].ToString(), * Genre = _parent.JsonArrayToString((JsonArray)genre["genre"]), * Director = _parent.JsonArrayToString((JsonArray)genre["director"]), * OriginalTitle = genre["originaltitle"].ToString(), * Studio = _parent.JsonArrayToString((JsonArray)genre["studio"]), * IdFile = 0, * IdMovie = (long)(JsonNumber)genre["movieid"], * FileName = "", * Path = "", * PlayCount = 0, * Thumb = genre["thumbnail"].ToString(), * Fanart = genre["fanart"].ToString(), * Hash = Xbmc.Hash(genre["thumbnail"].ToString()) * }; * movies.Add(movie); * } * catch (Exception) * { * } * } * } * } */ return(movies); }
public void PlayMovie(ApiMovie video) { }
public Collection <ApiMovie> GetMovies() { var movies = new Collection <ApiMovie>(); if (!_parent.IsConnected()) { return(movies); } var dblines = _parent.IPimpDBCommand(new CommandInfoIPimp { Action = "getallmovies" }, "movies"); if (dblines == null) { return(movies); } foreach (JsonObject dbline in dblines) { var movie = new ApiMovie { Title = (string)dbline["title"], Plot = (string)dbline["plot"], Tagline = (string)dbline["tagline"], Votes = (string)dbline["votes"], Rating = Convert.ToDouble(((string)dbline["rating"]).Replace(',', '.'), CultureInfo.InvariantCulture).ToString(CultureInfo.InvariantCulture), Year = Convert.ToInt32(dbline["year"], CultureInfo.InvariantCulture), IdScraper = (string)dbline["imdbNumber"], Length = "", Mpaa = (string)dbline["mpaa"], Genre = (string)dbline["genre"], Director = (string)dbline["director"], OriginalTitle = (string)dbline["originaltitle"], Studio = "", IdFile = 0, IdMovie = Convert.ToInt32(dbline["id"], CultureInfo.InvariantCulture), FileName = (string)dbline["files"], Path = (string)dbline["path"], PlayCount = Convert.ToInt32(dbline["watched"], CultureInfo.InvariantCulture), Thumb = (string)dbline["thumb"], Fanart = (string)dbline["fanart"], Hash = MediaPortal.Hash((string)dbline["files"]) }; movies.Add(movie); } dblines = _parent.IPimpDBCommand(new CommandInfoIPimp { Action = "getallmovingpicture" }, "movies"); if (dblines == null) { return(movies); } foreach (JsonObject dbline in dblines) { var movie = new ApiMovie { Title = (string)dbline["title"], Plot = (string)dbline["plot"], Tagline = (string)dbline["tagline"], Votes = (string)dbline["votes"], Rating = Convert.ToDouble(((string)dbline["rating"]).Replace(',', '.'), CultureInfo.InvariantCulture).ToString(CultureInfo.InvariantCulture), Year = Convert.ToInt32(dbline["year"], CultureInfo.InvariantCulture), IdScraper = (string)dbline["imdbNumber"], Length = "", Mpaa = (string)dbline["mpaa"], Genre = (string)dbline["genre"], Director = (string)dbline["director"], OriginalTitle = (string)dbline["originaltitle"], Studio = "", IdFile = 1, IdMovie = Convert.ToInt32(dbline["id"], CultureInfo.InvariantCulture), FileName = (string)dbline["files"], Path = (string)dbline["path"], PlayCount = Convert.ToInt32(dbline["watched"], CultureInfo.InvariantCulture), Thumb = (string)dbline["thumb"], Fanart = (string)dbline["fanart"], Hash = MediaPortal.Hash((string)dbline["files"]) }; movies.Add(movie); } return(movies); }
public Collection <ApiMovie> GetMovies() { var movies = new Collection <ApiMovie>(); //add dateadded var properties = new JsonArray(new[] { "title", "art", "streamdetails", "plot", "dateadded", "genre", "year", "fanart", "thumbnail", "playcount", "studio", "rating", "runtime", "mpaa", "originaltitle", "director", "votes", "file" }); var param = new JsonObject(); param["properties"] = properties; var result = (JsonObject)_parent.JsonCommand("VideoLibrary.GetMovies", param); if (result != null) { if (result.Contains("movies")) { foreach (JsonObject genre in (JsonArray)result["movies"]) { try { var t = TimeSpan.FromSeconds((long)(JsonNumber)genre["runtime"]); var duration = string.Format("{0:D2}:{1:D2}", t.Hours, t.Minutes); var clearlogo = "NONE"; var banner = "NONE"; // go through art and see. JsonObject results = (JsonObject)genre["art"]; if (results != null) { if (results["clearlogo"] != null) { clearlogo = results["clearlogo"].ToString(); } if (results["banner"] != null) { banner = results["banner"].ToString(); } } JsonObject streamdetails = (JsonObject)genre["streamdetails"]; List <string> MovieIcons = new List <string>(); MovieIcons = GetMovieIcons(streamdetails); var movie = new ApiMovie { Title = genre["title"].ToString(), Plot = genre["plot"].ToString(), Votes = genre["votes"].ToString(), Rating = genre["rating"].ToString(), Year = (long)(JsonNumber)genre["year"], IdScraper = "", Length = duration, Mpaa = genre["mpaa"].ToString(), Genre = _parent.JsonArrayToString((JsonArray)genre["genre"]), Director = _parent.JsonArrayToString((JsonArray)genre["director"]), OriginalTitle = genre["originaltitle"].ToString(), Studio = _parent.JsonArrayToString((JsonArray)genre["studio"]), IdFile = 0, IdMovie = (long)(JsonNumber)genre["movieid"], FileName = genre["file"].ToString(), Path = "", PlayCount = 0, Thumb = genre["thumbnail"].ToString(), Fanart = genre["fanart"].ToString(), Logo = clearlogo, Banner = banner, Hash = Xbmc.Hash(genre["thumbnail"].ToString()), DateAdded = genre["dateadded"].ToString(), MovieIcons = String.Join(",", MovieIcons) }; movies.Add(movie); } catch (Exception ex) { _parent.Log("Exception Caught: Json Clearlogo seems to equal :" + ex); } } } } return(movies); }
public Collection <ApiMovie> GetMovies() { var movies = new Collection <ApiMovie>(); //testing only return(movies); // testing okay // delete try { getallItems("/MCWS/v1/Files/Search?Action=mpl&ActiveFile=-1&Zone=-1&ZoneType=ID&Query=[Media%20Sub%20Type]=[Movie]"); var isMovie = false; _parent.Trace("GetMoviesRefresh : Parent IP: " + _parent.IP); // iterate through Items foreach (var Field in Allitems) { var Logoutput = ""; Field.TryGetValue("Name", out Logoutput); _parent.Trace("************* Logging : " + Logoutput); var result = ""; if (Field.TryGetValue("Media Sub Type", out result)) { if (result == "Movie") { isMovie = true; _parent.Trace("Movie: " + isMovie); } else { continue; } } long PlayCount = 0; string Plays = ""; if (Field.TryGetValue("Number Plays", out Plays)) { PlayCount = long.TryParse(Plays, out PlayCount) ? PlayCount : 0; } long SeasonNumber = 0; string Season = ""; if (Field.TryGetValue("Season", out Season)) { SeasonNumber = long.TryParse(Season, out SeasonNumber) ? SeasonNumber : 0; } long EpisodeNumber = 0; string EpisodeNo = ""; if (Field.TryGetValue("Episode", out EpisodeNo)) { EpisodeNumber = long.TryParse(EpisodeNo, out EpisodeNumber) ? EpisodeNumber : 0; } string FileKey = ""; string Thumb2 = ""; string Fanart2 = ""; string LogoArt = ""; string BannerArt = ""; if (Field.TryGetValue("Key", out FileKey)) { Thumb2 = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Thumbnail&Format=jpg&Token=" + _parent.JRiverAuthToken ?? ""; Fanart2 = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Full&Format=jpg&Token=" + _parent.JRiverAuthToken ?? ""; } // use directory for fanart if exists var filename = Field.ValueOrDefault("Filename"); if (filename != null & filename != "") { var filePath = Path.GetDirectoryName(Field.ValueOrDefault("Filename")); var fanartPath = Path.Combine(filePath, "fanart.jpg"); var LogoPath = Path.Combine(filePath, "logo.png"); var ThumbPath = Path.Combine(filePath, "poster.jpg"); var BannerPath = Path.Combine(filePath, "banner.jpg"); System.IO.FileInfo fi = new System.IO.FileInfo(fanartPath); System.IO.FileInfo fiLogo = new System.IO.FileInfo(LogoPath); System.IO.FileInfo fiThumb = new System.IO.FileInfo(ThumbPath); System.IO.FileInfo fiBanner = new System.IO.FileInfo(BannerPath); _parent.Trace("JRiver: ** filePath ** :" + filePath); _parent.Trace("JRiver: ** fanArt.Jpg ** :" + fanartPath); _parent.Trace("JRiver: ** Logo.Png ** :" + LogoPath); if (fi.Exists) { Fanart2 = fanartPath; //if fanart.jpg exisits in directory with movie use this otherwise default to JRiver Thumb } if (fiLogo.Exists) { LogoArt = LogoPath; } if (fiThumb.Exists) { Thumb2 = ThumbPath; } if (fiBanner.Exists) { BannerArt = BannerPath; } } //** uses directories for fanart if present DateTime myDateTime = new DateTime(); try { string datestring = "01/01/1900"; if (Field.TryGetValue("Date Created", out datestring)) { myDateTime = DateTime.Parse(datestring); } } catch (Exception ex) { // _parent.Trace("JRiver Error: dateTime Exception: " + ex); myDateTime = DateTime.Parse("1900-01-01"); } string sqlFormattedDate = myDateTime.ToString("s"); // List<string> MovieIcons = new List<string>(); // if null equals null- doesn't make much sense but no harm. Perhaps change to empty later. // needs to be empty otherwise will fail with null exception down further // // MovieIcons = GetMovieIcons(Movieitem); int DurationNumber = 0; string Duration = ""; if (Field.TryGetValue("Duration", out Duration)) { DurationNumber = int.TryParse(Duration, out DurationNumber) ? DurationNumber : 0; } var movie = new ApiMovie { Title = Field.ValueOrDefault("Name"), Plot = Field.ValueOrDefault("Comment"), Votes = "0", Rating = "Unrated", Year = 0, Tagline = Field.ValueOrDefault("Tag Line"), IdScraper = Field.ValueOrDefault("IMDB Id"), Length = new TimeSpan(0, 0, 0, DurationNumber).ToString() ?? "Unknown", Mpaa = Field.ValueOrDefault("MPAA Rating"), Genre = Field.ValueOrDefault("Genre"), Director = Field.ValueOrDefault("Director"), OriginalTitle = Field.ValueOrDefault("Original Title"), Studio = Field.ValueOrDefault("Studio"), IdFile = Xbmc.IDtoNumber(FileKey), IdMovie = Xbmc.IDtoNumber(FileKey), FileName = Field.ValueOrDefault("Filename"), Path = Field.ValueOrDefault("Filename"), PlayCount = PlayCount, Thumb = Thumb2, Banner = BannerArt, Logo = LogoArt, Fanart = Fanart2, Hash = Xbmc.Hash(FileKey), DateAdded = sqlFormattedDate, MovieIcons = "" }; if (isMovie) { movies.Add(movie); _parent.Trace(movies.ToString()); } } } catch (Exception ex) { _parent.Trace("Exception with Movie Name :" + ex); } return(movies); }
public Collection <ApiMovie> GetMoviesRefresh() { var movies = new Collection <ApiMovie>(); // return(movies); // try { getallItems("/MCWS/v1/Files/Search?Action=mpl&ActiveFile=-1&Zone=-1&ZoneType=ID&Query=[Media%20Sub%20Type]=[Movie]"); _parent.Trace("GetMoviesRefresh : Parent IP: " + _parent.IP); // iterate through Items foreach (var Field in Allitems) { var isMovie = false; //_parent.Trace(Field.Values.ToString()); var Logoutput = ""; Field.TryGetValue("Name", out Logoutput); // _parent.Trace("************* Logging : " + Logoutput); var result = ""; if (Field.TryGetValue("Media Sub Type", out result)) { if (result == "Movie") { isMovie = true; _parent.Trace("Movie Found: " + Logoutput + " and isMovie true"); } else { continue; } } long PlayCount = 0; string Plays = ""; if (Field.TryGetValue("Number Plays", out Plays)) { PlayCount = long.TryParse(Plays, out PlayCount) ? PlayCount : 0; } long SeasonNumber = 0; string Season = ""; if (Field.TryGetValue("Season", out Season)) { SeasonNumber = long.TryParse(Season, out SeasonNumber) ? SeasonNumber : 0; } long EpisodeNumber = 0; string EpisodeNo = ""; if (Field.TryGetValue("Episode", out EpisodeNo)) { EpisodeNumber = long.TryParse(EpisodeNo, out EpisodeNumber) ? EpisodeNumber : 0; } string FileKey = ""; string Thumb2 = ""; string Fanart2 = ""; if (Field.TryGetValue("Key", out FileKey)) { Thumb2 = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Thumbnail&Format=jpg&Token=" + _parent.JRiverAuthToken ?? ""; Fanart2 = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Full&Format=jpg&Token=" + _parent.JRiverAuthToken ?? ""; } DateTime myDateTime = new DateTime(); try { string datestring = "01/01/1900"; if (Field.TryGetValue("Date Created", out datestring)) { myDateTime = DateTime.Parse(datestring); } } catch (Exception ex) { // _parent.Trace("JRiver Caught Error: dateTime:Exception: " + ex); myDateTime = DateTime.Parse("1900-01-01"); } string sqlFormattedDate = myDateTime.ToString("s"); // List<string> MovieIcons = new List<string>(); // if null equals null- doesn't make much sense but no harm. Perhaps change to empty later. // needs to be empty otherwise will fail with null exception down further // // MovieIcons = GetMovieIcons(Movieitem); int DurationNumber = 0; string Duration = ""; if (Field.TryGetValue("Duration", out Duration)) { DurationNumber = int.TryParse(Duration, out DurationNumber) ? DurationNumber : 0; } var movie = new ApiMovie { Title = Field.ValueOrDefault("Name"), Plot = Field.ValueOrDefault("Comment"), Votes = "0", Rating = "Unrated", Year = 0, Tagline = Field.ValueOrDefault("Tag Line"), IdScraper = Field.ValueOrDefault("IMDB Id"), Length = new TimeSpan(0, 0, 0, DurationNumber).ToString() ?? "Unknown", Mpaa = Field.ValueOrDefault("MPAA Rating"), Genre = Field.ValueOrDefault("Genre"), Director = Field.ValueOrDefault("Director"), OriginalTitle = Field.ValueOrDefault("Original Title"), Studio = Field.ValueOrDefault("Studio"), IdFile = Xbmc.IDtoNumber(FileKey), IdMovie = Xbmc.IDtoNumber(FileKey), FileName = Field.ValueOrDefault("Filename"), Path = Field.ValueOrDefault("Filename"), PlayCount = PlayCount, Thumb = Thumb2, Banner = "NoBanner", Logo = "NoLogo", Fanart = Fanart2, Hash = Xbmc.Hash(FileKey), DateAdded = sqlFormattedDate, MovieIcons = "" }; if (isMovie) { movies.Add(movie); } } } catch (Exception ex) { _parent.Trace("Uncaught Exception with Movie Name :" + ex); } return(movies); }