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); }
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)); } }
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)); } }