Ejemplo n.º 1
0
        int IComparable.CompareTo(object obj)
        {
            WriteableResultOption that = (WriteableResultOption)obj;


            if (this.Year == 0 && that.Year == 0)
            {
                return(0);
            }

            if (this.Year != 0 && that.Year == 0)
            {
                return(-1);
            }

            if (this.Year == 0 && that.Year != 0)
            {
                return(1);
            }

            if (this.Year != 0 && that.Year != 0)
            {
                if (this.Year < that.Year)
                {
                    return(-1);
                }
                if (this.Year > that.Year)
                {
                    return(1);
                }
                if (this.Year == that.Year)
                {
                    return(0);
                }

                else
                {
                    System.Windows.MessageBox.Show("What the f**k");
                    return(0);
                }
            }



            else
            {
                var a = this;
                var b = that;
                System.Windows.MessageBox.Show("What the f**k");
                return(0);
            }
        }
Ejemplo n.º 2
0
        // Creates a ResultOption TabItem for a file that returns zeor WriteableResultOptions
        TabItem CreateZeroResultOptionTabItem( MediaFile mf )
        {
            TabItem tabItem = new TabItem( );
            tabItem.Header = "No Results";
            Grid mainResultOptionGrid = new Grid( );
            mainResultOptionGrid.RowDefinitions.Add( new RowDefinition( ) );
            mainResultOptionGrid.RowDefinitions.Add( new RowDefinition( ) );

            WriteableResultOption blankWriteableResultOption = new WriteableResultOption(mf.FileName);

            // coloration tentatively in place for control separation for under construction design/debugging purposes
            mainResultOptionGrid.Background = System.Windows.Media.Brushes.CornflowerBlue;

            try
            {
                Canvas albumCanvas = CreateAlbumSpecificCanvas( blankWriteableResultOption, mf, System.Windows.Media.Brushes.DarkSalmon, false );
                Canvas trackCanvas = CreateTrackSpecificCanvas( blankWriteableResultOption, mf, System.Windows.Media.Brushes.DarkSeaGreen, false );
                mainResultOptionGrid.Children.Add( albumCanvas );
                mainResultOptionGrid.Children.Add( trackCanvas );
            }
            catch(Exception ex)
            {
                ExceptionList.Add( new Tuple<string, string>( ex.Message , ex.StackTrace) );
            }

            tabItem.Content = mainResultOptionGrid;
            return tabItem;
        }
Ejemplo n.º 3
0
        // Creates and returns a Canvas containing the WriteableResultOption fields pertintent to specific track entries
        // Hardcoded to be assigned to the second row of the mainResultOptionGrid in TabItem CreateResultOptionTabItem()
        Canvas CreateTrackSpecificCanvas(WriteableResultOption wro, MediaFile mf , System.Windows.Media.Brush background, bool downloadArtwork)
        {
            Canvas trackCanvas = new Canvas( );
            trackCanvas.Name = "trackCanvas";
            Label lbl = new Label( );
            TextBox tb = new TextBox( );

            trackCanvas.Background = background;
            // Track Items

            lbl = new Label( );
            lbl.Content = "Title";
            Canvas.SetTop( lbl, 10 );
            Canvas.SetLeft( lbl, 10 );
            trackCanvas.Children.Add( lbl );
            tb = new TextBox( );
            tb.Name = "tbTitle";
            tb.Text = wro.Title;
            Canvas.SetTop( tb, 10 );
            Canvas.SetLeft( tb, 100 );
            trackCanvas.Children.Add( tb );

            lbl = new Label( );
            lbl.Content = "Track Number";
            Canvas.SetTop( lbl, 40 );
            Canvas.SetLeft( lbl, 10 );
            trackCanvas.Children.Add( lbl );
            tb = new TextBox( );
            tb.Name = "tbTrackNumber";
            tb.Text = wro.TrackNumber.ToString( );
            Canvas.SetTop( tb, 40 );
            Canvas.SetLeft( tb, 100 );
            trackCanvas.Children.Add( tb );

            lbl = new Label( );
            lbl.Content = "Disc Number";
            Canvas.SetTop( lbl, 40 );
            Canvas.SetLeft( lbl, 200 );
            trackCanvas.Children.Add( lbl );
            tb = new TextBox( );
            tb.Name = "tbDiscNumber";
            tb.Text = wro.DiscNumber.ToString( );
            Canvas.SetTop( tb, 40 );
            Canvas.SetLeft( tb, 300 );
            trackCanvas.Children.Add( tb );

            lbl = new Label( );
            lbl.Content = "FileName";
            Canvas.SetTop( lbl, 70 );
            Canvas.SetLeft( lbl, 10 );
            trackCanvas.Children.Add( lbl );
            tb = new TextBox( );
            tb.Name = "tbFileName";
            tb.Text = GenericFileName( wro.Title, wro.Artists, wro.TrackNumber );
            Canvas.SetTop( tb, 70 );
            Canvas.SetLeft( tb, 100 );
            trackCanvas.Children.Add( tb );

            lbl = new Label( );
            lbl.Content = "Artists";
            Canvas.SetTop( lbl, 100 );
            Canvas.SetLeft( lbl, 10 );
            trackCanvas.Children.Add( lbl );
            tb = new TextBox( );
            tb.Name = "tbArtist";

            foreach ( string artist in wro.Artists )
            {
                tb.Text += artist + System.Environment.NewLine;
            }

            Canvas.SetTop( tb, 100 );
            Canvas.SetLeft( tb, 100 );
            trackCanvas.Children.Add( tb );

            // TODO: completely implement this button
            // For now it's hidden as it's not correctly functional
            Button btn = new Button( );
            btn.Content = "Save Track";
            btn.Click += SaveTrackData;
            btn.Visibility = Visibility.Hidden;
            Canvas.SetTop( btn, 200 );
            Canvas.SetLeft( btn, 200 );
            trackCanvas.Children.Add( btn );

            Grid.SetRow( trackCanvas, 1 );

            return trackCanvas;
        }
