示例#1
0
        //metodo auxiliar para adicionar un elemento a la lista de copia
        private void addMediaToCopyList(media_files mf, string btnxaml)
        {
            StringReader sreader   = new StringReader(btnxaml);
            XmlReader    xmlreader = XmlReader.Create(sreader);
            ModernButton delBtn    = (ModernButton)XamlReader.Load(xmlreader);

            delBtn.Visibility = Visibility.Visible;
            delBtn.Click     += btnDelete_Click;
            delBtn.Tag        = _listSeleccion.Items.Count; //Guardo la posicion para localizar el item a la hora de eliminar

            StackPanel sp = new StackPanel();

            sp.Orientation = Orientation.Horizontal;
            sp.Children.Add(delBtn);

            MediaFile_Basic_Info MFBI = new MediaFile_Basic_Info();

            MFBI.ReadMediaFile(mf);
            sp.Tag     = MFBI;
            sp.ToolTip = MFBI.ToString();
            TextBlock tb = new TextBlock();

            tb.Foreground = lListTile.Foreground;
            tb.Text       = MFBI.ToString();
            sp.Children.Add(tb);

            double cost = MFBI.getCosto(tpagoId);

            UpdateListCost(cost);
            UpdateListSize(MFBI.getTotalSize());

            _listSeleccion.Items.Add(sp);
        }
示例#2
0
        public async void selectionChanged()
        {
            if (_listViewContent.SelectedItems.Count > 0)
            {
                //btnAdd.IsEnabled = true;
                if (_listViewContent.SelectedItems.Count == 1) //Mostrar info del Item seleccionado
                {
                    int         selectedMediaId = ((ListViewMediaItem)_listViewContent.SelectedItem).MediaId();
                    media_files mf = await DBManager.MediaFilesRepo.FindByIdAsync(selectedMediaId);

                    showInfoPanel(mf);
                }
                else
                {
                    _infoPanel.Visibility = Visibility.Hidden;
                }

                btnAdd.IsEnabled = checkSelectedFilesExistence();
            }
            else  //Si no hay contenido seleccionado veo si hay seleccion en el explorador
            {
                IconItem iitem = (IconItem)_treeView.SelectedItem;
                _infoPanel.Visibility = Visibility.Hidden;
                if (iitem != null)
                {
                    btnAdd.IsEnabled = iitem.FileExists();
                }
                else
                {
                    btnAdd.IsEnabled = false;
                }
            }
        }
        private void BtnDelete_Click(object sender, RoutedEventArgs e)
        {
            if (current_mf != null)
            {
                MessageBoxResult res = MessageBox.Show("¿Confirma que desea eliminar el archivo del catálogo?", "Información", MessageBoxButton.YesNo);
                if (res == MessageBoxResult.Yes)
                {
                    DBManager.MediaFilesRepo.DeleteEntity(current_mf);

                    IconItem item = (IconItem)_tree.SelectedItem;
                    if (!(item.Parent is TreeView))
                    {
                        ((IconItem)item.Parent).Items.Remove(item);
                    }

                    // ((TreeView)tab.Content).Items.Remove(item);
                    // else
                    //   ((IconItem)item.Parent).Items.Remove(item);

                    HideForm();

                    current_mf       = null;
                    current_treeItem = null;

                    BtnGuardar.IsEnabled = false;
                    BtnDelete.IsEnabled  = false;

                    AppMAnager.GlobalContentChanged();
                }
            }
        }
