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)); }
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); }
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)); }
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)); }
IValidationResult ValidateRequest(CreateSprintRequest request) { var validator = validatorFactory.GetValidator(); return(validator.Validate(request)); }