Exemplo n.º 1
0
        bool IsAlreadyExistsInDB(string value)
        {
            bool yes = false;

            try
            {
                using (var modelContext = new MusicPlayEntities3())
                {
                    yes = modelContext.MusicAlbums.Where(r => r.AlbumName.ToUpper() == value.ToUpper()).Count() > 0;
                }

                if (!yes)
                {
                    using (var modelContext = new MusicPlayEntities3())
                    {
                        yes = modelContext.MusicArtists.Where(r => r.ArtistName.ToUpper() == value.ToUpper()).Count() > 0;
                    }
                }
                if (!yes)
                {
                    using (var modelContext = new MusicPlayEntities3())
                    {
                        yes = modelContext.MusicBands.Where(r => r.BandName.ToUpper() == value.ToUpper()).Count() > 0;
                    }
                }
            }
            catch (Exception errMsg)
            {
                throw errMsg;
            }

            return(yes);
        }
Exemplo n.º 2
0
        public bool HasBandInDB(string bandName)
        {
            bool yes = false;

            using (var modelContext = new MusicPlayEntities3())
            {
                yes = modelContext.MusicBands.Where(r => r.BandName.ToUpper() == bandName.ToUpper()).Count() > 0;
            }
            return(yes);
        }
Exemplo n.º 3
0
        public bool HasArtistInExistsInDB(string artistName)
        {
            bool yes = false;

            using (var modelContext = new MusicPlayEntities3())
            {
                try
                {
                    yes = modelContext.MusicArtists.Where(r => r.ArtistName.ToUpper() == artistName.ToUpper()).Count() > 0;
                }
                catch (Exception errMsg)
                {
                    throw errMsg;
                }
            }
            return(yes);
        }