示例#4
0
        //public bool StandBy { get; set; }

        public ListViewMediaItem(media_files mf)
        {
            this.mediaId     = mf.id;
            this.categoriaId = mf.categoria_id;
            this.is_folder   = mf.is_folder;

            StackPanel sp = new StackPanel();

            sp.Orientation = Orientation.Horizontal;

            Label l = new Label();

            l.Content = mf.titulo + "  |  " + mf.file_url;
            l.Margin  = new Thickness(5);

            Image img = new Image();

            img.Height = 22;
            img.Width  = 18;
            BitmapImage bmi;

            if (mf.is_folder)
            {
                bmi = new BitmapImage(new Uri("pack://application:,,,/Resources/folder.ico"));
            }
            else
            {
                bmi = new BitmapImage(new Uri("pack://application:,,,/Resources/cinema.png"));
            }

            img.Source = bmi;

            sp.Children.Add(img);
            sp.Children.Add(l);
            this.Content = sp;

            file_exists = mf.FileExists();
            BrushConverter bc = new BrushConverter();

            if (!file_exists)
            {
                l.Foreground = (Brush)bc.ConvertFrom(AppMAnager.COLOR_ERROR_FOREGROUND);
            }
            else
            {
                l.Foreground = AppMAnager.DefaultLabelForeColor();
            }

            this.MouseDoubleClick += new System.Windows.Input.MouseButtonEventHandler(Item_MouseDoubleClick);
            // this.StandBy = false;
        }
        public void HandleIconItemClick(int mediaID, IconItem iitem)
        {
            media_files mf = DBManager.MediaFilesRepo.FindById(mediaID);

            if (mf != null)
            {
                AppMAnager.PEditarCatalogo_instance.LoadMediaFile(mf, iitem);
            }
            else
            {
                AppMAnager.PEditarCatalogo_instance.HideForm();
                AppMAnager.PEditarCatalogo_instance.DisableButtons();
            }
        }
        /**Lee la informacion de las decripciones (lo que es comun para todos los objetos en una carpeta)
         * del formulario y la establece
         * en la variable MEdiaFile que se esta editando*/
        private void ReadMediaFormDescriptions(media_files mf, List <media_generos> mgList, List <media_paises> mpList)
        {
            mf.fichero_trailer = tbTrailer.Text;

            if (IPortadaPreview.Tag != null && !String.IsNullOrEmpty(IPortadaPreview.Tag.ToString()))
            {
                mf.fichero_portada = IPortadaPreview.Tag.ToString();
            }
            else
            {
                mf.fichero_portada = null;
            }

            mf.director = tbDirector.Text;

            if (tbAnno.Text.Trim().Length > 0)
            {
                mf.anno = int.Parse(tbAnno.Text);
            }

            if (tbDuracion.Text.Trim().Length > 0)
            {
                mf.duracion = int.Parse(tbDuracion.Text);
            }

            mf.productora = tbProductora.Text;
            mf.reparto    = tbReparto.Text;
            mf.sinopsis   = tbSinopsis.Text;
            mf.premios    = tbPremios.Text;

            //Generos
            media_generos mg;

            foreach (genero g in current_generos_list)
            {
                mg = new media_generos(g.id, current_mf.id);
                mgList.Add(mg);
            }

            //Paises
            media_paises mp;

            foreach (pais p in current_paises_list)
            {
                mp = new media_paises(p.id, current_mf.id);
                mpList.Add(mp);
            }
        }
示例#7
0
        private static void CheckMF_Exists(media_files mf)
        {
            if (!mf.FileExists())
            {
                if (PEditarCatalogo_instance != null)
                {
                    if (PEditarCatalogo_instance.LabelInfoDeletedMF_isHidden())
                    {
                        PEditarCatalogo_instance.ShowDeletedMF_Notification();
                    }

                    //Se guarda para si el usuario lo desea eliminarlo más adelante
                    PEditarCatalogo_instance.RegisterNonPhisicalMF_ID(mf.id);
                }
            }
        }
        public void ReadMediaFile(media_files mf)
        {
            id                = mf.id;
            punto_copia_id    = mf.punto_copia_id;
            titulo            = mf.titulo;
            nombre_categoria  = mf.categoria.categoria1;
            file_url          = mf.file_url;
            str_file          = mf.str_file;
            fichero_trailer   = mf.fichero_trailer;
            fichero_portada   = mf.fichero_portada;
            is_folder         = mf.is_folder;
            tipo_categoria_id = mf.categoria.tipo_categoria_id;

            if (is_folder)
            {
                ReloadChildrens(mf.categoria_id);
            }
        }
        /**Guarda las descripciones de un MediaFile en todos sus hijos*/
        public void SaveRecursiveMediaFiles(media_files mf)
        {
            MediaFilesRepository mediaRepo = DBManager.MediaFilesRepo;
            List <media_files>   mediaList = mediaRepo.FindByCategoria(mf.categoria_id, mf.id, false);

            if (mediaList.Count > 0)
            {
                List <media_generos> mgList;
                List <media_paises>  mpList;
                foreach (media_files child in mediaList)
                {
                    mgList = new List <media_generos>();
                    mpList = new List <media_paises>();
                    ReadMediaFormDescriptions(child, mgList, mpList);
                    mediaRepo.Update(child, mgList, mpList, false);

                    SaveRecursiveMediaFiles(child);
                }
            }
        }
示例#10
0
        private void Item_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            if (is_folder)
            {
                PHome._PHome.ClearFilter();

                List <media_files> mfList = DBManager.MediaFilesRepo.FindByCategoria(categoriaId, mediaId, false);
                HomeCatalogManager.ShowItemContent(mfList);
                PHome._PHome.SelectTreeViewFolder(mediaId);
            }
            else
            if (file_exists)
            {
                media_files mf = DBManager.MediaFilesRepo.FindById(mediaId);
                if (mf != null)
                {
                    Process.Start(@mf.file_url);
                    //File.e mf.file_url;
                }
            }
        }
示例#11
0
        }                               //Para prevenir que cuando se de click se ejecute el click de los padres

        public IconItem(string header, media_files mf, IIconItemClickHandler clickHandler)
        {
            this.mediaId = mf.id;

            l         = new Label();
            l.Content = header;
            l.Margin  = new Thickness(5);

            Image img = new Image();

            img.Height = 22;
            img.Width  = 22;
            BitmapImage bmi;

            if (mf.is_folder)
            {
                bmi = new BitmapImage(new Uri("pack://application:,,,/Resources/folder.ico"));
            }
            else
            {
                bmi = new BitmapImage(new Uri("pack://application:,,,/Resources/cinema.png"));
            }

            img.Source = bmi;

            StackPanel sp = new StackPanel();

            sp.Orientation = Orientation.Horizontal;
            sp.Children.Add(img);
            sp.Children.Add(l);
            // sp.MouseLeftButtonUp += CheckItem_MouseLeftButtonUp;

            this.Header             = sp;
            this.MouseLeftButtonUp += CheckItem_MouseLeftButtonUp;
            this.StandBy            = false;
            this.clickHandler       = clickHandler;

            setFileExists(mf.FileExists());
        }
示例#12
0
        public async void HandleIconItemClick(int mediaID, IconItem iitem)
        {
            PHome._PHome.ClearFilter();
            if (mediaID == -1)   //Es un nodo Categoria
            {
                int categId = (int)iitem.Tag;
                List <media_files> mfList = await DBManager.MediaFilesRepo.FindByCategoriaAsync(categId, mediaID, false);

                HomeCatalogManager.ShowItemContent(mfList);
                PHome._PHome.selectionChanged();
            }
            else
            {
                media_files mf = DBManager.MediaFilesRepo.FindById(mediaID);
                if (mf != null)
                {
                    iitem.setFileExists(mf.FileExists());
                    List <media_files> mfList = await DBManager.MediaFilesRepo.FindByCategoriaAsync(mf.categoria_id, mediaID, false);

                    HomeCatalogManager.ShowItemContent(mfList);
                    PHome._PHome.selectionChanged();
                }
            }
        }
