Beispiel #1
0
        public CreateCommentResponse Create(CreateCommentRequest request)
        {
            var validator        = validatorFactory.GetValidator();
            var validationResult = validator.Validate(request);

            if (!validationResult.IsSuccess)
            {
                return(responseCreator(validationResult, null));
            }

            Comment comment;

            using (var tran = transactionCreator.GetTransaction())
            {
                var ticket = ticketRepo.Get(request.TicketId);
                comment = commentFactory.Create(request.Body);
                ticket.Comments.Add(comment);

                ticketRepo.Update(ticket);
                commentRepo.Add(comment);

                tran.Commit();
            }

            return(responseCreator(validationResult, comment));
        }
Beispiel #2
0
        public CreateProjectResponse CreateNewProject(CreateProjectRequest request)
        {
            var validator = validatorFactory.GetValidator();
            var result    = validator.Validate(request);

            var output = result.IsSuccess ? wrapped.CreateNewProject(request) : responseFactory();

            output.ValidationResult = result;

            return(output);
        }
Beispiel #3
0
        public DeleteCommentResponse Delete(DeleteCommentRequest request)
        {
            var validator        = validatorFactory.GetValidator();
            var validationResult = validator.Validate(request);

            if (!validationResult.IsSuccess)
            {
                return(responseCreator(validationResult));
            }

            using (var tran = transactionCreator.GetTransaction())
            {
                var comment = data.Get(request.CommentId);
                comment.Ticket.Comments.Remove(comment);
                tran.Commit();
            }

            return(responseCreator(validationResult));
        }
Beispiel #4
0
        public EditCommentResponse Edit(EditCommentRequest request)
        {
            var validator        = validatorFactory.GetValidator();
            var validationResult = validator.Validate(request);

            if (!validationResult.IsSuccess)
            {
                return(responseCreator(validationResult));
            }

            using (var tran = transactionCreator.GetTransaction())
            {
                var comment = commentRepo.Get(request.CommentIdentity);
                comment.Body = request.Body;
                comment.LastEditTimestamp = environment.GetCurrentUtcTimestamp();
                commentRepo.Update(comment);
                tran.Commit();
            }

            return(responseCreator(validationResult));
        }
        IValidationResult ValidateRequest(EditTicketRequest request)
        {
            var validator = validatorFactory.GetValidator();

            return(validator.Validate(request));
        }
Beispiel #6
0
        IValidationResult ValidateRequest(CreateSprintRequest request)
        {
            var validator = validatorFactory.GetValidator();

            return(validator.Validate(request));
        }