Exemplo n.º 4
0
        private void btnGo_Click(object sender, EventArgs e)
        {
            DistilTitle  distilTitle  = new DistilTitle();
            TitleExtract titleExtract = new TitleExtract();

            GlobalUserConfig config = new GlobalUserConfig();

            GlobalUserConfig.ParentFolderPath = txtPath.Text.Trim();
            DirectoryProcess     dProcess = new DirectoryProcess();
            List <DirectoryInfo> dirList  = dProcess.GetDirectories();

            FileInfo[]  musicFiles   = null;
            TagLib.File tagMusicFile = null;

            Simile.Algorithm.AlgorithmFactory algFactory = new Algorithm.AlgorithmFactory();

            //string newTitle = "";
            // string artistOrBandName = "";
            //  Simile.SimileEnums.GroupCategory grpCategory = SimileEnums.GroupCategory.Unknown;
            Simile.DBProcess.MusicBand   musicBand   = new Simile.DBProcess.MusicBand();
            Simile.DBProcess.MusicArtist musicArtist = new Simile.DBProcess.MusicArtist();

            List <MusicFileViewModel> listMusicFileViewModel = new List <MusicFileViewModel>();
            MusicFileViewModel        musicFileViewModel     = null;

            List <clsErrorRpt> errorRpts = new List <clsErrorRpt>();
            clsErrorRpt        errR      = null;

            foreach (DirectoryInfo dir in dirList)
            {
                musicFiles = dir.GetFiles(GlobalUserConfig.FileType);



                foreach (FileInfo finfo in musicFiles)
                {
                    try
                    {
                        FileInfo musicFile = finfo;

                        //
                        errR          = new clsErrorRpt();
                        errR.FileName = musicFile.Name;
                        errR.Path     = musicFile.FullName;

                        //

                        tagMusicFile = TagLib.File.Create(musicFile.FullName);

                        //if tag is null then avoid the file and get next file.
                        if (tagMusicFile.Tag == null)
                        {
                            continue;
                        }



                        musicFileViewModel          = new MusicFileViewModel();
                        musicFileViewModel.Title    = tagMusicFile.Tag.Title.Trim(); // newTitle.Trim();
                        musicFileViewModel.FileName = musicFile.Name.Trim();
                        musicFileViewModel.Path     = musicFile.DirectoryName.Trim();

                        var artistName = "";
                        var bandName   = "";


                        //----------------------------
                        if (tagMusicFile.Tag.AlbumArtists != null && tagMusicFile.Tag.AlbumArtists.Count() > 0)
                        {
                            string tmpAlbArtists = "";
                            var    test          = tagMusicFile.Tag.AlbumArtists;
                            foreach (var val in test)
                            {
                                tmpAlbArtists += val.Trim();
                            }

                            if (!string.IsNullOrEmpty(tmpAlbArtists))
                            {
                                using (var modelContext = new MusicPlayEntities3())
                                {
                                    Simile.MusicArtist tmpArtist = modelContext.MusicArtists.Where(r => r.ArtistName.ToUpper() == tmpAlbArtists.ToUpper()).FirstOrDefault();
                                    if (tmpArtist != null)
                                    {
                                        musicFileViewModel.Artist   = tmpArtist.ArtistName.Trim();
                                        musicFileViewModel.ArtistId = tmpArtist.Id;
                                    }
                                }

                                using (var modelContext = new MusicPlayEntities3())
                                {
                                    Simile.MusicBand tmpBand = modelContext.MusicBands.Where(r => r.BandName.ToUpper() == tmpAlbArtists.ToUpper()).FirstOrDefault();
                                    if (tmpBand != null)
                                    {
                                        musicFileViewModel.Band   = tmpBand.BandName.Trim();
                                        musicFileViewModel.BandId = tmpBand.Id;
                                    }
                                }
                            }
                        }


                        //-----------------------------



                        //////////////////



                        if (musicFileViewModel.BandId == 0)
                        {
                            var tmpBandName = musicFile.Directory.Name.Trim();

                            using (var modelContext = new MusicPlayEntities3())
                            {
                                Simile.MusicBand tmpBand = modelContext.MusicBands.Where(r => r.BandName.ToUpper() == tmpBandName.ToUpper()).FirstOrDefault();
                                if (tmpBand != null)
                                {
                                    musicFileViewModel.Band   = tmpBand.BandName.Trim();
                                    musicFileViewModel.BandId = tmpBand.Id;
                                }
                            }
                        }

                        if (musicFileViewModel.ArtistId == 0)
                        {
                            var tmpArtistName = musicFile.Directory.Name.Trim();
                            using (var modelContext = new MusicPlayEntities3())
                            {
                                Simile.MusicArtist tmpArtist = modelContext.MusicArtists.Where(r => r.ArtistName.ToUpper() == tmpArtistName.ToUpper()).FirstOrDefault();
                                if (tmpArtist != null)
                                {
                                    musicFileViewModel.Artist   = tmpArtist.ArtistName.Trim();
                                    musicFileViewModel.ArtistId = tmpArtist.Id;
                                }
                            }
                        }

                        ////////////////////

                        if (!string.IsNullOrEmpty(tagMusicFile.Tag.Comment))
                        {
                            var splitComments = tagMusicFile.Tag.Comment.Split(';');

                            foreach (var val in splitComments)
                            {
                                var childSplit = val.ToString().Split('=');
                                if (childSplit.Length == 2)
                                {
                                    if (childSplit[0].Trim() == "Artist")
                                    {
                                        artistName = childSplit[1].Trim();
                                    }

                                    if (childSplit[0].Trim() == "Band")
                                    {
                                        bandName = childSplit[1].Trim();
                                    }
                                }
                            }
                        }

                        if (musicFileViewModel.BandId == 0 && !string.IsNullOrEmpty(bandName))
                        {
                            using (var modelContext = new MusicPlayEntities3())
                            {
                                Simile.MusicBand tmpBand = modelContext.MusicBands.Where(r => r.BandName.ToUpper() == bandName.ToUpper()).FirstOrDefault();
                                musicFileViewModel.Band   = tmpBand.BandName.Trim();
                                musicFileViewModel.BandId = tmpBand.Id;
                            }
                        }

                        if (musicFileViewModel.ArtistId == 0 && !string.IsNullOrEmpty(artistName))
                        {
                            using (var modelContext = new MusicPlayEntities3())
                            {
                                Simile.MusicArtist tmpArtist = modelContext.MusicArtists.Where(r => r.ArtistName.ToUpper() == artistName.ToUpper()).FirstOrDefault();
                                musicFileViewModel.Artist   = tmpArtist.ArtistName.Trim();
                                musicFileViewModel.ArtistId = tmpArtist.Id;
                            }
                        }



                        listMusicFileViewModel.Add(musicFileViewModel);
                    }
                    catch (Exception errMsg)
                    {
                        errR.Error = errMsg.Message;
                        errorRpts.Add(errR);
                        MessageBox.Show(errMsg.Message);
                    }
                } // end of for loop
            }     //end of dir for loop

            dgvMusicFiles.DataSource = listMusicFileViewModel;
        }