Ejemplo n.º 4
0
        // Creates a ResultOption TabItem for a given WriteableResultOption
        TabItem CreateResultOptionTabItem(WriteableResultOption wro, MediaFile mf, int tabItemNumber, bool downloadArtwork)
        {
            // Creates
            TabItem tabItem = new TabItem( );
            tabItem.Header = "Result " + tabItemNumber.ToString();

            Grid mainResultOptionGrid = new Grid( );
            mainResultOptionGrid.RowDefinitions.Add( new RowDefinition( ) );
            mainResultOptionGrid.RowDefinitions.Add( new RowDefinition( ) );

            // coloration tenatively in place for control separation for debugging purposes
            mainResultOptionGrid.Background = System.Windows.Media.Brushes.CornflowerBlue;
            Canvas albumCanvas = CreateAlbumSpecificCanvas( wro, mf, System.Windows.Media.Brushes.DarkSalmon, true );
            Canvas trackCanvas = CreateTrackSpecificCanvas( wro, mf, System.Windows.Media.Brushes.DarkSeaGreen, true );
            mainResultOptionGrid.Children.Add( albumCanvas );
            mainResultOptionGrid.Children.Add( trackCanvas );

            tabItem.Content = mainResultOptionGrid;
            return tabItem;
        }
Ejemplo n.º 5
0
        // Creates and returns a Canvas containing the WriteableResultOption fields pertintent to album entries
        // Hardcoded to be assigned to the first row of the mainResultOptionGrid in TabItem CreateResultOptionTabItem()
        Canvas CreateAlbumSpecificCanvas(WriteableResultOption wro, MediaFile mf , System.Windows.Media.Brush background, bool downloadArtwork)
        {
            Canvas albumCanvas = new Canvas( );
            albumCanvas.Name = "albumCanvas";
            Label lbl = new Label( );
            TextBox tb = new TextBox( );

            lbl.Name = "lblFileName";
            lbl.Content = mf.PartialFileName;
            lbl.Visibility = Visibility.Hidden;
            albumCanvas.Children.Add( lbl );

            albumCanvas.Background = background;

            // Album Items
            lbl = new Label( );
            lbl.Content = "Album";
            Canvas.SetTop( lbl, 10 );
            Canvas.SetLeft( lbl, 10 );
            albumCanvas.Children.Add( lbl );
            tb = new TextBox( );
            tb.Name = "tbAlbum";
            tb.Text = wro.Album;
            Canvas.SetTop( tb, 10 );
            Canvas.SetLeft( tb, 100 );
            albumCanvas.Children.Add( tb );

            lbl = new Label( );
            lbl.Content = "Track Count";
            Canvas.SetTop( lbl, 40 );
            Canvas.SetLeft( lbl, 10 );
            albumCanvas.Children.Add( lbl );
            tb = new TextBox( );
            tb.Name = "tbTrackCount";
            tb.Text = wro.TrackCount.ToString( );
            Canvas.SetTop( tb, 40 );
            Canvas.SetLeft( tb, 100 );
            albumCanvas.Children.Add( tb );

            lbl = new Label( );
            lbl.Content = "Disc Count";
            Canvas.SetTop( lbl, 40 );
            Canvas.SetLeft( lbl, 200 );
            albumCanvas.Children.Add( lbl );
            tb = new TextBox( );
            tb.Name = "tbDiscCount";
            tb.Text = wro.DiscCount.ToString( );
            Canvas.SetTop( tb, 40 );
            Canvas.SetLeft( tb, 300 );
            albumCanvas.Children.Add( tb );

            lbl = new Label( );
            lbl.Content = "Year";
            Canvas.SetTop( lbl, 70 );
            Canvas.SetLeft( lbl, 10 );
            albumCanvas.Children.Add( lbl );
            tb = new TextBox( );
            tb.Name = "tbYear";
            tb.Text = wro.Year.ToString( );
            Canvas.SetTop( tb, 70 );
            Canvas.SetLeft( tb, 100 );
            albumCanvas.Children.Add( tb );

            lbl = new Label( );
            lbl.Content = "Genre";
            Canvas.SetTop( lbl, 70 );
            Canvas.SetLeft( lbl, 200 );
            albumCanvas.Children.Add( lbl );
            tb = new TextBox( );
            tb.Name = "tbGenre";
            tb.Text = "";
            Canvas.SetTop( tb, 70 );
            Canvas.SetLeft( tb, 300 ); ;
            albumCanvas.Children.Add( tb );

            if ( downloadArtwork == true )
            {
                ScannedFiles.SetArtwork( mf );
            }

            if ( wro.ReleaseID != null && ScannedFiles.ReleaseIDToImageData.ContainsKey( wro.ReleaseID )  )
            {
                try
                {
                    Image img = new Image( );
                    BitmapImage bmpImage = new BitmapImage( );
                    bmpImage.BeginInit( );
                    bmpImage.StreamSource = new MemoryStream( ScannedFiles.ReleaseIDToImageData [ wro.ReleaseID ] );
                    bmpImage.DecodePixelHeight = 170;
                    bmpImage.DecodePixelWidth = 170;
                    bmpImage.EndInit( );
                    img.Source = bmpImage;
                    Canvas.SetTop( img, 100 );
                    Canvas.SetLeft( img, 10 );
                    img.Height = 160;
                    img.Width = 160;
                    img.AllowDrop = true;
                    img.Drop += DropArtworkOnImage;
                    albumCanvas.Children.Add( img );
                }
                catch ( Exception ex )
                {
                    ExceptionList.Add( new Tuple<string, string>( wro.ReleaseID + " - > to image data -> to Image control", ex.Message + System.Environment.NewLine + ex.StackTrace ) );
                }
            }

            // Adds controls for files without any writeable result options
            if(wro.IsANullResult == true )
            {

                lbl = new Label( );
                lbl.Content = "Nothing found for " + mf.FileName;
                lbl.FontSize = 9;
                Canvas.SetTop( lbl, 100 );
                Canvas.SetLeft( lbl, 10 );
                albumCanvas.Children.Add( lbl );
            }

            //removed wro.IsANullResult == true ||
            if(wro.ImageSourceURL == null)
            {
                Image img = new Image( );
                img.Source = CreateImageSource( );
                img.Height = 140;
                img.Width = 140;
                // TODO: ADD EVENTS, BRO
                img.DragOver += DropArtworkOnImage;
                img.AllowDrop = true;
                // TODO: COMPLETE

                Canvas.SetTop( img, 140 );
                Canvas.SetLeft( img, 10 );
                albumCanvas.Children.Add( img );
            }

            // Create button to apply album specific data for a given resultoption tab to every file in the ( FOR NOW // TODO ALTER THIS ) containing folder
            Button btnApplyToAllFilesInFolder = new Button( );
            btnApplyToAllFilesInFolder.Content = "Apply to All Files in the Containing Folder";
            btnApplyToAllFilesInFolder.Click += SaveAllFilesInContainingFolder;
            Canvas.SetTop( btnApplyToAllFilesInFolder, 140 );
            Canvas.SetLeft( btnApplyToAllFilesInFolder, 200 );
            albumCanvas.Children.Add( btnApplyToAllFilesInFolder );

            // End of Album Items Canvas
            Grid.SetRow( albumCanvas, 0 );
            return albumCanvas;
        }