Esempio n. 1
0
        public ActionResult Export(int id)
        {
            var songList     = queries.GetSongList(id);
            var formatString = "%notes%;%publishdate%;%title%;%url%;%pv.original.niconicodouga%;%pv.original.!niconicodouga%;%pv.reprint%";
            var tagString    = queries.HandleQuery(ctx => new SongListFormatter(entryLinkFactory).ApplyFormat(ctx.Load(id), formatString, PermissionContext.LanguagePreference, true));

            var enc  = new UTF8Encoding(true);
            var data = enc.GetPreamble().Concat(enc.GetBytes(tagString)).ToArray();

            return(File(data, "text/csv", songList.Name + ".csv"));
        }
Esempio n. 2
0
        public IEnumerable <string> GetFeaturedListNames(string query = "",
                                                         NameMatchMode nameMatchMode = NameMatchMode.Auto,
                                                         SongListFeaturedCategory?featuredCategory = null,
                                                         int maxResults = 10)
        {
            var textQuery = SearchTextQuery.Create(query, nameMatchMode);

            return(queries.HandleQuery(ctx => {
                return ctx.Query()
                .WhereHasFeaturedCategory(featuredCategory, false)
                .WhereHasName(textQuery)
                .Select(l => l.Name)
                .OrderBy(n => n)
                .Take(maxResults)
                .ToArray();
            }));
        }