private Post GetPostViaSqlReader(IDataReader readerSource) { var receivedPost = _postBuilder.CreatePost(Convert.ToString(readerSource["PostTitle"]), Convert.ToString(readerSource["PostContent"]), Convert.ToDateTime(readerSource["CreationDate"])); var receivedpostId = Convert.ToInt32(readerSource["PostId"]); _postBuilder.SetPostId(receivedPost, receivedpostId); return(receivedPost); }
public AnswerStatus CreatePost(PostDto postDTO) { using (var uow = _unitOfWorkFactory.Create()) { try { var postToCreate = _postBuilder.CreatePost(postDTO.PostTitle, postDTO.PostContent, postDTO.CreationDate); var blogRepository = _repositoryFactory.CreateBlogRepository(uow); var postBlog = blogRepository.GetEntityById(postDTO.RelatedTo.Id); _postBuilder.SetBlogRelatedTo(postToCreate, postBlog); var postRepository = _repositoryFactory.CreatePostRepository(uow); postRepository.CreateEntity(postToCreate); var categoryRepository = _repositoryFactory.CreateCategoryRepository(uow); if (postDTO.PostCategories != null) { foreach (var categoryDTO in postDTO.PostCategories) { var categoryToAdd = categoryRepository.GetEntityById(categoryDTO.Id); if (categoryToAdd != null) { postRepository.AddCategoryToPost(postToCreate, categoryToAdd); } } } uow.SaveChanges(); return(AnswerStatus.Successfull); } catch (Exception exc) { _logger.Log(exc.ToString()); return(AnswerStatus.Failed); } } }