示例#13
0
        //Actualiza la informacion del formulario  de un MediaFile
        private void showInfoPanel(media_files mf)
        {
            if (mf != null)
            {
                _infoPanel.Visibility = Visibility.Visible;
                tbTitulo.Text         = mf.titulo;
                tbUrlFile.Text        = mf.file_url;

                if (File.Exists(mf.fichero_portada))
                {
                    ImageSourceConverter isc = new ImageSourceConverter();
                    IPortadaPreview.Source = (ImageSource)isc.ConvertFromString(mf.fichero_portada);
                    IPortadaPreview.Tag    = mf.fichero_portada;
                    //BtnClearPOrtada.Visibility = Visibility.Visible;
                }
                else
                {
                    IPortadaPreview.Tag    = null;
                    IPortadaPreview.Source = null;
                    //BtnClearPOrtada.Visibility = Visibility.Hidden;
                }

                if (!string.IsNullOrEmpty(mf.str_file))
                {
                    tbSubtitulos.Text = mf.str_file;
                }
                else
                {
                    tbSubtitulos.Clear();
                }

                if (!string.IsNullOrEmpty(mf.fichero_trailer))
                {
                    tbTrailer.Text = mf.fichero_trailer;
                }
                else
                {
                    tbTrailer.Clear();
                }

                if (!string.IsNullOrEmpty(mf.director))
                {
                    tbDirector.Text = mf.director;
                }
                else
                {
                    tbDirector.Clear();
                }

                if (!string.IsNullOrEmpty(mf.anno.ToString()))
                {
                    tbAnno.Text = mf.anno.ToString();
                }
                else
                {
                    tbAnno.Clear();
                }

                if (!string.IsNullOrEmpty(mf.duracion.ToString()))
                {
                    tbDuracion.Text = mf.duracion.ToString();
                }
                else
                {
                    tbDuracion.Clear();
                }

                if (!string.IsNullOrEmpty(mf.sinopsis))
                {
                    tbSinopsis.Text = mf.sinopsis;
                }
                else
                {
                    tbSinopsis.Clear();
                }

                if (!string.IsNullOrEmpty(mf.premios))
                {
                    tbPremios.Text = mf.premios;
                }
                else
                {
                    tbPremios.Clear();
                }

                if (!string.IsNullOrEmpty(mf.productora))
                {
                    tbCadena.Text = mf.productora;
                }
                else
                {
                    tbCadena.Clear();
                }

                if (!string.IsNullOrEmpty(mf.reparto))
                {
                    tbReparto.Text = mf.reparto;
                }
                else
                {
                    tbReparto.Clear();
                }

                tbGeneros.Clear();
                bool isfirst = true;
                foreach (media_generos mg in mf.media_generos)
                {
                    if (!isfirst)
                    {
                        tbGeneros.Text += ", ";
                    }

                    tbGeneros.Text += mg.genero;
                    isfirst         = false;
                }

                tbPaises.Clear();
                isfirst = true;
                foreach (media_paises mp in mf.media_paises)
                {
                    if (!isfirst)
                    {
                        tbPaises.Text += ", ";
                    }

                    tbPaises.Text += mp.pais;
                    isfirst        = false;
                }

                /*if (!mf.is_folder)
                 * {
                 *  _MediaPayer.LoadMediaFile(mf.file_url);
                 * }
                 * else
                 * {
                 *  _MediaPayer.Hide();
                 *  _MediaPayer.Stop();
                 * }*/
            }
        }
        /**Carga un mediaFile al formulario*/
        public void LoadMediaFile(media_files mf, IconItem iitem)
        {
            if (_formControl.Visibility == Visibility.Hidden)
            {
                ShowForm();

                /* _c1.Width = c1Width;
                 * _cForm.Width = new GridLength(680);
                 * _formControl.Visibility = Visibility.Visible;*/
            }

            if (mf.is_folder)
            {
                lfichero.Text                = "Carpeta";
                lDuracion.Visibility         = Visibility.Hidden;
                tbDuracion.Visibility        = Visibility.Hidden;
                _rowSubtitleLAbel.Height     = new GridLength(0);
                _rowSubtitleTextField.Height = new GridLength(0);
                chbxSaveRecursive.Visibility = Visibility.Visible;
            }
            else
            {
                lfichero.Text                = "Archivo de película";
                lDuracion.Visibility         = Visibility.Visible;
                tbDuracion.Visibility        = Visibility.Visible;
                _rowSubtitleLAbel.Height     = new GridLength(25);
                _rowSubtitleTextField.Height = new GridLength(25);
                chbxSaveRecursive.Visibility = Visibility.Hidden;
            }

            tbTitulo.Text    = mf.titulo;
            tbFichero.Text   = mf.file_url;
            tbSubtitulo.Text = mf.str_file;

            LoadPortadaFile(mf.fichero_portada);

            tbDirector.Text   = mf.director;
            tbAnno.Text       = mf.anno.ToString();
            tbDuracion.Text   = mf.duracion.ToString();
            tbProductora.Text = mf.productora;
            tbReparto.Text    = mf.reparto;
            tbSinopsis.Text   = mf.sinopsis;
            tbPremios.Text    = mf.premios;
            tbTrailer.Text    = mf.fichero_trailer;

            List <genero> generos_list = new List <genero>();

            foreach (media_generos mg in mf.media_generos)
            {
                generos_list.Add(mg.genero);
            }
            RefreshMediaGeneros(generos_list);

            List <pais> paises_list = new List <pais>();

            foreach (media_paises mp in mf.media_paises)
            {
                paises_list.Add(mp.pais);
            }
            RefreshMediaPaises(paises_list);

            current_mf       = mf;
            current_treeItem = iitem;

            BtnOpenSubtitle.IsEnabled = !mf.is_folder;
            lSubtitulo.IsEnabled      = !mf.is_folder;


            chbxSaveRecursive.IsChecked = false;
            // BtnOpenPortada.IsEnabled = !mf.is_folder;

            BtnGuardar.IsEnabled = true;
            BtnDelete.IsEnabled  = true;
        }