/// <summary> /// Gets the image link. /// </summary> /// <param name="album">The album.</param> /// <returns></returns> public static string GetAlbumImageThumbnailForUserHomepage(Album album) { string val = string.Empty; if (album.Media != null) { MediaFile thumbnail = album.Media[0].GetImageByPhotoType(PhotoType.Thumbnail); const string linkFormat = @"<tr> <td><span class=""imagecontainer"" ><a class=""showimage"" href=""{0}"" title=""{1}""><img src=""{2}"" alt=""{3}"" /></a></span></td> <td> <ul class=""albummetadata"" > <li><label class=""albumtitle"" ><span>{4}</span></label></li> <li><label>photos </label><span>{5}</span></li> <li><label>sub albums </label><span>{6}</span></li> </ul> </td> </tr>"; val = string.Format(linkFormat, _urlService.UserUrl(album.Media[0].Owner.Username, string.Format("albums/#/show/{0}", album.AlbumId)), album.Name, _urlService.UserUrl(album.Media[0].Owner.Username, "services/grayscale/" + thumbnail.MediaId), album.Media[0].Title, album.Name, album.PhotoCount, album.ChildAlbumCount); } return val; }
public ActionResult Add(Album album) { AddAlbumView addAlbumView = ModelFactory<AddAlbumView>(); if (album != null) { addAlbumView.AlbumCrumbs = GetAlbumCrumbs(album); } return View(addAlbumView); }
public ActionResult Add(AddAlbumView albumView, string id) { int albumId; int.TryParse(id, out albumId); Album album = new Album { Description = albumView.Description ?? string.Empty, Name = albumView.Name, UserId = Owner.Id }; albumView = SetAuthorizationAndUrlService(albumView); if (!string.IsNullOrEmpty(id)) { album.ParentId = Convert.ToInt32(id); } _albumRepository.Save(album); albumView.UIMessage = album.Name + " added."; albumView.Name = string.Empty; albumView.Description = string.Empty; return View(albumView); }
/// <summary> /// Gets from album view. /// </summary> /// <param name="album">The album.</param> /// <returns></returns> private RemovePhotosFromAlbumView GetFromAlbumView(Album album) { List<Media> photos = _mediaRepository.RetrieveByAlbumIdAndUserId(Owner.Id, album.AlbumId); RemovePhotosFromAlbumView removePhotos = ModelFactory<RemovePhotosFromAlbumView>(new {photos, album}); return removePhotos; }
/// <summary> /// Gets the bread crumbs. /// </summary> /// <param name="album">The album.</param> /// <returns></returns> private IDictionary<string, string> GetBreadCrumbs(Album album) { IDictionary<string, string> breadCrumbs = GetBreadCrumbs(); breadCrumbs.Add(album.Name, UrlService.UserUrl("albums/#/show/" + album.AlbumId)); breadCrumbs.Add("add", string.Empty); return breadCrumbs; }
/// <summary> /// Gets the album view. /// </summary> /// <param name="album">The album.</param> /// <param name="cp">The cp.</param> /// <param name="text">The text.</param> /// <param name="retrieveMedia">The retrieve media.</param> /// <returns></returns> private BySearchingView GetAlbumView(Album album, string cp, Func<List<Media>> retrieveMedia, string text = null) { BySearchingView albumView = ModelFactory<BySearchingView>(new {album, Pagination = _paginationService}); int index = (string.IsNullOrEmpty(cp) ? 1 : Convert.ToInt32(cp)); List<Media> media = retrieveMedia(); string queryText = (string.IsNullOrEmpty(text) ? string.Empty : "text=" + HttpUtility.HtmlEncode(text)); albumView.Pagination.GeneratePaging(media, index, 20, "?" + queryText + "&cp={0}"); albumView.TotalCount = media.Count; return albumView; }
/// <summary> /// Gets the album crumbs. /// </summary> /// <param name="album">The album.</param> /// <returns></returns> private string GetAlbumCrumbs(Album album) { StringBuilder builder = new StringBuilder(); builder.Append("/"); List<Album> albumCrumb = _albumRepository.RetrieveAlbumHierarchyByAlbumIdAndUserId(album.AlbumId, Owner.Id); const string link = "<a href=\"{0}\" title=\" View '{1}'\" >{1}</a>"; foreach (Album crumb in albumCrumb) { builder.AppendFormat("/ {0} ", string.Format(link, UrlService.UserUrl("albums/#/show/" + crumb.AlbumId), crumb.Name)); } return builder.ToString(); }
/// <summary> /// Add photos by the tags. /// </summary> /// <param name="album">The album.</param> /// <param name="text">The text.</param> /// <param name="cp">The cp.</param> /// <returns></returns> public ActionResult Tags(Album album, string text, string cp) { IDictionary<string, string> breadCrumbs = GetBreadCrumbs(album); breadCrumbs.Add("by tags", string.Empty ); List<Media> media = (string.IsNullOrEmpty(text) ? new List<Media>() : _mediaRepository.SearchTagsForPhotosThatDoNotIncludePhotosFromAlbumIdAndUserId(album.AlbumId, Owner.Id, new TagCollection(text))); Func<List<Media>> retrieveMedia = () => (media); BySearchingView albumView = GetAlbumView(album, cp, retrieveMedia, text); albumView.PartialViewName = "ByTags"; albumView.Set = _persistentCollectionService.Set(Authorization.Owner.Username + "AddPhotoTag" + album.AlbumId + text, media, Persistence.Temporary); string queryValues = (string.IsNullOrEmpty(text) ? string.Empty : "?text=" + HttpUtility.HtmlEncode(text).Trim() + "&cp=" + (string.IsNullOrEmpty(cp) ? 1 : Convert.ToInt32(cp))); _persistentCollectionService.SetBackUrl(Authorization.Owner.Username + "/albums/tags/" + album.AlbumId + queryValues, SiteCookie); return View("addphotos",albumView, breadCrumbs); }
/// <summary> /// Initializes a new instance of the <see cref="AlbumLandingPageDecorator"/> class. /// </summary> /// <param name="album">The album.</param> public AlbumLandingPageDecorator(Album album) { Album = album; }
public ActionResult RemovePhotos(Album album) { RemovePhotosFromAlbumView fromAlbumView = GetFromAlbumView(album); IDictionary<string, string> crumbs = GetRemovePhotoBreadcrumbs(album.AlbumId); return View(fromAlbumView, crumbs); }
/// <summary> /// Manages the specified id. /// </summary> /// <param name="album">The album.</param> /// <returns></returns> public ActionResult Photos(Album album) { List<MediaWithAlbumPosition> media = _mediaRepository.GetMediaWithAlbumPositionByAlbumId(album.AlbumId, Owner.Id); string albumCrumbs = GetAlbumCrumbs(album); IDictionary<string, string> breadCrumbs = GetBreadCrumbs(); breadCrumbs.Add(album.Name, string.Empty); breadCrumbs.Add("photos", string.Empty); string setKey = _persistentCollectionService.Set(Authorization.Owner.Username + "_ManageAlbum_" + album.AlbumId, media.ConvertAll(o => (Media)o), Persistence.Permanent); _persistentCollectionService.SetBackUrl(Authorization.Owner.Username + "/albums/photos/" + album.AlbumId, SiteCookie); ManagePhotosView manageView = ModelFactory<ManagePhotosView>(new {album, media, albumCrumbs, Set=setKey}); return View(manageView, breadCrumbs); }
/// <summary> /// Albums the details. /// </summary> /// <param name="album">The album.</param> /// <returns></returns> public JsonResult GetDetails(Album album) { List<Media> medias = _mediaRepository.RetrieveByAlbumIdAndUserId(Owner.Id, album.AlbumId); _persistentCollectionService.SetBackUrl(string.Format("{0}/albums/#/show/{1}", Authorization.Owner.Username, album.AlbumId), SiteCookie); string key = _persistentCollectionService.Set(Authorization.Owner.Username + "_albums_show_" + album.AlbumId, medias, Persistence.Permanent); string adminLink = string.Empty; if (Authorization.IsOwner) { adminLink = GetAdminLink(album.AlbumId); } string photos = GenerateImageLinks(key,medias); var albumDetails = new { photos, title = album.Name, isAdmin = Authorization.IsOwner, description = album.Description, count = medias.Count, adminlinks = adminLink }; return Json(albumDetails, JsonRequestBehavior.AllowGet); }
public ActionResult Details(Album album, string name, string description) { ManageDetailsView manageView = ModelFactory<ManageDetailsView>(); album.Description = description ?? string.Empty; album.Name = name; _albumRepository.Save(album); IDictionary<string, string> breadCrumbs = GetBreadCrumbs(); breadCrumbs.Add(album.Name, UrlService.UserUrl("albums/#/show/" + album.AlbumId)); breadCrumbs.Add("details", string.Empty); manageView.Album = album; manageView.AlbumCrumbs = GetAlbumCrumbs(album); manageView.UIMessage = album.Name + " saved."; return View(manageView, breadCrumbs); }
public ActionResult Details(Album album) { string albumCrumbs = GetAlbumCrumbs(album); IDictionary<string, string> breadCrumbs = GetBreadCrumbs(); breadCrumbs.Add(album.Name, UrlService.UserUrl("albums/#/show/" + album.AlbumId)); breadCrumbs.Add("details", string.Empty); string message = SiteCookie.Get(_removePhotosFromAlbumMessageCookieKey); if (!string.IsNullOrEmpty(message)) { SiteCookie.Set(_removePhotosFromAlbumMessageCookieKey, string.Empty); } Media media = null; if(album.CoverMediaId.HasValue) { media = _mediaRepository.RetrieveByPrimaryKeyAndUserId(album.CoverMediaId.GetValueOrDefault(), Owner.Id); } ManageDetailsView manageView = ModelFactory<ManageDetailsView>(new{ Album = album, CoverMedia = media, albumCrumbs, UIMessage = message}); return View(manageView, breadCrumbs); }
public ActionResult All(Album album, string cp) { IDictionary<string, string> breadCrumbs = GetBreadCrumbs(album); breadCrumbs.Add("viewing all", string.Empty); List<Media> media = _mediaRepository.RetrievePhotosThatDoNotIncludePhotosFromAlbumIdAndUserId(album.AlbumId, Owner.Id); Func<List<Media>> retrieveMedia = () => (media); BySearchingView albumView = GetAlbumView(album, cp, retrieveMedia); albumView.Set = _persistentCollectionService.Set(Authorization.Owner.Username + "_AddPhotosAll_" + album.AlbumId, media, Persistence.Permanent); _persistentCollectionService.SetBackUrl(Authorization.Owner.Username + "/albums/addphotos/" + album.AlbumId, SiteCookie); albumView.PartialViewName = "All"; return View(albumView, breadCrumbs); }
/// <summary> /// Initializes a new instance of the <see cref="AlbumDecorator"/> class. /// </summary> /// <param name="album">The album.</param> public AlbumDecorator(Album album) { Album = album; }
public void Save(Album album) { string procedure = ((album.AlbumId < 1) ? "Album_Insert" : "Album_Update"); database.NonQuery(procedure, album); }
public ActionResult RemovePhotos(Album album, int[] ids) { string message = string.Empty; if (ids != null) { _albumRepository.DeletePhotosFromAlbum(album.AlbumId, ids); message = string.Format("{0} photo(s) removed.", ids.Length); } RemovePhotosFromAlbumView fromAlbumView = GetFromAlbumView(album); IDictionary<string, string> crumbs = GetRemovePhotoBreadcrumbs(album.AlbumId); fromAlbumView.UIMessage = message; return View(fromAlbumView, crumbs); }