/// <summary> /// Implementions of IRenderManagePhotoView. /// </summary> /// <param name="user">The user.</param> /// <param name="authorization">The authorization.</param> /// <returns></returns> private IEnumerable<IRenderManagePhotoView> Implementions(Domain.Model.User user, Authorization authorization ) { return new List<IRenderManagePhotoView> { new AddTagsView(user, _tagService, authorization), new ApplyActionView(user, _tagService, authorization), new GetManagePhotoView(user, _tagService, authorization), new SearchActionView(user, _tagService, authorization) }; }
/// <summary> /// Initializes a new instance of the <see cref="ManagePhotoBase"/> class. /// </summary> /// <param name="urlService">The URL service.</param> /// <param name="user">The user.</param> /// <param name="mediaRepository">The media repository.</param> /// <param name="tagRepsitory">The tag repsitory.</param> /// <param name="paginationService">The pagination service.</param> /// <param name="authorization">The authorization.</param> protected ManagePhotoBase( IUserUrlService urlService, Domain.Model.User user, IMediaRepository mediaRepository, ITagRepository tagRepsitory, IPaginationService<Media> paginationService, Authorization authorization) { this.urlService = urlService; _paginationService = paginationService; this.tagRepsitory = tagRepsitory; this.mediaRepository = mediaRepository; this.user = user; this.authorization = authorization; }
/// <summary> /// Gets the view. /// </summary> /// <param name="viewLink">The view link.</param> /// <param name="postView">The post view.</param> /// <param name="retrieveMedia">The retrieve media.</param> /// <param name="user">The user.</param> /// <param name="authorization">The authorization.</param> /// <returns></returns> public ManagePhotosView GetView(string viewLink, ManagePhotoPostView postView, Func<List<Media>> retrieveMedia, Domain.Model.User user, Authorization authorization) { IEnumerable<IRenderManagePhotoView> photoViews = Implementions(user, authorization); IRenderManagePhotoView view = new GetManagePhotoView(user, _tagService, authorization); foreach (IRenderManagePhotoView photoView in photoViews.Where(photoView => string.Equals(photoView.ButtonName, postView.Submit, StringComparison.InvariantCultureIgnoreCase))) { view = photoView; break; } return view.RenderView(viewLink, postView, retrieveMedia); }
/// <summary> /// Gets the user navigation. /// </summary> /// <param name="authorization">The authorization.</param> /// <returns></returns> public static string GetUserNavigation(Authorization authorization) { string navigation; if (authorization.IsOwner) { const string format = @" <li><a href=""/{0}/dashboard"" >Dashboard</a></li> <li><a href=""/{0}/photos"" >Photos</a></li> <li><a href=""/{0}/albums"" >Albums</a></li> <li><a href=""/{0}/friends"" >Friends</a></li> <li><a href=""/{0}/account"" >Account</a></li> <li><a href=""/{0}/logoff"" >Sign Out</a></li>"; navigation = string.Format(format, authorization.Owner.Username); } else if (authorization.IsSignedIn) { const string format = @" <li><a href=""/{0}/recent"" >Recent</a></li> <li><a href=""/{0}/tags"" >Tags</a></li> <li><a href=""/{0}/albums"" >Albums</a></li> <li><a href=""/{1}/logoff"" >Sign Out</a></li>"; navigation = string.Format(format, authorization.Owner.Username, authorization.SignedInUser.Username); } else { const string format = @" <li><a href=""/{0}/recent"" >Recent</a></li> <li><a href=""/{0}/tags"" >Tags</a></li> <li><a href=""/{0}/albums"" >Albums</a></li>"; navigation = string.Format(format, authorization.Owner.Username); navigation += SignInHtml(); } return navigation; }
/// <summary> /// Initializes a new instance of the <see cref="ApplyActionView"/> class. /// </summary> /// <param name="user">The user.</param> /// <param name="tagService">The tag service.</param> /// <param name="authorization">The authorization.</param> public ApplyActionView(Domain.Model.User user, ITagService tagService, Authorization authorization) : base(user, authorization) { _tagService = tagService; }
/// <summary> /// Initializes a new instance of the <see cref="GetManagePhotoView"/> class. /// </summary> /// <param name="user">The user.</param> /// <param name="tagService">The tag service.</param> /// <param name="authorization">The authorization.</param> public GetManagePhotoView(Domain.Model.User user, ITagService tagService, Authorization authorization) : base(user, authorization) { _tagService = tagService; }
/// <summary> /// Sites the navigation. /// </summary> /// <param name="helper">The helper.</param> /// <param name="authorization">The authorization.</param> /// <returns></returns> public static string SiteNavigation(this HtmlHelper helper, Authorization authorization) { string navigation = UserNavigationHelper.GetUserNavigation(authorization); return navigation; }
/// <summary> /// Initializes a new instance of the <see cref="ManagePhotoBase"/> class. /// </summary> /// <param name="user">The user.</param> /// <param name="authorization">The authorization.</param> protected ManagePhotoBase(Domain.Model.User user, Authorization authorization) : this(UserUrlService.GetInstance(authorization.Owner), user, DependencyInjection.Resolve<IMediaRepository>(), DependencyInjection.Resolve<ITagRepository>(), DependencyInjection.Resolve<IPaginationService<Media>>(), authorization) { }
/// <summary> /// Initializes a new instance of the <see cref="AddTagsView"/> class. /// </summary> /// <param name="user">The user.</param> /// <param name="tagService">The tag service.</param> /// <param name="authorization">The authorization.</param> public AddTagsView(Domain.Model.User user, ITagService tagService, Authorization authorization) : base(user, authorization) { _updateTagService = DependencyInjection.Resolve<IUpdateTagsService>(); _tagService = tagService; }