示例#1
0
        public void TEST_DISK_ALREADY_EXISTS()
        {
            Console.WriteLine("Starting to check if disk already exists");

            string existingPath = null;

            foreach (Title title in TitleCollectionManager.GetAllTitles())
            {
                existingPath = title.Disks[0].Path;
                break;
            }

            DateTime start = DateTime.Now;

            bool found = false;

            Assert.AreEqual(true, found = TitleCollectionManager.ContainsDisks(existingPath), "Disk path should have been found");

            Console.WriteLine("Result : " + found);

            Console.WriteLine(string.Format("Done - Took: {0} milliseconds",
                                            (DateTime.Now - start).TotalMilliseconds.ToString()));

            Console.WriteLine("Starting to check to verify disk is not found");

            Assert.AreEqual(false, found = TitleCollectionManager.ContainsDisks(existingPath + "test"), "Disk path should not have been found");

            Console.WriteLine("Result : " + found);
        }
示例#2
0
 public void AddAllCurrentTitles()
 {
     OMLApplication.DebugLine("[Setup] Starting deferred all titles import");
     Application.DeferredInvokeOnWorkerThread(delegate
     {
         OMLApplication.DebugLine("[Setup] AddingAllCurrentTitles Started");
         AddingAllStarted = true;
         for (CurrentTitleIndex = CurrentTitleIndex; TotalTitlesFound > CurrentTitleIndex; CurrentTitleIndex++)
         {
             CurrentTitle = _titles[CurrentTitleIndex];
             if (TitleCollectionManager.ContainsDisks(CurrentTitle.Disks))
             {
                 OMLApplication.DebugLine("[Setup UI] Skipping title: " + CurrentTitle.Name + " because already in the collection");
                 TotalTitlesSkipped++;
             }
             else
             {
                 OMLApplication.DebugLine("[Setup UI] Adding title: " + CurrentTitle.Id);
                 //_titleCollection.Add(CurrentTitle);
                 TotalTitlesAdded++;
             }
         }
     }, delegate
     {
         OMLApplication.DebugLine("[Setup] AddingAllCurrentTitles Completed");
         AddingAllComplete  = true;
         AllTitlesProcessed = true;
         FirePropertyChanged("TotalTitlesAdded");
     }, null);
 }
示例#3
0
        public void AddCurrentTitle()
        {
            if (TitleCollectionManager.ContainsDisks(CurrentTitle.Disks))
            {
                OMLApplication.DebugLine("[Setup UI] Skipping title: " + CurrentTitle.Name + " because already in the collection");
                AddInHost.Current.MediaCenterEnvironment.Dialog(CurrentTitle.Name + " was found to already exist in your database and has been skipped.",
                                                                "Skipped Title",
                                                                DialogButtons.Ok,
                                                                2,
                                                                false);
                TotalTitlesSkipped++;
            }
            else
            {
                OMLApplication.DebugLine("[Setup UI] Adding title: " + CurrentTitle.Id);
                //_titleCollection.Add(CurrentTitle);
                TotalTitlesAdded++;
            }
            CurrentTitleIndex++;

            if (TotalTitlesFound > CurrentTitleIndex)
            {
                CurrentTitle = _titles[CurrentTitleIndex];
            }
            else
            {
                AllTitlesProcessed = true;
            }
        }
示例#4
0
        public void TEST_UNIQUE_DISKS()
        {
            DateTime      start  = DateTime.Now;
            List <string> titles = new List <string>();

            titles.Add(@"\\percy\movies\Bully");
            titles.Add(@"\\percy\movies\Fake\1.mpg");
            titles.Add(@"\\percy\movies\Fake\13.mpg");

            bool contains = TitleCollectionManager.ContainsDisks(@"\\percy\movies\Bully");

            foreach (string disk in TitleCollectionManager.GetUniquePaths(titles))
            {
                Console.WriteLine(disk);
            }

            Console.WriteLine("Took: " + (DateTime.Now - start).TotalMilliseconds + " milliseconds");
        }
