public CircleUpdateOutputData Handle(CircleUpdateInputData inputData) { using var transaction = new TransactionScope(); var id = new CircleId(inputData.Id); var circle = circleRepository.Find(id); if (circle == null) { throw new CircleNotFoundException(id); } if (inputData.Name != null) { var name = new CircleName(inputData.Name); circle.ChangeName(name); if (circleService.Exists(circle)) { throw new CanNotRegisterCircleException(circle, "이미 등록된 서클임"); } } circleRepository.Save(circle); transaction.Complete(); return(new CircleUpdateOutputData()); }
public void Put(string id, [FromBody] CirclePutRequestModel request) { var command = new CircleUpdateInputData(id, request.Name); bus.Handle(command); }