public void WriteTo(MediaItem item)
 {
     foreach (object obj in editors)
     {
         if (obj is MediaItemBindable)
             ((MediaItemBindable)obj).WriteTo(item);
     }
 }
 public void ReadFrom(MediaItem item)
 {
     tabControl.SelectedTab = tabControl.TabPages[0];
     foreach (object obj in editors)
     {
         if (obj is MediaItemBindable)
             ((MediaItemBindable)obj).ReadFrom(item);
     }
 }
Пример #3
0
 public void Remove(MediaItem item)
 {
     TreeNode node = GetTreeNode(item);
     if (node.NextNode != null)
         tree.SelectedNode = node.NextNode;
     else
         tree.SelectedNode = node.PrevNode;
     tree.Nodes.Remove(node);
     treeNodes.Remove(item);
 }
Пример #4
0
        /// <summary>
        /// Reads from the specified media item.
        /// </summary>
        /// <param name="item">The item.</param>
        public void ReadFrom(MediaItem item)
        {
            if (item is TvSeries)
                showDetails = (TvSeries)item;
            allSeasons = null;
            lstSeasons.Items.Clear();
            grdEpisodes.DataSource = null;

            foreach (MediaItem child in item.Children)
            {
                if (child is ISeason)
                {
                    lstSeasons.Items.Add(child);
                }
            }
        }
Пример #5
0
        public void Delete(MediaItem mii)
        {
            ITransaction transaction = null;

            try
            {
                transaction = session.BeginTransaction();
                session.Delete(mii);
                transaction.Commit();
            }
            catch
            {
                if (transaction != null)
                    transaction.Rollback(); // Error => we MUST roll back modifications
                throw; // Here, we throw the same exception so that it is handled (printed)
            }
        }
Пример #6
0
        public void Save(MediaItem mii)
        {
            ITransaction transaction = null;

             try
            {
                transaction = session.BeginTransaction();
                DumpMediaItem("", mii);
                //session.SaveOrUpdate(mii.GeneralInformation);
                session.SaveOrUpdate(mii);
                //session.Load(mii, mii.Id);

                // Commit modifications (=> Build and execute queries)
                transaction.Commit();
            }
            catch
            {
                if (transaction != null)
                    transaction.Rollback(); // Error => we MUST roll back modifications
                throw; // Here, we throw the same exception so that it is handled (printed)
            }
        }
Пример #7
0
        private void UpdateDisplay()
        {
            if (curIndex >= mediaItems.Count)
            {
                // adding new one
                mediaTree.SelectedItem = null;
                this.MediaItem = null;
            }
            else
            {
                if (mediaItems.Count == 0)
                {
                    DoAdd();
                    return;
                }

                this.MediaItem = (MediaItem)mediaItems[curIndex];
                //MediaGeneralInformation info = (MediaGeneralInformation)mediaItems[curIndex];
                //generalInformation.DataObject = info;
                //episodeMaintenance.DataObject = info;
                mediaTree.SelectedItem = this.MediaItem;
                //treeMediaList .SelectedNode = treeMediaList.Nodes[0];
                //treeMediaList.Select();
            }
            UpdateButtonStatuses();
        }
Пример #8
0
 private void DoSave()
 {
     MediaItem item = this.MediaItem;
     //MediaGeneralInformation info = generalInformation.DataObject;
     mediaStore.Save(item);
     mediaTree.Replace(mediaTree.SelectedItem, item);
     // re-assign so that the mgi id is retained
     this.MediaItem = item;
     mediaTree.SelectedItem = item;
     UpdateButtonStatuses();
 }
Пример #9
0
        private void DumpMediaItem(string indent, MediaItem mii)
        {
            if (mii == null)
            {
                Console.WriteLine(indent + "ERROR: null media item");
                return;
            }

            Console.WriteLine(string.Format(indent + "MediaItem. id: {0}. parent id: {1}. Type: {2}. Title: {3}. {4} children", mii.Id, mii.ParentId, mii.Type, mii.Title, mii.Children.Count));
            foreach( MediaItem child in mii.Children )
            {
                DumpMediaItem(indent + "    ", child);
            }
        }
Пример #10
0
 public void Replace(MediaItem oldItem, MediaItem newItem)
 {
     TreeNode oldNode = GetTreeNode(oldItem);
     int index = oldNode.Index;
     tree.Nodes.Remove(oldNode);
     TreeNode newNode = CreateNode(newItem);
     tree.Nodes.Insert(index, newNode);
     foreach (MediaItem child in newItem.Children)
     {
         AddNode(child, newNode.Nodes);
     }
 }
Пример #11
0
 public void WriteTo(MediaItem mediaItem)
 {
     mediaItem.Title = this.txtTitle.Text;
     mediaItem.Components["GeneralInformation"] = this.DataObject;
 }
Пример #12
0
 public void Add(MediaItem item)
 {
     // this.MediaItem = item;
     AddNode(item, tree.Nodes);
 }
Пример #13
0
 private TreeNode GetTreeNode(MediaItem tag)
 {
     if (tag == null)
         return null;
     TreeNode node;
     treeNodes.TryGetValue(tag, out node);
     return node;
 }
Пример #14
0
 private TreeNode CreateNode(MediaItem item)
 {
     TreeNode node = new TreeNode(item.Title);
     switch (item.Type)
     {
         case "Tv Series":
             node.ImageKey = "plasma-tv.png";
             node.SelectedImageKey = "plasma-tv.png";
             break;
         case "Movie":
             node.ImageKey = "film.png";
             node.SelectedImageKey = "film.png";
             break;
         case "Tv Season":
             node.ImageKey = "folder.bmp";
             node.SelectedImageKey = "Folder.bmp";
             break;
         default:
             node.ImageKey = null;
             node.SelectedImageKey = null;
             break;
     }
     node.Tag = item;
     treeNodes[item] = node;
     return node;
 }
Пример #15
0
        private void AddNode(MediaItem item, TreeNodeCollection container)
        {
            // mediaItems.Add(item);

            // FIXME: do this in a more generic manner. dont want
            // to display individual files in the tree view
            if (item is MediaFile)
                return;

            TreeNode node = CreateNode(item);
            container.Add(node);
            foreach (MediaItem child in item.Children)
            {
                AddNode(child, node.Nodes);
            }
        }
Пример #16
0
 public void WriteTo(MediaItem item)
 {
     int rowIndex = grdEpisodes.CurrentCellAddress.Y;
     if (rowIndex != -1 )
     {
         // rebind the episode
         ISeason season = (ISeason)lstSeasons.SelectedItem;
         season.Episodes[rowIndex] = episodeDetails.Episode;
     }
     //item.Components["TvShowDetails"] = showDetails;
 }
Пример #17
0
 public void ReadFrom(MediaItem mediaItem)
 {
     this.txtTitle.Text = mediaItem.Title;
     this.DataObject = (MediaGeneralInformation) mediaItem.Components["GeneralInformation"];
 }