Ejemplo n.º 1
0
        public async Task <bool> AddCommentToPostAsync(ClaimsPrincipal user, CommentBindingModel model)
        {
            var dbPost = await this.unitOfWork.Posts.GetByIdAsync(model.SourceId);

            if (dbPost == null)
            {
                return(false);
            }

            var dbUserId  = this.userManager.GetUserId(user);
            var dbComment = this.commentMapper.MapComment(dbPost.Id, model.Description, dbUserId);

            this.unitOfWork.Comments.Add(dbComment);
            var rowsAffected = await unitOfWork.CompleteAsync();

            return(UnitOfWorkValidator.IsUnitOfWorkCompletedSuccessfully(rowsAffected));
        }
Ejemplo n.º 2
0
        public async Task <bool> CreatePostAsync(ClaimsPrincipal user, PostCreationBindingModel model)
        {
            var dbSubreddit = await this.redditCloneUnitOfWork.Subreddits
                              .GetByIdAsync(model.SelectedSubredditId);

            if (dbSubreddit == null)
            {
                return(false);
            }

            var dbUserId = this.userManager.GetUserId(user);
            var dbPost   = this.postMapper.MapPost(model, dbUserId);

            redditCloneUnitOfWork.Posts.Add(dbPost);
            var rowsAffected = await redditCloneUnitOfWork.CompleteAsync();

            return(UnitOfWorkValidator.IsUnitOfWorkCompletedSuccessfully(rowsAffected));
        }