示例#5
0
        public void LoadTitlesIntoDatabase(OMLPlugin plugin)
        {
            bool Cancelled = false;

            try
            {
                Utilities.DebugLine("[OMLImporter] Titles loaded, beginning Import process");
                IList <Title> titles = OMLSDK.SDKUtilities.ConvertOMLSDKTitlesToTitles(plugin.GetTitles());
                Utilities.DebugLine("[OMLImporter] " + titles.Count + " titles found in input file");

                int totalNumberOfTitles   = 0;
                int numberOfTitlesAdded   = 0;
                int numberOfTitlesSkipped = 0;

                bool YesToAll = true;// false;

                foreach (Title t in titles)
                {
                    if (backgroundWorker1.CancellationPending)
                    {
                        // Abort the operation
                        Cancelled = true;
                        break;
                    }

                    backgroundWorker1.ReportProgress(100 * totalNumberOfTitles / titles.Count, "Saving title : " + t.Name);

                    totalNumberOfTitles++;

                    if (TitleCollectionManager.ContainsDisks(t.Disks))
                    {
                        numberOfTitlesSkipped++;
                        continue;
                    }

                    if (!YesToAll)
                    {
                        //TODO: Need to show a UI that let's the User decide whether to import all titles or be selective about it

                        /*Console.WriteLine("Would you like to add this title? (y/n/a)");
                         * string response = Console.ReadLine();
                         * switch (response.ToUpper())
                         * {
                         *  case "Y":
                         *      mainTitleCollection.Add(t);
                         *      numberOfTitlesAdded++;
                         *      break;
                         *  case "N":
                         *      numberOfTitlesSkipped++;
                         *      break;
                         *  case "A":
                         *      YesToAll = true;
                         *      mainTitleCollection.Add(t);
                         *      numberOfTitlesAdded++;
                         *      break;
                         *  default:
                         *      break;
                         * }*/
                    }
                    else
                    {
                        TitleCollectionManager.AddTitle(t);
                        numberOfTitlesAdded++;
                    }
                }

                backgroundWorker1.ReportProgress(100, "Finalising...");

                TitleCollectionManager.SaveTitleUpdates();

                if (Cancelled)
                {
                    backgroundWorker1.ReportProgress(100, "Cancelled : Added " + numberOfTitlesAdded + "  Skipped " + numberOfTitlesSkipped);
                }
                else
                {
                    backgroundWorker1.ReportProgress(100, "Complete : Added " + numberOfTitlesAdded + "  Skipped " + numberOfTitlesSkipped);
                }

                plugin.GetTitles().Clear();
            }
            catch (Exception e)
            {
                XtraMessageBox.Show("Exception in LoadTitlesIntoDatabase: {0}", e.Message);
                Utilities.DebugLine("[OMLImporter] Exception in LoadTitlesIntoDatabase: " + e.Message);
            }
        }
示例#6
0
        public static void LoadTitlesIntoDatabase(OMLPlugin plugin, bool flushInputBuffer, bool autoYesToAll)
        {
            try
            {
                Utilities.DebugLine("[OMLImporter] Titles loaded, beginning Import process");
                //TitleCollection tc = new TitleCollection();
                IList <Title> titles = OMLSDK.SDKUtilities.ConvertOMLSDKTitlesToTitles(plugin.GetTitles());
                Utilities.DebugLine("[OMLImporter] " + titles.Count + " titles found in input file");
                Console.WriteLine("Found " + titles.Count + " titles");

                int  numberOfTitlesAdded   = 0;
                int  numberOfTitlesSkipped = 0;
                bool YesToAll = autoYesToAll;

                if (flushInputBuffer && Console.In.Peek() > 0)
                {
                    Console.In.ReadToEnd(); // flush out anything still in there
                }
                foreach (Title t in titles)
                {
                    if (TitleCollectionManager.ContainsDisks(t.Disks))
                    {
                        Console.WriteLine("Title {0} skipped because already in the collection", t.Name);
                        numberOfTitlesSkipped++;
                        continue;
                    }


                    Console.WriteLine("Adding: " + t.Name);
                    if (YesToAll == false)
                    {
                        Console.WriteLine("Would you like to add this title? (y/n/a)");
                        string response = Console.ReadLine();
                        switch (response.ToUpper())
                        {
                        case "Y":
                            TitleCollectionManager.AddTitle(t);
                            numberOfTitlesAdded++;
                            break;

                        case "N":
                            numberOfTitlesSkipped++;
                            break;

                        case "A":
                            YesToAll = true;
                            TitleCollectionManager.AddTitle(t);
                            numberOfTitlesAdded++;
                            break;

                        default:
                            break;
                        }
                    }
                    else
                    {
                        TitleCollectionManager.AddTitle(t);
                        numberOfTitlesAdded++;
                    }
                }

                // save all the image updates
                TitleCollectionManager.SaveTitleUpdates();

                plugin.GetTitles().Clear();

                //if (numberOfTitlesAdded > 0) isDirty = true;
                Console.WriteLine();
                Console.WriteLine("Added " + numberOfTitlesAdded + " titles");
                Console.WriteLine("Skipped " + numberOfTitlesSkipped + " titles");
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception in LoadTitlesIntoDatabase: {0}", e.Message);
            }
            //tc.saveTitleCollection();
            //Console.WriteLine("Complete");
        }