Esempio n. 1
0
        public ActionResult PopupContent(
            int id = invalidId,
            ContentLanguagePreference lang = ContentLanguagePreference.Default,
            string culture = InterfaceLanguage.DefaultCultureCode)
        {
            if (id == invalidId)
            {
                return(HttpNotFound());
            }

            var tag = queries.GetTag(id, t => new TagForApiContract(t, entryThumbPersister, WebHelper.IsSSL(Request),
                                                                    lang, TagOptionalFields.AdditionalNames | TagOptionalFields.Description | TagOptionalFields.MainPicture));

            return(PartialView("_TagPopupContent", tag));
        }
Esempio n. 2
0
        private TagForApiContract Merge(int sourceId, int targetId)
        {
            var permissionContext = new FakePermissionContext(new UserWithPermissionsContract(Db.UserWithEditPermissions, ContentLanguagePreference.Default));

            return(context.RunTest(repository => {
                var queries = new TagQueries(repository, permissionContext, new FakeEntryLinkFactory(), new InMemoryImagePersister(),
                                             new FakeUserIconFactory(), new EnumTranslations());

                queries.Merge(sourceId, targetId);

                var result = queries.GetTag(targetId, t => new TagForApiContract(t, ContentLanguagePreference.English, TagOptionalFields.None));

                return result;
            }));
        }
Esempio n. 3
0
        public ActionResult Index(string filter = null)
        {
            if (!string.IsNullOrEmpty(filter))
            {
                var tagName = queries.GetTag(filter, t => t != null ? t.Name : null);

                if (tagName != null)
                {
                    return(RedirectToAction("Details", new { id = tagName }));
                }
            }

            var tags = queries.GetTagsByCategories();

            return(View(tags));
        }
Esempio n. 4
0
        public ActionResult EntryToolTip(string url, string callback)
        {
            if (string.IsNullOrWhiteSpace(url))
            {
                return(HttpStatusCodeResult(HttpStatusCode.BadRequest, "URL must be specified"));
            }

            var entryId = entryUrlParser.Parse(url, allowRelative: true);

            if (entryId.IsEmpty)
            {
                return(HttpStatusCodeResult(HttpStatusCode.BadRequest, "Invalid URL"));
            }

            var data = string.Empty;
            var id   = entryId.Id;

            switch (entryId.EntryType)
            {
            case EntryType.Album:
                data = RenderPartialViewToString("AlbumWithCoverPopupContent", albumService.GetAlbum(id));
                break;

            case EntryType.Artist:
                data = RenderPartialViewToString("ArtistPopupContent", artistService.GetArtist(id));
                break;

            case EntryType.Song:
                data = RenderPartialViewToString("SongPopupContent", songService.GetSong(id));
                break;

            case EntryType.Tag:
                data = RenderPartialViewToString("_TagPopupContent", tagQueries.GetTag(id, t =>
                                                                                       new TagForApiContract(t, entryThumbPersister, WebHelper.IsSSL(Request), ContentLanguagePreference.Default, TagOptionalFields.AdditionalNames | TagOptionalFields.MainPicture)));
                break;
            }

            return(Json(data, callback));
        }
Esempio n. 5
0
        public TagContract GetTagById(int id, ContentLanguagePreference?language = null)
        {
            var tag = tagQueries.GetTag(id, t => new TagContract(t, language ?? userPermissionContext.LanguagePreference, true));

            return(tag);
        }
Esempio n. 6
0
        public TagForApiContract GetByName(string name, TagOptionalFields fields = TagOptionalFields.None)
        {
            var tag = queries.GetTag(name, t => new TagForApiContract(t, thumbPersister, WebHelper.IsSSL(Request), fields));

            return(tag);
        }