public async Task <AddNoticeBoardThreadResponse> AddNoticeBoardThread(AddNoticeBoardThreadRequest request) { if (request == null) { throw new InvalidNoticeBoardRequestException("Invalid AddNoticeBoardRequest object"); } if (request.ThreadTitle.IsNullOrEmpty()) { throw new InvalidThreadTitleException("The thread title cannot be null or empty"); } if (request.ThreadContent.IsNullOrEmpty()) { throw new InvalidThreadContentException("The thread content cannot be null or empty"); } if (request.UserId <= 0) { throw new InvalidUserIdException("UserID is invalid"); } return(await _noticeBoardRepository.AddNoticeBoardThread(request)); }