Example #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AlbumSongWCFExt"/> class.
 /// </summary>
 /// <param name="albumSongWCF">A AlbumSongWCF class to copy the properties from.</param>
 public AlbumSongWCFExt(AlbumSongWCF albumSongWCF)
 {
     // set the properties..
     QueueIndex      = albumSongWCF.QueueIndex;
     Rating          = albumSongWCF.Rating;
     SongName        = albumSongWCF.SongName;
     Album           = albumSongWCF.SongName;
     Artist          = albumSongWCF.Artist;
     Duration        = albumSongWCF.Duration;
     FullFileName    = albumSongWCF.FullFileName;
     ID              = albumSongWCF.ID;
     OverrideName    = albumSongWCF.OverrideName;
     SongNameNoQueue = albumSongWCF.SongNameNoQueue;
     TagStr          = albumSongWCF.TagStr;
     Title           = albumSongWCF.Title;
     Track           = albumSongWCF.Track;
     Volume          = albumSongWCF.Volume;
     Year            = albumSongWCF.Year;
     // END: set the properties..
 }
Example #2
0
        /// <summary>
        /// Creates a AlbumSongWCF class instance of a given AlbumSongWCFExt class instance.
        /// </summary>
        /// <param name="songWCFExt">An AlbumSongWCFExt class instance to covert to AlbumSongWCF class instance.</param>
        /// <returns>An AlbumSongWCF class instance of a given AlbumSongWCFExt class instance.</returns>
        public static AlbumSongWCF FromExt(AlbumSongWCFExt songWCFExt)
        {
            AlbumSongWCF result = new AlbumSongWCF();

            result.Album           = songWCFExt.Album;
            result.Artist          = songWCFExt.Artist;
            result.Duration        = songWCFExt.Duration;
            result.FullFileName    = songWCFExt.FullFileName;
            result.ID              = songWCFExt.ID;
            result.OverrideName    = songWCFExt.OverrideName;
            result.QueueIndex      = songWCFExt.QueueIndex;
            result.Rating          = songWCFExt.Rating;
            result.SongName        = songWCFExt.SongName;
            result.SongNameNoQueue = songWCFExt.SongNameNoQueue;
            result.TagStr          = songWCFExt.TagStr;
            result.Title           = songWCFExt.Title;
            result.Track           = songWCFExt.Track;
            result.Volume          = songWCFExt.Volume;
            result.Year            = songWCFExt.Year;
            return(result);
        }
Example #3
0
        /// <summary>
        /// Checks if this AlbumSongWCF class instance matches with a given search string.
        /// </summary>
        /// <param name="song">The song.</param>
        /// <param name="search">The search.</param>
        /// <returns></returns>
        public static bool Match(this AlbumSongWCF song, string search)
        {
            if (search.Trim() == string.Empty)
            {
                return(true);
            }
            search = search.ToUpper().Trim();
            bool bfound1 =
                song.Artist.IndexOf(search, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                song.Album.IndexOf(search, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                song.Title.IndexOf(search, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                song.Year.IndexOf(search, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                song.Track.IndexOf(search, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                song.FullFileName.IndexOf(search, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                song.OverrideName.IndexOf(search, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                song.TagStr.IndexOf(search, StringComparison.InvariantCultureIgnoreCase) >= 0;

            string[] search2 = search.Split(' ');
            if (search2.Length <= 1 || bfound1)
            {
                return(bfound1);
            }
            bool   bfound2 = true;
            string tmpStr;

            foreach (string str in search2)
            {
                tmpStr   = str;
                bfound2 &=
                    song.Artist.IndexOf(tmpStr, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                    song.Album.IndexOf(tmpStr, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                    song.Title.IndexOf(tmpStr, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                    song.Year.IndexOf(tmpStr, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                    song.Track.IndexOf(tmpStr, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                    song.FullFileName.IndexOf(tmpStr, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                    song.OverrideName.IndexOf(tmpStr, StringComparison.InvariantCultureIgnoreCase) >= 0 ||
                    song.TagStr.IndexOf(tmpStr, StringComparison.InvariantCultureIgnoreCase) >= 0;
            }
            return(bfound1 || bfound2);
        }