/// <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.. }
/// <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); }
/// <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); }