Beispiel #1
0
        protected sealed override void PrepareProto()
        {
            base.PrepareProto();
            var tracks = new MusicTracks();

            try
            {
                this.PreparePlaylist(tracks);

                if (tracks.Count == 0)
                {
                    throw new Exception("No music tracks added into the playlist");
                }

                foreach (var track in tracks)
                {
                    if (track == null)
                    {
                        throw new Exception("Null reference provided as track");
                    }

                    if (!Api.Shared.IsFileExists(track.MusicResource))
                    {
                        throw new Exception("Music track doesn't exist: " + track.MusicResource);
                    }
                }

                this.Tracks = tracks.AsReadOnly();
            }
            catch
            {
                this.Tracks = new List <MusicTrack>(0).AsReadOnly();
                throw;
            }
        }