private void HandleCreate(ChatUser user, string[] parts) { if (parts.Length > 2) { throw new InvalidOperationException("Room name cannot contain spaces."); } if (parts.Length == 1) { throw new InvalidOperationException("No room specified."); } string roomName = parts[1]; if (String.IsNullOrWhiteSpace(roomName)) { throw new InvalidOperationException("No room specified."); } ChatRoom room = _repository.GetRoomByName(roomName); if (room != null) { throw new InvalidOperationException(String.Format("The room '{0}' already exists", roomName)); } // Create the room, then join it room = _chatService.AddRoom(user, roomName); JoinRoom(user, room, null); _repository.CommitChanges(); }