public UserRequest Save(UserRequest user) { try { if (IsUserAlreadyRegistered(user)) { AddErrorMessage("User already registered"); return(null); } User userEntity = _userFactory.Convert(user); if (!userEntity.IsValid()) { userEntity.ValidationResult.Errors.ToList().ForEach(error => AddErrorMessage(error.ErrorMessage)); return(null); } _userRepository.Register(userEntity); user.Id = userEntity.Id; return(user); } catch (Exception ex) { AddErrorMessage(ex.Message); return(null); } }