/// <summary> /// Handles the BeforePopup event of the popupPoster control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.ComponentModel.CancelEventArgs"/> instance containing the event data.</param> private void popupPoster_BeforePopup(object sender, CancelEventArgs e) { var selectPosterUsingUrl = new BarButtonItem(this.barManager1, "Get From Url") { Glyph = Resources.globe32 }; this.popupPoster.ClearLinks(); this.popupPoster.AddItem(selectPosterUsingUrl); List <MovieModel> movieCollection = MovieSetManager.GetMoviesInSets(MovieSetManager.GetCurrentSet); foreach (MovieModel movie in movieCollection) { if (!string.IsNullOrEmpty(movie.CurrentPosterImageUrl) || !string.IsNullOrEmpty(movie.PosterPathOnDisk)) { string path = movie.PosterPathOnDisk; if (string.IsNullOrEmpty(path)) { path = movie.CurrentPosterImageUrl; } var selectPosterFromMovie = new BarButtonItem( this.barManager1, string.Format("Use poster from {0}", movie.Title)) { Tag = path, Glyph = ImageHandler.ResizeImage(movie.SmallPoster, 32, 46) }; selectPosterFromMovie.ItemClick += this.selectPosterFromMovie_ItemClick; this.popupPoster.AddItem(selectPosterFromMovie); } } }
/// <summary> /// Handles the DoWork event of the bgw control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.ComponentModel.DoWorkEventArgs"/> instance containing the event data.</param> private void bgw_DoWork(object sender, DoWorkEventArgs e) { this.bgw.ReportProgress(17, "Loading Media Path Database"); DatabaseIOFactory.Load(DatabaseIOFactory.OutputName.MediaPathDb); this.bgw.ReportProgress(34, "Loading Movie Database"); DatabaseIOFactory.Load(DatabaseIOFactory.OutputName.MovieDb); this.bgw.ReportProgress(51, "Loading Media Sets Database"); DatabaseIOFactory.Load(DatabaseIOFactory.OutputName.MovieSets); this.bgw.ReportProgress(68, "Loading Tv Database"); DatabaseIOFactory.Load(DatabaseIOFactory.OutputName.TvDb); this.bgw.ReportProgress(80, "Loading Media Path Database"); DatabaseIOFactory.Load(DatabaseIOFactory.OutputName.ScanSeriesPick); this.bgw.ReportProgress(88, "Populating Movie Media Database"); MasterMediaDBFactory.PopulateMasterMovieMediaDatabase(); this.bgw.ReportProgress(96, "Populating TV Media Database"); MasterMediaDBFactory.PopulateMasterTvMediaDatabase(); this.bgw.ReportProgress(97, "Validating Sets"); MovieSetManager.ValidateSets(); this.bgw.ReportProgress(100, "Done."); }
/// <summary> /// Merges the import database with main movie database /// </summary> public static void MergeImportDatabaseWithMain() { ValidateDatabaseExistance(); MovieDBFactory.MergeWithDatabase(ImportDatabase); MasterMediaDBFactory.PopulateMasterMovieMediaDatabase(); MovieDBFactory.MergeWithDatabase(ImportDuplicatesDatabase, MovieDBFactory.MovieDBTypes.Duplicates); MovieSetManager.ScanForSetImages(); }
/// <summary> /// Removes the movie from set. /// </summary> private void RemoveMovieFromSet() { foreach (int movieIndex in this.gridView.GetSelectedRows()) { var movie = this.gridView.GetRow(movieIndex) as MovieSetObjectModel; MovieSetManager.RemoveFromSet(movie.MovieUniqueId); MovieDBFactory.GetMovie(movie.MovieUniqueId).ChangedText = true; } }
/// <summary> /// Adds the movie to set. /// </summary> /// <param name="movie"> /// The movie. /// </param> public void AddMovieToSet(MovieModel movie) { if (string.IsNullOrEmpty(MovieSetManager.GetCurrentSet.SetName)) { XtraMessageBox.Show("No set selected to add movie too"); return; } MovieSetManager.AddMovieToCurrentSet(movie); }
/// <summary> /// Handles the Click event of the BtnAddNewSet control. /// </summary> /// <param name="sender"> /// The source of the event. /// </param> /// <param name="e"> /// The <see cref="System.EventArgs"/> instance containing the event data. /// </param> private void btnAddNewSet_Click(object sender, EventArgs e) { var enterAValue = new FrmEnterAValue("Enter a new set name"); enterAValue.ShowDialog(); if (!string.IsNullOrEmpty(enterAValue.Response)) { MovieSetManager.AddNewSet(enterAValue.Response); } }
/// <summary> /// Handles the Click event of the btnMoveUp control. /// </summary> /// <param name="sender"> /// The source of the event. /// </param> /// <param name="e"> /// The <see cref="System.EventArgs"/> instance containing the event data. /// </param> private void btnMoveUp_Click(object sender, EventArgs e) { MovieSetObjectModel currentRow = this.GetCurrentRow(); if (currentRow == null) { return; } MovieSetManager.GetCurrentSet.MoveMovieUp(currentRow.MovieUniqueId); this.RefreshAndReorder(); this.SwitchUpDownButtons(); MovieSetManager.SetAllMoviesChangedInCurrentSet(); }
/// <summary> /// Handles the Click event of the btnDeleteSet control.c /// </summary> /// <param name="sender"> /// The source of the event. /// </param> /// <param name="e"> /// The <see cref="System.EventArgs"/> instance containing the event data. /// </param> private void btnDeleteSet_Click(object sender, EventArgs e) { if (MovieSetManager.GetCurrentSet.Movies.Count > 0) { DialogResult result = XtraMessageBox.Show( string.Format("Are you sure you wish to delete '{0}'?", MovieSetManager.GetCurrentSet.SetName), "Are you sure?", MessageBoxButtons.YesNo); if (result == DialogResult.No) { return; } } MovieSetManager.RemoveSet(this.cmbSetsList.Text); }
/// <summary> /// Handles the Click event of the BtnAddNewSet control. /// </summary> /// <param name="sender"> /// The source of the event. /// </param> /// <param name="e"> /// The <see cref="System.EventArgs"/> instance containing the event data. /// </param> private void btnAddNewSet_Click(object sender, EventArgs e) { var enterAValue = new FrmEnterAValue("Enter a new set name"); enterAValue.ShowDialog(); if (!string.IsNullOrEmpty(enterAValue.Response)) { if (!MovieSetManager.HasSetWithName(enterAValue.Response)) { MovieSetManager.AddNewSet(enterAValue.Response); } else { var notificationPanel = new FrmShowNotification("There is already a set with this name"); notificationPanel.ShowDialog(); } } }
/// <summary> /// Handles the Click event of the BtnAddNewSet control. /// </summary> /// <param name="sender"> /// The source of the event. /// </param> /// <param name="e"> /// The <see cref="System.EventArgs"/> instance containing the event data. /// </param> private void btnAddNewSet_Click(object sender, EventArgs e) { var enterAValue = new FrmEnterAValue("Enter a new set name"); enterAValue.ShowDialog(); if (!string.IsNullOrEmpty(enterAValue.Response)) { if (!MovieSetManager.HasSetWithName(enterAValue.Response)) { MovieSetManager.AddNewSet(enterAValue.Response); } else { XtraMessageBox.Show( string.Format("There is already a set called {0}", enterAValue.Response), string.Format("Set '{0}' already exists", enterAValue.Response), MessageBoxButtons.OK, MessageBoxIcon.Stop); } } }
private void PickFileDialog(FileType type) { var openFileDialog = new OpenFileDialog { Title = string.Format("Select a new set {0}", type), Filter = Language.SetManagerUserControl_PickFileDialog_Jpeg____jpg____jpg_All_files__________ }; var result = openFileDialog.ShowDialog(); if (result == DialogResult.OK) { if (type == FileType.Poster) { MovieSetManager.ChangeCurrentSetPoster(openFileDialog.FileName); this.SetPosterDataBinding(); } else { MovieSetManager.ChangeCurrentSetFanart(openFileDialog.FileName); this.SetFanartDataBinding(); } } }
/// <summary> /// Saves the movie. /// </summary> /// <param name="movieModel"> /// The movie model. /// </param> public void SaveMovie(MovieModel movieModel) { string actualTrailerFileName = ""; string actualTrailerFileNameExt = ""; string actualFilePath = movieModel.AssociatedFiles.Media[0].FileModel.Path; string actualFileName = movieModel.AssociatedFiles.Media[0].FileModel.FilenameWithOutExt; string currentTrailerUrl = movieModel.CurrentTrailerUrl; MovieSaveSettings movieSaveSettings = Get.InOutCollection.CurrentMovieSaveSettings; string nfoPath = string.IsNullOrEmpty(movieSaveSettings.NfoPath) ? actualFilePath : movieSaveSettings.NfoPath; string posterPath = Downloader.ProcessDownload( movieModel.CurrentPosterImageUrl, DownloadType.Binary, Section.Movies); string fanartPathFrom = Downloader.ProcessDownload( movieModel.CurrentFanartImageUrl, DownloadType.Binary, Section.Movies); string trailerPathFrom = Downloader.ProcessDownload( movieModel.CurrentTrailerUrl, DownloadType.AppleBinary, Section.Movies); string nfoXml = GenerateOutput.GenerateMovieOutput(movieModel); string nfoTemplate; string posterTemplate; string fanartTemplate; string trailerTemplate; string setPosterTemplate; string setFanartTemplate; if (MovieNaming.IsDVD(movieModel.GetBaseFilePath)) { actualFilePath = MovieNaming.GetDvdPath(movieModel.GetBaseFilePath); actualFileName = MovieNaming.GetDvdName(movieModel.GetBaseFilePath); nfoTemplate = movieSaveSettings.DvdNfoNameTemplate; posterTemplate = movieSaveSettings.DvdPosterNameTemplate; fanartTemplate = movieSaveSettings.DvdFanartNameTemplate; trailerTemplate = movieSaveSettings.DvdTrailerNameTemplate; setPosterTemplate = movieSaveSettings.DvdSetPosterNameTemplate; setFanartTemplate = movieSaveSettings.DvdSetFanartNameTemplate; } else if (MovieNaming.IsBluRay(movieModel.GetBaseFilePath)) { actualFilePath = MovieNaming.GetBluRayPath(movieModel.GetBaseFilePath); actualFileName = MovieNaming.GetBluRayName(movieModel.GetBaseFilePath); nfoTemplate = movieSaveSettings.BlurayNfoNameTemplate; posterTemplate = movieSaveSettings.BlurayPosterNameTemplate; fanartTemplate = movieSaveSettings.BlurayFanartNameTemplate; trailerTemplate = movieSaveSettings.BlurayTrailerNameTemplate; setPosterTemplate = movieSaveSettings.BluraySetPosterNameTemplate; setFanartTemplate = movieSaveSettings.BluraySetFanartNameTemplate; } else { nfoTemplate = movieSaveSettings.NormalNfoNameTemplate; posterTemplate = movieSaveSettings.NormalPosterNameTemplate; fanartTemplate = movieSaveSettings.NormalFanartNameTemplate; trailerTemplate = movieSaveSettings.NormalTrailerNameTemplate; setPosterTemplate = movieSaveSettings.NormalSetPosterNameTemplate; setFanartTemplate = movieSaveSettings.NormalSetFanartNameTemplate; } if (!string.IsNullOrEmpty(currentTrailerUrl)) { actualTrailerFileName = currentTrailerUrl.Substring(currentTrailerUrl.LastIndexOf('/') + 1, currentTrailerUrl.LastIndexOf('.') - currentTrailerUrl.LastIndexOf('/') - 1); actualTrailerFileNameExt = currentTrailerUrl.Substring(currentTrailerUrl.LastIndexOf('.') + 1); } string nfoOutputName = nfoTemplate.Replace("<path>", actualFilePath).Replace("<filename>", actualFileName); string posterOutputName = posterTemplate.Replace("<path>", actualFilePath).Replace("<filename>", actualFileName).Replace( "<ext>", "jpg"); string fanartOutputName = fanartTemplate.Replace("<path>", actualFilePath).Replace("<filename>", actualFileName).Replace( "<ext>", "jpg"); string trailerOutputName = trailerTemplate.Replace("<path>", actualFilePath).Replace("<filename>", actualFileName).Replace( "<trailername>", actualTrailerFileName).Replace("<ext>", actualTrailerFileNameExt); string setPosterOutputPath = setPosterTemplate.Replace("<path>", actualFilePath).Replace( "<filename>", actualFileName); string setFanartOutputPath = setFanartTemplate.Replace("<path>", actualFilePath).Replace( "<filename>", actualFileName); // Handle Set Images List <string> sets = MovieSetManager.GetSetsContainingMovie(movieModel); if (sets.Count > 0) { foreach (string setName in sets) { MovieSetModel set = MovieSetManager.GetSet(setName); MovieSetObjectModel setObjectModel = (from s in set.Movies where s.MovieUniqueId == movieModel.MovieUniqueId select s). SingleOrDefault(); string currentSetPosterPath = setPosterOutputPath.Replace("<setname>", setName).Replace( "<ext>", ".jpg"); string currentSetFanartPath = setFanartOutputPath.Replace("<setname>", setName).Replace( "<ext>", ".jpg"); if (setObjectModel.Order == 1) { if (File.Exists(set.PosterUrl)) { File.Copy(set.PosterUrl, currentSetPosterPath); } if (File.Exists(set.FanartUrl)) { File.Copy(set.FanartUrl, currentSetFanartPath); } } else { if (File.Exists(set.PosterUrl) && File.Exists(currentSetPosterPath)) { File.Delete(currentSetPosterPath); } if (File.Exists(set.FanartUrl) && File.Exists(currentSetFanartPath)) { File.Delete(currentSetFanartPath); } } } } if (movieSaveSettings.IoType == MovieIOType.All || movieSaveSettings.IoType == MovieIOType.Nfo) { try { this.WriteNFO(nfoXml, nfoOutputName); movieModel.ChangedText = false; Log.WriteToLog( LogSeverity.Info, 0, "NFO Saved To Disk for " + movieModel.Title, nfoPath + nfoOutputName); } catch (Exception ex) { Log.WriteToLog(LogSeverity.Error, 0, "Saving NFO Failed for " + movieModel.Title, ex.Message); } } if (movieSaveSettings.IoType == MovieIOType.All || movieSaveSettings.IoType == MovieIOType.Poster || movieSaveSettings.IoType == MovieIOType.Images) { try { if (!string.IsNullOrEmpty(movieModel.CurrentPosterImageUrl)) { this.CopyFile(posterPath, posterOutputName); movieModel.ChangedPoster = false; Log.WriteToLog( LogSeverity.Info, 0, "Poster Saved To Disk for " + movieModel.Title, posterPath + " -> " + posterOutputName); } } catch (Exception ex) { Log.WriteToLog(LogSeverity.Error, 0, "Saving Poster Failed for " + movieModel.Title, ex.Message); } } if (movieSaveSettings.IoType == MovieIOType.All || movieSaveSettings.IoType == MovieIOType.Fanart || movieSaveSettings.IoType == MovieIOType.Images) { try { if (!string.IsNullOrEmpty(movieModel.CurrentFanartImageUrl)) { this.CopyFile(fanartPathFrom, fanartOutputName); movieModel.ChangedFanart = false; Log.WriteToLog( LogSeverity.Info, 0, "Fanart Saved To Disk for " + movieModel.Title, fanartPathFrom + " -> " + fanartOutputName); } } catch (Exception ex) { Log.WriteToLog(LogSeverity.Error, 0, "Saving Fanart Failed for " + movieModel.Title, ex.Message); } } if (movieSaveSettings.IoType == MovieIOType.All || movieSaveSettings.IoType == MovieIOType.Trailer) { try { if (!string.IsNullOrEmpty(movieModel.CurrentTrailerUrl)) { this.CopyFile(trailerPathFrom, trailerOutputName); movieModel.ChangedTrailer = false; Log.WriteToLog( LogSeverity.Info, 0, "Trailer Saved To Disk for " + movieModel.Title, trailerPathFrom + " -> " + trailerOutputName); } } catch (Exception ex) { Log.WriteToLog(LogSeverity.Error, 0, "Saving Trailer Failed for " + movieModel.Title, ex.Message); } } }
/// <summary> /// Handles the ItemClick event of the byMoviePoster control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="DevExpress.XtraBars.ItemClickEventArgs"/> instance containing the event data.</param> private void selectPosterFromMovie_ItemClick(object sender, ItemClickEventArgs e) { MovieSetManager.ChangeCurrentSetPoster(e.Item.Tag.ToString()); this.SetPosterDataBinding(); }
/// <summary> /// The cmb sets list_ text changed. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private void cmbSetsList_TextChanged(object sender, EventArgs e) { MovieSetManager.SetCurrentSet(this.cmbSetsList.Text); gridControl.DataSource = MovieSetManager.GetCurrentSet; }
/// <summary> /// Loads the movie. /// </summary> /// <param name="movieModel"> /// The movie model. /// </param> public void LoadMovie(MovieModel movieModel) { XmlDocument xmlReader = XRead.OpenPath(movieModel.NfoPathOnDisk); if (xmlReader == null) { return; } // Ids XmlNodeList ids = xmlReader.GetElementsByTagName("id"); foreach (XmlElement id in ids) { if (id.Attributes["moviedb"] == null) { movieModel.ImdbId = id.InnerXml.Replace("tt", string.Empty); } else { switch (id.Attributes["moviedb"].Value) { case "tmdb": movieModel.TmdbId = id.InnerXml; break; } } } // Title movieModel.Title = XRead.GetString(xmlReader, "title"); // Year movieModel.Year = XRead.GetInt(xmlReader, "year"); // Release Date movieModel.ReleaseDate = XRead.GetDateTime(xmlReader, "releasedate"); // Rating movieModel.Rating = XRead.GetDouble(xmlReader, "rating"); // Votes movieModel.Votes = XRead.GetInt(xmlReader, "votes"); // Plot movieModel.Plot = XRead.GetString(xmlReader, "plot"); // Outline movieModel.Outline = XRead.GetString(xmlReader, "outline"); // Tagline movieModel.Tagline = XRead.GetString(xmlReader, "tagline"); // Runtime string check = XRead.GetString(xmlReader, "runtime"); if (check.Contains("m")) { movieModel.RuntimeInHourMin = check; } else { movieModel.Runtime = XRead.GetInt(xmlReader, "runtime"); } // Mpaa movieModel.Mpaa = XRead.GetString(xmlReader, "mpaa"); // Certification movieModel.Certification = XRead.GetString(xmlReader, "certification"); // Company movieModel.SetStudio = XRead.GetString(xmlReader, "company"); if (movieModel.SetStudio == string.Empty) { movieModel.SetStudio = XRead.GetString(xmlReader, "studio"); } // Genre string genreList = XRead.GetString(xmlReader, "genre"); movieModel.GenreAsString = genreList.Replace(" / ", ","); // Credits movieModel.Writers.Clear(); XmlNodeList writers = xmlReader.GetElementsByTagName("writer"); foreach (XmlElement writer in writers) { movieModel.Writers.Add(new PersonModel(writer.InnerXml)); } // Director string directorList = XRead.GetString(xmlReader, "director"); movieModel.DirectorAsString = directorList.Replace(" / ", ","); // Country movieModel.CountryAsString = XRead.GetString(xmlReader, "country"); // Language movieModel.LanguageAsString = XRead.GetString(xmlReader, "language"); // Actors XmlNodeList actors = xmlReader.GetElementsByTagName("actor"); movieModel.Cast.Clear(); foreach (XmlElement actor in actors) { XmlDocument document = XRead.OpenXml("<x>" + actor.InnerXml + "</x>"); string name = XRead.GetString(document, "name"); string role = XRead.GetString(document, "role"); string thumb = XRead.GetString(document, "thumb"); movieModel.Cast.Add(new PersonModel(name, thumb, role)); } movieModel.VideoSource = XRead.GetString(xmlReader, "videosource"); // Watched movieModel.Watched = XRead.GetBool(xmlReader, "watched"); // Sets XmlNodeList sets = xmlReader.GetElementsByTagName("set"); foreach (XmlElement set in sets) { if (set.HasAttribute("order")) { int order = int.Parse(set.GetAttribute("order")); MovieSetManager.AddMovieToSet(movieModel, set.InnerXml, order); } else { MovieSetManager.AddMovieToSet(movieModel, set.InnerXml); } } }
/// <summary> /// Gets the super tip for the movie /// </summary> /// <returns> /// A supertip object /// </returns> public SuperToolTip GetMovieSuperTip() { var superTip = new SuperToolTip { AllowHtmlText = DefaultBoolean.True }; string yearValue; if (string.IsNullOrEmpty(this.Year.ToString())) { yearValue = " (No year found)"; } else { yearValue = " (" + this.year + ")"; } superTip.Items.AddTitle(this.Title + yearValue); var item = new ToolTipTitleItem { Image = this.SmallPoster }; var sb = new StringBuilder(); if (item.Image == null) { sb.Append("<b>No Poster Found</b>" + Environment.NewLine); } sb.Append(Environment.NewLine); if (!string.IsNullOrEmpty(this.ImdbId)) { sb.Append("<b>Imdb ID:</b> " + this.ImdbId + Environment.NewLine); } if (!string.IsNullOrEmpty(this.TmdbId)) { sb.Append("<b>Tmdb ID:</b> " + this.TmdbId + Environment.NewLine); } sb.Append(Environment.NewLine); if (this.ChangedText) { sb.Append("<b>Text</b> not saved." + Environment.NewLine); } if (this.ChangedPoster) { sb.Append("<b>Poster</b> not saved." + Environment.NewLine); } if (this.ChangedPoster) { sb.Append("<b>Fanart</b> not saved." + Environment.NewLine); } List <string> sets = MovieSetManager.GetSetsContainingMovie(this); if (sets.Count > 0) { sb.Append(Environment.NewLine + "<b>In the following sets:</b>" + Environment.NewLine); foreach (string set in sets) { sb.Append(set + Environment.NewLine); } } item.Text = sb.ToString(); superTip.Items.Add(item); if (this.smallFanart != null) { superTip.Items.Add(new ToolTipTitleItem { Image = this.smallFanart }); } else { superTip.Items.Add("<b>No Fanart Found</b>"); } return(superTip); }
/// <summary> /// The btn fanart clear_ click. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private void btnFanartClear_Click(object sender, EventArgs e) { MovieSetManager.ClearCurrentSetFanart(); this.picFanart.Image = Resources.picturefaded128; }
/// <summary> /// The generate movies in set. /// </summary> private void GenerateMoviesInSet() { var setList = MovieSetManager.GetSetsContainingMovie(MovieDBFactory.GetCurrentMovie()); this.txtMovieIsSets.Text = string.Join(Environment.NewLine, setList); }
/// <summary> /// The cmb sets list_ text changed. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private void cmbSetsList_TextChanged(object sender, EventArgs e) { MovieSetManager.SetCurrentSet(this.cmbSetsList.Text); }
/// <summary> /// Generates the movie output. /// </summary> /// <param name="movieModel">The movie model.</param> /// <returns> /// Generates a Movie NFO /// </returns> public string GenerateMovieOutput(MovieModel movieModel) { using (var stringWriter = new StringWriterWithEncoding(Encoding.UTF8)) { using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, this.GetSettings())) { this.XmlWriterStart(xmlWriter); xmlWriter.WriteStartElement("movie"); // Title XWrite.WriteEnclosedElement(xmlWriter, "title", movieModel.Title); // Year XWrite.WriteEnclosedElement(xmlWriter, "year", movieModel.Year); // Top 250 XWrite.WriteEnclosedElement(xmlWriter, "top250", movieModel.Top250); // Release Date XWrite.WriteEnclosedElement( xmlWriter, "releasedate", this.ProcessReleaseDate(movieModel.ReleaseDate)); // Rating XWrite.WriteEnclosedElement(xmlWriter, "rating", this.ProcessRating(movieModel.Rating)); // Votes XWrite.WriteEnclosedElement(xmlWriter, "votes", movieModel.Votes); // Plot XWrite.WriteEnclosedElement(xmlWriter, "plot", movieModel.Plot); // Tagline XWrite.WriteEnclosedElement(xmlWriter, "tagline", movieModel.Tagline); // Runtime XWrite.WriteEnclosedElement( xmlWriter, "runtime", this.ProcessRuntime(movieModel.Runtime, movieModel.RuntimeInHourMin)); // Mpaa XWrite.WriteEnclosedElement(xmlWriter, "mpaa", movieModel.Mpaa); // Certification XWrite.WriteEnclosedElement(xmlWriter, "certification", movieModel.Certification); // Watched XWrite.WriteEnclosedElement(xmlWriter, "watched", movieModel.Watched); // Imdb MovieUniqueId string imdbid = movieModel.ImdbId; if (!string.IsNullOrEmpty(imdbid)) { imdbid = string.Format("tt{0}", imdbid); } XWrite.WriteEnclosedElement(xmlWriter, "id", imdbid); // Tmdb MovieUniqueId XWrite.WriteEnclosedElement(xmlWriter, "id", movieModel.TmdbId, "moviedb", "tmdb"); // Genre foreach (string genre in movieModel.Genre) { XWrite.WriteEnclosedElement(xmlWriter, "genre", genre); } // Credits if (movieModel.Writers.Count > 0) { xmlWriter.WriteStartElement("credits"); foreach (PersonModel writer in movieModel.Writers) { XWrite.WriteEnclosedElement(xmlWriter, "writer", writer.Name); } xmlWriter.WriteEndElement(); } // Director string writerList = movieModel.WritersAsString.Replace(",", " / "); XWrite.WriteEnclosedElement(xmlWriter, "director", writerList); // Company XWrite.WriteEnclosedElement(xmlWriter, "company", movieModel.SetStudio); // Actor int count = 1; foreach (PersonModel actor in movieModel.Cast) { count++; xmlWriter.WriteStartElement("actor"); XWrite.WriteEnclosedElement(xmlWriter, "name", actor.Name); XWrite.WriteEnclosedElement(xmlWriter, "role", actor.Role); XWrite.WriteEnclosedElement(xmlWriter, "thumb", actor.ImageUrl); xmlWriter.WriteEndElement(); if (count == 10) { break; } } // Sets List <SetReturnModel> sets = MovieSetManager.GetSetReturnList(movieModel); if (sets.Count > 0) { xmlWriter.WriteStartElement("movie"); foreach (SetReturnModel set in sets) { if (set.Order == null) { XWrite.WriteEnclosedElement(xmlWriter, "set", set.SetName); } else { XWrite.WriteEnclosedElement( xmlWriter, "set", set.SetName, "order", set.Order.ToString()); } } xmlWriter.WriteEndElement(); } XWrite.WriteEnclosedElement(xmlWriter, "videosource", movieModel.VideoSource); xmlWriter.WriteEndElement(); } return(stringWriter.ToString()); } }
/// <summary> /// The btn poster clear_ click. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private void btnPosterClear_Click(object sender, EventArgs e) { MovieSetManager.ClearCurrentSetPoster(); this.picPoster.Image = Resources.picturefaded128; }
/// <summary> /// Merges the import database with main movie database /// </summary> public static void MergeImportDatabaseWithMain() { MovieDBFactory.MergeWithDatabase(ImportDatabase); MasterMediaDBFactory.PopulateMasterMovieMediaDatabase(); MovieSetManager.ScanForSetImages(); }
/// <summary> /// Handles the Click event of the btnTrash control. /// </summary> /// <param name="sender"> /// The source of the event. /// </param> /// <param name="e"> /// The <see cref="System.EventArgs"/> instance containing the event data. /// </param> private void btnTrash_Click(object sender, EventArgs e) { this.RemoveMovieFromSet(); MovieSetManager.SetAllMoviesChangedInCurrentSet(); }