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)); }
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; })); }
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)); }
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)); }
public TagContract GetTagById(int id, ContentLanguagePreference?language = null) { var tag = tagQueries.GetTag(id, t => new TagContract(t, language ?? userPermissionContext.LanguagePreference, true)); return(tag); }
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); }