示例#1
0
        public async Task <PostResponse> CreatePost(User currentUser, HomepageViewDTO homepageViewDTO)
        {
            var postResponse = new PostResponse();

            if (homepageViewDTO.CreatePost.Content is null &&
                homepageViewDTO.CreatePost.Photo is null)
            {
                postResponse.ErrorMessage = _configuration["ErrorMessages:PostErrorMessage"];
                return(postResponse);
            }

            if (homepageViewDTO.CreatePost.Content is null)
            {
                homepageViewDTO.CreatePost.Content = string.Empty;
            }

            var post = new Post
            {
                Content     = homepageViewDTO.CreatePost.Content,
                DateCreated = DateTime.Now,
                UserId      = currentUser.Id
            };

            if (homepageViewDTO.CreatePost.Photo != null)
            {
                post.PhotoContent = await homepageViewDTO.CreatePost.Photo.ConvertImageToByte();
            }

            _postRepository.CreatePost(post);
            postResponse.IsSuccesful = true;
            return(postResponse);
        }
示例#2
0
        public IActionResult HomePage()
        {
            try
            {
                var homepageViewModel = new HomepageViewDTO();

                homepageViewModel.SessionUser = _userService.GetSessionUser()
                                                .ConvertToHomepageUserDTO();

                homepageViewModel.ViewPostList = _postService.GetAllPosts()
                                                 .Select(x => x.ConvertToViewPostDTO())
                                                 .ToList();

                return(View(homepageViewModel));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
示例#3
0
        public async Task <IActionResult> CreatePost(HomepageViewDTO homepageViewDTO)
        {
            try
            {
                var currentUser = _userService.GetSessionUser();

                //fix image size problem
                var postResponse = await _postService.CreatePost(currentUser, homepageViewDTO);

                if (!postResponse.IsSuccesful)
                {
                    TempData["Error"] = postResponse.ErrorMessage;
                }

                return(RedirectToAction("HomePage", "Home"));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }