Esempio n. 1
0
        public void Edit(Models.Comment existingComment, string body)
        {
            if (!_validationProvider.HasErrors)
            {
                existingComment.Body = body;

                _repository.Save();
            }
        }
Esempio n. 2
0
        public void Delete(string commentId)
        {
            if (!_validationProvider.HasErrors)
            {
                var removedComment = new Models.Comment();

                AllComments.Remove(commentId, out removedComment);
            }
        }
Esempio n. 3
0
        public void Add(Models.Comment comment)
        {
            _validationProvider.Validate(comment);

            if (!_validationProvider.HasErrors)
            {
                if (comment.OriginalCommentId.HasValue)
                {
                    var originalComment = _repository.GetAll().BuildComment()
                                          .Single(x => x.Id == comment.OriginalCommentId.Value);

                    originalComment.Replies.Add(comment);
                }

                _repository.Add(comment);
            }
        }
Esempio n. 4
0
        public void Add(Models.Comment comment)
        {
            _validationProvider.Validate(comment);

            if (!_validationProvider.HasErrors)
            {
                if (comment.OriginalComment != null)
                {
                    var originalComment = AllComments.GetValueOrDefault(comment.OriginalComment.Id);

                    comment.OriginalComment = originalComment;
                }

                comment.Audio.Comments.Add(comment);

                AllComments.TryAdd(comment.Id, comment);
                _commentStream.OnNext(comment);
            }
        }
Esempio n. 5
0
        public override object MutateAndGetPayload(MutationInputs inputs, ResolveFieldContext <object> context)
        {
            var body = inputs.Get <string>("body");
            var originalCommentId = inputs.Get <int?>("originalCommentId");
            var audioId           = inputs.Get <int>("audioId");
            var user    = context.UserContext.As <Context>().CurrentUser;
            var comment = new Models.Comment
            {
                UserId            = user.Id,
                Body              = body,
                AudioId           = audioId,
                OriginalCommentId = originalCommentId
            };

            _commentService.Add(comment);

            return(new
            {
                comment
            });
        }