Exemplo n.º 5
0
        bool IsFun(string value)
        {
            char[]   splitIncomingValue = new char[value.Length];
            string[] strSplitValue      = new string[value.Length];

            //Convert incoming values into character array.
            splitIncomingValue = value.ToUpper().ToCharArray();

            char[] obsoleteCharacter = new char[6];
            obsoleteCharacter[0] = '(';
            obsoleteCharacter[1] = ')';
            obsoleteCharacter[2] = '*';
            obsoleteCharacter[3] = ';';
            obsoleteCharacter[4] = '.';
            obsoleteCharacter[5] = ' ';

            //strSplitValue[0] = "New Artist";

            // ArrayList valueToCompare = new ArrayList();
            List <string> valueToCompare = new List <string>();

            foreach (char charValue in splitIncomingValue)
            {
                if (obsoleteCharacter.Where(r => r == charValue).Count() == 0) //value.Contains(charValue))
                {
                    valueToCompare.Add(charValue.ToString().ToUpper());        // = charValue.ToString();
                }
            }


            ////
            // ArrayList dbvalueToCompare = new ArrayList();
            List <string> dbvalueToCompare = new List <string>();
            var           albums           = this.artistsTagValue.Select(r => r.ToUpper());

            foreach (var albumName in albums)
            {
                char[] splitAlbumNames = new char[albumName.Length];
                splitAlbumNames = albumName.ToUpper().ToCharArray();

                foreach (char charValue in splitAlbumNames)
                {
                    if (obsoleteCharacter.Where(r => r == charValue).Count() == 0)
                    {
                        dbvalueToCompare.Add(charValue.ToString().ToUpper());    // = charValue.ToString();
                    }
                }
            }

            bool isLocalSame = valueToCompare.Except(dbvalueToCompare).ToList().Count() == 0;

            List <string> dbvalueToCompare1 = new List <string>();

            using (var modelContext = new MusicPlayEntities3())
            {
                var albums1 = modelContext.MusicAlbums.Select(r => r.AlbumName.ToUpper());
                foreach (var albumName in albums1)
                {
                    char[] splitAlbumNames = new char[albumName.Length];

                    foreach (char charValue in splitAlbumNames)
                    {
                        if (obsoleteCharacter.Where(r => r == charValue).Count() == 0)
                        {
                            dbvalueToCompare1.Add(charValue.ToString().ToUpper());    // = charValue.ToString();
                        }
                    }
                }
            }

            bool isDbSame = valueToCompare.Except(dbvalueToCompare1).ToList().Count() == 0;
            //valueToCompare.ToArray().Where( r => r.ToString() == dbvalueToCompare.ToArray()) //.Contains(dbvalueToCompare);

            bool isSame = false;

            isSame = (isLocalSame || isDbSame);


            return(isSame);
        }