Beispiel #1
0
        static void Main(string[] args)
        {
            AlbumMusic a = new AlbumMusic()
            {
                NameAlmum = "ss"
            };



            Music m = new Music()
            {
                MusicAddress = "dd",
                MusicName    = "aa",
            };

            Singer s = new Singer()
            {
                SignerName = "bb"
            };

            uowPleerMusic pm = new uowPleerMusic();

            pm.pMusic.Insert(m);
            pm.pAlbumMusic.Insert(a);
            pm.pSinger.Insert(s);

            pm.Save();
        }
Beispiel #2
0
 public async static Task DeleteAddressesFromDb()
 {
     await Task.Run(() =>
     {
         using (uowPleerMusic db = new uowPleerMusic())
         {
             foreach (var item in db.pMusic.GetAll())
             {
                 if (!File.Exists(item.MusicAddress))
                 {
                     db.pMusic.Delete(item);
                 }
             }
             db.Save();
         }
     });
 }
        private async static Task <List <vmMusic> > GetDateFromDb(string where = null)
        {
            return(await Task <List <vmMusic> > .Run(() =>
            {
                using (uowPleerMusic db = new uowPleerMusic())
                {
                    List <vmMusic> musics = db.pMusic.GetAll().ToList()
                                            .Select(
                        m =>
                        new vmMusic
                    {
                        AlbumThisMusic = ((AlbumMusic)(db.pMusic.GetAll(m1 => m1.MusicID == m.MusicID, "AlbumThisMusic"))?.FirstOrDefault().AlbumThisMusic).NameAlmum,
                        MusicAddress = m.MusicAddress,
                        MusicName = m.MusicName,
                        SingerThisMusic = (mergeNameSinger((List <Singer>)(db.pMusic.GetAll(m1 => m.MusicID == m1.MusicID, "SingerThisMusic")).FirstOrDefault().SingerThisMusic)).ToString(),
                        MusicID = m.MusicID
                    }).ToList();



                    return musics;
                }
            }));
        }
Beispiel #4
0
        public static async Task <List <(Music music, AlbumMusic album, Singer singer)> > ToClass(List <string> listAddress)
        {
            using (uowPleerMusic db = new uowPleerMusic())
            {
                foreach (var item in db.pMusic.GetAll().ToList())
                {
                    listAddress.Remove(item.MusicAddress.ToString());
                    if (listAddress.Count == 0)
                    {
                        return(null);
                    }
                }
            }



            List <(Music music, AlbumMusic album, Singer singer)> lsitClass = new List <(Music music, AlbumMusic album, Singer singer)>();



            await Task.Run(() =>
            {
                foreach (string addres in listAddress)
                {
                    try
                    {
                        using (TagLib.File file = TagLib.File.Create(addres))
                        {
                            string name = "";

                            using (OpenFileDialog openFile = new OpenFileDialog())
                            {
                                openFile.FileName   = addres;
                                int extensionLength = System.IO.Path.GetExtension(addres).Length;

                                name = openFile.SafeFileName.Remove(openFile.SafeFileName.Length - extensionLength);
                            }

                            Music music        = new Music();
                            music.MusicAddress = addres;
                            music.MusicName    = (file.Tag.Title == null) ? name : file.Tag.Title;

                            AlbumMusic albumMusic = new AlbumMusic();
                            albumMusic.NameAlmum  = (file.Tag.Album == null) ? "Singel" : file.Tag.Album;

                            Singer singer         = new Singer();
                            List <Singer> singers = new List <Singer>();


                            music.AlbumThisMusic = albumMusic;

                            albumMusic.SingersThisAlbum = music.SingerThisMusic = singers;

                            singer.MusicsThisMusic = albumMusic.MusicOfThisAlbum = new List <Music>();

                            singer.AlbumsThisSinger = new List <AlbumMusic>();


                            albumMusic.MusicOfThisAlbum.Add(music);



                            foreach (var item in file.Tag.Artists.ToList())
                            {
                                singer.SignerName = item;
                                singer.AlbumsThisSinger.Add(albumMusic);
                                singer.MusicsThisMusic.Add(music);

                                singers.Add(singer);
                            }


                            (Music music, AlbumMusic album, Singer singer)tupl = (music, albumMusic, singer);

                            lsitClass.Add(tupl);
                        }
                    }
                    catch
                    {
                    }
                }
            });

            return(lsitClass);
        }