public IActionResult ApplyJobPost(ApplyJobPostDTO model) { var user = _userService.GetUserById(model.UserId); if (string.IsNullOrEmpty(user.Id)) { return(OK(StatusCodeType.USER_NOTFOUND, StatusMessage.USER_NOTFOUND, false)); } if (user.ResponseCVDTO == null) { return(OK(StatusCodeType.CV_NOTFOUND, StatusMessage.CV_NOTFOUND, false)); } var jobPost = _jobPostService.GetJobPostById(model.JobPostId); if (string.IsNullOrEmpty(jobPost.Id)) { return(OK(StatusCodeType.JOBPOST_NOTFOUND, StatusMessage.JOBPOST_NOTFOUND, false)); } var hasApplyUser = _jobPostService.AnyApplyUser(model); if (hasApplyUser) { return(OK(StatusCodeType.ALREADY_HASJOBPOST, StatusMessage.ALREADY_HASJOBPOST, false)); } var response = _jobPostService.ApplyJobPost(model); if (string.IsNullOrEmpty(response.Id)) { return(OK(StatusCodeType.HAS_EXCEPTION, StatusMessage.HAS_EXCEPTION, false)); } return(OK(StatusCodeType.SUCCESS, StatusMessage.SUCCESS, response)); }
public ResponseJobPostDTO ApplyJobPost(ApplyJobPostDTO applyJobPostDTO) { var responseJobPostDTO = new ResponseJobPostDTO(); if (applyJobPostDTO != null) { var jobPost = _jobPostRepository.GetFilter(x => x.Id == applyJobPostDTO.JobPostId); if (jobPost.Result != null) { jobPost.Result.ApplyUsers.Add(applyJobPostDTO.UserId); _jobPostRepository.Update(jobPost.Result); responseJobPostDTO = _mapper.Map <ResponseJobPostDTO>(jobPost.Result); } } return(responseJobPostDTO); }
public bool AnyApplyUser(ApplyJobPostDTO applyJobPostDTO) { if (applyJobPostDTO == null) { return(false); } var response = _jobPostRepository.GetFilter(x => x.Id == applyJobPostDTO.JobPostId && x.ApplyUsers.Contains(applyJobPostDTO.UserId)); if (response.Result == null) { return(false); } return(true); }