public async Task <ServiceResponse <int> > PostJobCandidates(JobCandidates jobCandidates) { var response = new ServiceResponse <int>(); try { var jobCandidate = _context.RecruitCare.FirstOrDefault(x => x.jobid == jobCandidates.jobid && x.email == jobCandidates.email); if (jobCandidate != null) { response.Message = $"Candidate already exist in Recruit care for job {jobCandidate.jobid}, Please move from Recruit care"; response.Success = false; return(response); } jobCandidates.createdBy = LoggedInUser; jobCandidates.createdDate = DateTime.UtcNow; _context.JobCandidates.Add(jobCandidates); await _context.SaveChangesAsync(); response.Success = true; response.Data = jobCandidates.id; response.Message = "Added Successfully"; } catch (Exception ex) { response.Success = false; response.Message = ex.InnerException != null && ex.InnerException.Message.IndexOf("duplicate") > 0 ? "Candidate already added" : ex.Message.IndexOf("duplicate") > 0 ? "Candidate already added" : ex.Message; } return(response); }
public async Task <ServiceResponse <int> > PutJobCandidates(int id, JobCandidates jobCandidates) { var response = new ServiceResponse <int>(); try { if (id != jobCandidates.id) { response.Success = false; response.Message = "Invalid Candidate"; return(response); } var job = _context.JobCandidates.Find(id); if (job == null) { response.Success = false; response.Message = "Candidate details not found"; return(response); } if (User.Identity.IsAuthenticated) { var identity = User.Identity as ClaimsIdentity; if (identity != null) { IEnumerable <Claim> claims = identity.Claims; } } jobCandidates.modifiedBy = LoggedInUser; jobCandidates.modifiedDate = DateTime.UtcNow; _context.Entry(job).CurrentValues.SetValues(jobCandidates); await _context.SaveChangesAsync(); response.Success = true; response.Message = "Update success"; response.Data = job.id; } catch (DbUpdateConcurrencyException ex) { if (!JobCandidatesExists(id)) { response.Success = false; response.Message = "Invalid Candidate"; return(response); } else { response.Success = false; response.Message = await CustomLog.Log(ex, _context); return(response); } } return(response); }