public async Task <IActionResult> Create(int articleId, CommentCreateInputModel input)
        {
            var userId         = this.User.GetId();
            var createdComment = await this.commentService.CreateAsynk <CommentCreateViewModel>(input, userId, articleId);

            return(this.Created($"comments/{createdComment.Id}", createdComment));
        }
Exemple #2
0
        public async Task <IActionResult> Create(CommentCreateInputModel input)
        {
            var isValidContent = true;

            if (string.IsNullOrEmpty(input.Content) || string.IsNullOrWhiteSpace(input.Content))
            {
                isValidContent = false;
                this.TempData["CommentContentError"] = ContentLengthError;
            }
            else if (input.Content.Length < AttributesConstraints.CommentContentMinLength ||
                     input.Content.Length > AttributesConstraints.CommentContentMaxLength)
            {
                isValidContent = false;
                this.TempData["CommentContentError"] = ContentLengthError;
            }

            if (!this.ModelState.IsValid || !isValidContent)
            {
                return(this.RedirectToAction("Details", "Recipes", new { id = input.RecipeId }));
            }

            var userId = this.userManager.GetUserId(this.User);

            if (input.CommentId == null)
            {
                await this.commentsService.CreateAsync(input.RecipeId, userId, input.Content);
            }
            else
            {
                await this.commentsService.AddReplyToCommentAsync(input.CommentId, userId, input.Content);
            }

            return(this.RedirectToAction("Details", "Recipes", new { id = input.RecipeId }));
        }
        public async Task <T> CreateAsynk <T>(CommentCreateInputModel model, string userId, string articleName)
        {
            var articleId = this.articleRepository
                            .AllAsNoTracking()
                            .Where(x => x.Name == articleName)
                            .Select(x => x.Id)
                            .FirstOrDefault();

            var comment = new Comment
            {
                Content   = model.Content,
                ArticleId = articleId,
                AuthorId  = userId,
            };

            this.commentRepository.Add(comment);
            await this.commentRepository.SaveChangesAsync();

            var createdComment = await this.commentRepository
                                 .AllAsNoTracking()
                                 .Where(x => x.Id == comment.Id)
                                 .To <T>()
                                 .SingleAsync();

            return(createdComment);
        }
        public async Task <IActionResult> Create(CommentCreateInputModel inputModel)
        {
            var userId = this.userManager.GetUserId(this.User);

            await this.commentsService.Create(inputModel.BookId, inputModel.Content, userId);

            return(this.RedirectToAction("ById", "Books", new { id = inputModel.BookId }));
        }
Exemple #5
0
        private IActionResult AllWithInputModel(CommentCreateInputModel inputModel)
        {
            var defaultCvId = _cvService.GetId();
            var viewModel   = new AllCommentsViewModel
            {
                Comments   = _commentsService.GetAll <CommentViewModel>(defaultCvId),
                InputModel = inputModel
            };

            return(View("All", viewModel));
        }
        public async Task <IActionResult> Create(CommentCreateInputModel input)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Details", "Assignments", new { id = input.AssignmentId }));
            }

            input.CreatedOn = DateTime.UtcNow;

            var comment = input.To <CommentCreateDto>();

            await this.commentsService.CreateAsync(comment);

            return(RedirectToAction("Details", "Assignments", new { id = input.AssignmentId }));
        }
        public async Task <IActionResult> Create(CommentCreateInputModel input)
        {
            // Making sure the 0 value becomes null for the database to accept it.
            var parentId = input.ParentId == 0 ? null : input.ParentId;

            if (parentId.HasValue)
            {
                if (!this.commentsService.IsInPostId(parentId, input.PostId))
                {
                    return(this.BadRequest());
                }
            }

            var userId = this.userManager.GetUserId(this.User);

            await this.commentsService.CreateAsync(input.PostId, input.Content, userId, parentId);

            return(this.RedirectToAction("ById", "Posts", new { id = input.PostId }));
        }
        public async Task <IActionResult> Create(CommentCreateInputModel input)
        {
            var parentId =
                input.ParentId == 0 ?
                (int?)null :
                input.ParentId;

            if (parentId.HasValue)
            {
                if (!this.commentsService.IsInNewsId(parentId.Value, input.NewsId))
                {
                    return(this.BadRequest());
                }
            }

            var userId = this.userManager.GetUserId(this.User);

            await this.commentsService.Create(input.NewsId, userId, input.Content, parentId);

            return(this.RedirectToAction("NewsById", "History", new { id = input.NewsId }));
        }
        public async Task <IActionResult> Create(CommentCreateInputModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(input));
            }

            var parrentId = input.ParentId == 0 ? (int?)null : input.ParentId;

            if (parrentId.HasValue)
            {
                if (!this.commentsService.IsInCompanyId(parrentId.Value, input.CompanyId))
                {
                    return(this.BadRequest());
                }
            }

            var userId    = this.userManager.GetUserId(this.User);
            var commentId = await this.commentsService.CreateAsync(input.Content, userId, input.CompanyId, input.Rating, parrentId);

            return(this.RedirectToAction("Details", "Companies", new { id = input.CompanyId }));
        }