コード例 #1
0
 /// <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)
                };
 }
コード例 #2
0
 /// <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;
 }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        /// <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;
        }
コード例 #5
0
 /// <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;
 }
コード例 #6
0
 /// <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;
 }
コード例 #7
0
 /// <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;
 }
コード例 #8
0
 /// <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)
 {
 }
コード例 #9
0
 /// <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;
 }