BeatMachine.Model.DataModel.AnalyzeSongs C# (CSharp) Method

AnalyzeSongs() public method

public AnalyzeSongs ( object state ) : void
state object
return void
        public void AnalyzeSongs(object state)
        {
            EchoNestApi api = CreateApiInstance();
            api.CatalogUpdateCompleted += new EventHandler<EchoNestApiEventArgs>(
                AnalyzeSongs_CatalogUpdateCompleted);

            List<CatalogAction<Song>> list = SongsToAnalyze
                .Skip(UploadSkip * uploadTake)
                .Take(uploadTake)
                .Select<AnalyzedSong, CatalogAction<Song>>(
                (s) =>
                {
                    logger.Trace("Preparing to upload song {0}", s);
                    return new CatalogAction<Song>
                    {
                        Item = (Song)s
                    };
                })
                .ToList();

            api.CatalogUpdateAsync(new Catalog
            {
                Id = CatalogId,
                SongActions = list,
            }, null,
            // Tell the callback that this was the last batch
            (list.Count < uploadTake));

            logger.Debug("Uploading {0} songs for analysis", list.Count);
        }