Exemplo n.º 1
0
        /// <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);
                }
            }
        }
Exemplo n.º 2
0
        /// <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.");
        }
Exemplo n.º 3
0
 /// <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();
 }
Exemplo n.º 4
0
 /// <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;
     }
 }
Exemplo n.º 5
0
        /// <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);
        }
Exemplo n.º 6
0
        /// <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);
            }
        }
Exemplo n.º 7
0
        /// <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();
        }
Exemplo n.º 8
0
        /// <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);
        }
Exemplo n.º 9
0
        /// <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();
                }
            }
        }
Exemplo n.º 10
0
        /// <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);
                }
            }
        }
Exemplo n.º 11
0
        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();
                }
            }
        }
Exemplo n.º 12
0
        /// <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);
                }
            }
        }
Exemplo n.º 13
0
 /// <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();
 }
Exemplo n.º 14
0
 /// <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;
 }
Exemplo n.º 15
0
        /// <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);
                }
            }
        }
Exemplo n.º 16
0
        /// <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);
        }
Exemplo n.º 17
0
 /// <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;
 }
Exemplo n.º 18
0
        /// <summary>
        /// The generate movies in set.
        /// </summary>
        private void GenerateMoviesInSet()
        {
            var setList = MovieSetManager.GetSetsContainingMovie(MovieDBFactory.GetCurrentMovie());

            this.txtMovieIsSets.Text = string.Join(Environment.NewLine, setList);
        }
Exemplo n.º 19
0
 /// <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);
 }
Exemplo n.º 20
0
        /// <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());
            }
        }
Exemplo n.º 21
0
 /// <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;
 }
Exemplo n.º 22
0
 /// <summary>
 /// Merges the import database with main movie database
 /// </summary>
 public static void MergeImportDatabaseWithMain()
 {
     MovieDBFactory.MergeWithDatabase(ImportDatabase);
     MasterMediaDBFactory.PopulateMasterMovieMediaDatabase();
     MovieSetManager.ScanForSetImages();
 }
Exemplo n.º 23
0
 /// <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();
 }