Exemplo n.º 1
0
        public void ActivitésMusicien(TreeNode noeud)
        {
            #region Activités d'un musicien donné
            //TreeNode noeud = arbre.SelectedNode;
            noeud.Nodes.Clear();
            //      Musicien mus = (Musicien)arbre.SelectedNode.Tag;
            //var inter = mus.Interprétation.OrderBy(m => m.Roles.Role);
            Roles    role = null;
            TreeNode tn   = null;
            foreach (Opéra op in Opéra.Where(o => o.Disques.Count > 0).OrderBy(o => o.Année))
            {
                #region Compositions
                TreeNode to = new TreeNode("Composition : " + op.Titre)
                {
                    Tag = op
                };
                noeud.Nodes.Add(to);
                #endregion
            }
            foreach (Diriger dir in Diriger.OrderBy(c => c.Disques.Opéra.Titre))
            {
                #region Direction
                Disques dis = dir.Disques;
                dis.CréeNoeudDisque(noeud);
                //             CréeNoeudDisque(dis, arbre);
                #endregion
            }
            foreach (MiseEnScene mise in MiseEnScene)
            {
                #region Mise en Scène
                Disques dis = mise.Disques;
                dis.CréeNoeudDisque(noeud);
                //             CréeNoeudDisque(dis, arbre);
                #endregion
            }
            noeud.Text = this.ToString() + " : " + Interprétation.Count + " role";
            if (Interprétation.Count > 1)
            {
                noeud.Text += "s";
            }

            foreach (Interprétation interprétation in Interprétation.OrderBy(m => m.Roles.Role))
            {
                #region Interprète
                if (role != interprétation.Roles)
                {
                    role = interprétation.Roles;
                    tn   = new TreeNode("Interprète : " + role.Role + " (" + role.Opéra.Titre + " - " + role.Opéra.Musicien.ToString() + ")")
                    {
                        Tag = role
                    };
                    //      tn.Nodes.Add(role.Opéra.CréeNoeudOpéra(arbre));
                    noeud.Nodes.Add(tn);
                }
                TreeNode n = new TreeNode(interprétation.Disques.Fichier);
                if ((interprétation.Disques.Pochette != null) & (interprétation.Disques.ASIN != null))
                {
                    MemoryStream ms = new MemoryStream(interprétation.Disques.Pochette);
                    Image        im = Image.FromStream(ms);
                    MainForm.imagesMusiciens.Images.Add(interprétation.Disques.ASIN.ToString(), im);
                    n.ImageKey         = interprétation.Disques.ASIN.ToString();
                    n.SelectedImageKey = n.ImageKey;
                    im.Dispose();
                }
                if (String.IsNullOrEmpty(interprétation.Disques.Fichier))
                {
                    n.Text = interprétation.Disques.Opéra.Titre + " (" + interprétation.Disques.Editeur.NomEditeur + ")";
                }
                tn.Nodes.Add(n);
                n.Tag = interprétation.Disques;
                #endregion
            }
            #endregion
        }
Exemplo n.º 2
0
        public void CréeNoeudDisque(TreeNode noeud)
        {
            //   TreeNode noeud = arbre.SelectedNode;
            #region Noeud Disque
            int      personne   = MainForm.imagesMusiciens.Images.IndexOfKey("a0");
            int      film       = MainForm.imagesMusiciens.Images.IndexOfKey("a1");
            int      orchestre  = MainForm.imagesMusiciens.Images.IndexOfKey("a2");
            int      youtube    = MainForm.imagesMusiciens.Images.IndexOfKey("a3");
            int      amazon     = MainForm.imagesMusiciens.Images.IndexOfKey("a4");
            int      marque     = MainForm.imagesMusiciens.Images.IndexOfKey("a5");
            int      marq       = MainForm.imagesMusiciens.Images.IndexOfKey("a6");
            int      tv         = MainForm.imagesMusiciens.Images.IndexOfKey("a7");
            int      dvd        = MainForm.imagesMusiciens.Images.IndexOfKey("a8");
            TreeNode noeudOpéra = new TreeNode(Opéra.Titre + " (" + Opéra.Année?.ToString() + ") "
                                               + Opéra.Musicien.Nom_Musicien + " " + Opéra.Musicien.Prénom_Musicien, film, film)
            {
                Tag  = this,
                Name = this.ToString()
            };
            if (!String.IsNullOrEmpty(Fichier))
            {
                noeudOpéra.NodeFont = new Font(noeud.TreeView.Font, FontStyle.Italic);
            }
            if (Pochette != null)
            {
                MetajourPochette(noeud);
            }
            else
            {
                if (MainForm.imagesMusiciens.Images.ContainsKey("a1"))
                {
                    noeudOpéra.ImageKey         = "a1";
                    noeudOpéra.SelectedImageKey = noeudOpéra.ImageKey;
                }
            }
            noeudOpéra.Tag = Opéra;
            noeud.Nodes.Add(noeudOpéra);
            TreeNode source = new TreeNode(Année?.ToString() + " " + Source + " " + Editeur?.NomEditeur + " :" + Durée?.ToString() + " mn " + Vidéo + ", " + Audio);
            if (Code_Définition != null)
            {
                source.Text += ", " + Définition.Détail;
            }
            if (Source == "Téléchargement")
            {
                source.ImageIndex = tv;
            }
            else
            {
                source.ImageIndex = dvd;
            }
            noeud.Nodes.Add(source);

            if (!string.IsNullOrEmpty(ASIN))
            {
                TreeNode asin = new TreeNode(ASIN, amazon, amazon)
                {
                    Tag = new ASIN {
                        Asin = ASIN
                    }
                };
                noeud.Nodes.Add(asin);
            }
            if (LienYouTube.Count > 0)
            {
                TreeNode th = new TreeNode("YouTube", youtube, youtube);
                noeud.Nodes.Add(th);
                foreach (LienYouTube lien in LienYouTube)
                {
                    th.Nodes.Add(lien.CréeNoeudLien());
                    th.Tag = lien;
                }
            }
            if (Diriger.Count == 0)
            {
                TreeNode dir = new TreeNode("Inconnu", orchestre, orchestre)
                {
                    Tag = new Diriger {
                        Disques = this
                    }
                };
                noeud.Nodes.Add(dir);
            }
            else
            {
                foreach (Diriger dr in Diriger)
                {
                    #region Orchestre et Direction
                    TreeNode dir = new TreeNode(dr.Orchestres.Nom_Orchestre, orchestre, orchestre)
                    {
                        Tag = dr
                    };
                    if (dr.Musicien != null)
                    {
                        TreeNode tdir = dr.Musicien.CréeNoeudMusicien();
                        dir.Nodes.Add(tdir);
                        tdir.Tag = dr.Musicien;
                    }
                    noeud.Nodes.Add(dir);
                    #endregion
                }
            }
            if (MiseEnScene.Count == 0)
            {
                TreeNode    dir  = new TreeNode("Metteur en scène inconnu", personne, personne);
                MiseEnScene mise = new MiseEnScene();
                dir.Tag = mise;
                noeud.Nodes.Add(dir);
            }
            else
            {
                foreach (MiseEnScene ms in MiseEnScene)
                {
                    #region Mise en scène
                    TreeNode mis = ms.Musicien.CréeNoeudMusicien();
                    mis.Tag  = ms;
                    mis.Text = "Mise en scène : " + mis.Text + " " + ms.Salle;
                    noeud.Nodes.Add(mis);
                    #endregion
                }
            }
            foreach (Roles r in Opéra.Roles.OrderBy(rr => rr.Role))
            {
                #region Interprétations
                TreeNode       nn = new TreeNode(r.Role + " (" + r.Voix + ")");
                var            u  = Interprétation.Where(y => y.Roles == r);
                Interprétation i;
                if (u.Count() > 0)
                {
                    i        = u.First();
                    nn.Text += " : " + i.Musicien.Prénom_Musicien + " " + i.Musicien.Nom_Musicien + " (" + i.Musicien.Instrument.Nom_Instrument + ")";
                    Musicien mus = i.Musicien;
                    if (!MainForm.imagesMusiciens.Images.ContainsKey(mus.Code_Musicien.ToString()))
                    {
                        if (mus.Photo != null)
                        {
                            MemoryStream ms = new MemoryStream(mus.Photo);
                            Image        im = Image.FromStream(ms);
                            MainForm.imagesMusiciens.Images.Add(mus.Code_Musicien.ToString(), im);
                            nn.ImageKey         = mus.Code_Musicien.ToString();
                            nn.SelectedImageKey = nn.ImageKey;
                            im.Dispose();
                        }
                        else
                        {
                            nn.ImageIndex       = personne;
                            nn.SelectedImageKey = nn.ImageKey;
                        }
                    }
                    else
                    {
                        nn.ImageKey         = mus.Code_Musicien.ToString();
                        nn.SelectedImageKey = nn.ImageKey;
                    }
                }
                else
                {
                    i = new Interprétation {
                        Roles = r, Disques = this
                    };
                    nn.Text      += " : Inconnu";
                    nn.ImageIndex = personne;
                }
                nn.Tag = i;
                noeud.Nodes.Add(nn);
                #endregion
            }
            if (Marqueurs.Count > 0)
            {
                TreeNode marqueurs = new TreeNode("Airs", marque, marque)
                {
                    Tag = "Airs"
                };
                foreach (Marqueurs mar in Marqueurs.OrderBy(c => c.Adresse))
                {
                    TimeSpan time     = TimeSpan.FromTicks((long)mar.Adresse);
                    TreeNode marqueur = new TreeNode(mar.ToString(), marq, marq)
                    {
                        Tag = mar
                    };
                    marqueurs.Nodes.Add(marqueur);
                }
                noeud.Nodes.Add(marqueurs);
            }
            noeudOpéra.ExpandAll();
            #endregion
        }