Ejemplo n.º 1
0
        public async Task <IActionResult> CommentOnPost(ReturnPostVM forComment)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (user == null)
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                if (!ModelState.IsValid)
                {
                    var returnedPost = await CreatePostVM(forComment.PostId);

                    return(RedirectToAction("Index", new { returnedPost.PostId }));
                }

                var post = await _postService.GetPost(forComment.PostId);

                forComment.addComment.UserFullName = user.FirstName + " " + user.LastName;
                forComment.addComment.Post         = post;
                forComment.addComment.ImagePath    = user.ProfilePhoto;
                var comment = PostMappers.MapCommentVMToComment(forComment.addComment);
                await _commentService.AddComment(comment);

                var returnPost = await CreatePostVM(forComment.PostId);

                return(RedirectToAction("Index", new { returnPost.PostId }));
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Approve(string postId)
        {
            var post = await _postService.GetPost(postId);

            var approvePostVM = PostMappers.ConvertToOtherPostVM(post);

            return(View(approvePostVM));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Edit(string postId)
        {
            var post = await _postService.GetPost(postId);

            var editedPostVM = PostMappers.ConvertToOtherPostVM(post);

            return(View("EditPost", editedPostVM));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Index()
        {
            var allPostsMain = await _postService.GetAllPosts();

            var approvedPosts = allPostsMain.Where(post => post.ApprovalState == true);
            var allPostsVM    = PostMappers.ReturnAllPosts(approvedPosts);

            return(View(allPostsVM));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> Edit(OtherPostActivitiesPostVM postToUpdate)
        {
            var post = await _postService.GetPost(postToUpdate.PostId);

            var assignEditedData = PostMappers.MapToEditedPostView(post, postToUpdate);
            var edit             = await _postService.EditPost(post);

            return(RedirectToAction("Editor", "Editor"));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Helper method to create the post details model
        /// </summary>
        /// <param name="postId"></param>
        /// <returns></returns>
        public async Task <ReturnPostVM> CreatePostVM(string postId)
        {
            var post = await _postService.GetPost(postId);

            var recentPosts = await _postService.GetMostRecentPost();

            var returnPost = PostMappers.ReturnPosts(post, recentPosts);

            return(returnPost);
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> Editor()
        {
            var CurrentUser = await _userManager.GetUserAsync(HttpContext.User);

            var allPostsMain = await _postService.GetAllPosts();

            var editorPsts = allPostsMain.Where(post => post.PostCreator == CurrentUser);
            var allPostsVM = PostMappers.ReturnAllPosts(editorPsts);

            allPostsVM.UserDetails = UserMapper.MapToBlogUserVM(CurrentUser);
            return(View("Editor", allPostsVM));
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Gets the Admin dashboard
        /// </summary>
        /// <returns></returns>
        public async Task <IActionResult> Index()
        {
            var CurrentUser = await _userManager.GetUserAsync(HttpContext.User);

            var users = _userManager.Users;
            var listUsersViewModel = UserMapper.BlogUserViewModels(users);
            var allPostsMain       = await _postService.GetAllPosts();

            var allPostsVM = PostMappers.ReturnAllPosts(allPostsMain);
            var allData    = UserMapper.ReturnAdminDataRequirements(allPostsVM.AllSinglePosts, listUsersViewModel);

            allData.UserDetails = UserMapper.MapToBlogUserVM(CurrentUser);
            return(View(allData));
        }
Ejemplo n.º 9
0
        public async Task <IActionResult> AddPost(AddPostVM model)
        {
            if (!ModelState.IsValid)
            {
                var post = await CreateAddPostVM();

                return(View(post));
            }
            else
            {
                var user = await _userManager.GetUserAsync(HttpContext.User);

                var postToAdd = PostMappers.AddPostToVM(model);
                var imagepath = _imageProcessorService.ImageUpload(model);
                postToAdd.ImagePath   = imagepath;
                postToAdd.PostCreator = user;
                await _postService.AddPost(postToAdd);

                return(RedirectToAction("Index", new { postToAdd.PostId }));
            }
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> LikePost(ReturnPostVM postToLike)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (user == null)
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                if (!ModelState.IsValid)
                {
                    var returnedPost = await CreatePostVM(postToLike.PostId);

                    return(RedirectToAction("Index", new { returnedPost.PostId }));
                }

                var allLikes = await _likeService.GetAllLikes();

                var checkNonRepeat = allLikes.Any(like => like.LikedPost.PostId == postToLike.PostId && like.UserWhoLiked == user);
                if (checkNonRepeat)
                {
                    var returnPost = await CreatePostVM(postToLike.PostId);

                    return(View("Index", returnPost));
                }
                else
                {
                    var post = await _postService.GetPost(postToLike.PostId);

                    var Like = PostMappers.AddLike(post, user); //Change to getuser method and remove Blogit.models namespace.
                    await _likeService.LikePost(Like);

                    var returnPost = await CreatePostVM(postToLike.PostId);

                    return(RedirectToAction("Index", new { returnPost.PostId }));
                }
            }
        }