public async Task <NewsComment> Handle(InsertNewsCommentCommand request, CancellationToken cancellationToken)
        {
            var comment = new NewsComment
            {
                NewsItemId   = request.NewsItem.Id,
                CustomerId   = _workContext.CurrentCustomer.Id,
                StoreId      = _workContext.CurrentStore.Id,
                CommentTitle = request.Model.AddNewComment.CommentTitle,
                CommentText  = request.Model.AddNewComment.CommentText,
                CreatedOnUtc = DateTime.UtcNow,
            };

            request.NewsItem.NewsComments.Add(comment);

            //update totals
            request.NewsItem.CommentCount = request.NewsItem.NewsComments.Count;

            await _newsService.UpdateNews(request.NewsItem);

            await _customerService.UpdateContributions(_workContext.CurrentCustomer);

            //notify a store owner;
            if (_newsSettings.NotifyAboutNewNewsComments)
            {
                await _messageProviderService.SendNewsCommentMessage(request.NewsItem, comment, _languageSettings.DefaultAdminLanguageId);
            }

            return(comment);
        }