Exemplo n.º 1
0
        public UserUpdateOutputData Handle(UserUpdateInputData inputData)
        {
            using var transaction = new TransactionScope();

            var id   = new UserId(inputData.Id);
            var user = userRepository.Find(id);

            if (user == null)
            {
                throw new UserNotFoundException(id);
            }

            if (inputData.Name != null)
            {
                var name = new UserName(inputData.Name);
                user.ChangeName(name);

                if (userService.Exists(user))
                {
                    throw new CanNotRegisterUserException(user, "ユーザは既に存在しています。");
                }
            }

            userRepository.Save(user);

            transaction.Complete();

            return(new UserUpdateOutputData());
        }
Exemplo n.º 2
0
        public void Put(string id, [FromBody] UserPutRequestModel request)
        {
            var inputData = new UserUpdateInputData(id, request.Name);

            bus.Handle(inputData);
        }